diff --git a/.env.example b/.env.example index ab3781400..17d0b2d37 100644 --- a/.env.example +++ b/.env.example @@ -19,7 +19,10 @@ BROADCAST_DRIVER=log CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_CONNECTION=sync + LOG_CHANNEL=stack +LOG_DEPRECATIONS_CHANNEL=null +LOG_LEVEL=debug MAIL_MAILER=mail MAIL_HOST=localhost @@ -33,3 +36,6 @@ MAIL_FROM_ADDRESS=null FIREWALL_ENABLED=false MODEL_CACHE_ENABLED=false + +DEBUGBAR_EDITOR=vscode +IGNITION_EDITOR=vscode diff --git a/.git-ftp-ignore b/.git-ftp-ignore new file mode 100644 index 000000000..907ef8b94 --- /dev/null +++ b/.git-ftp-ignore @@ -0,0 +1,14 @@ +.gitignore +.gitattributes +.git-ftp-ignore +.git-ftp-include +.git-ftp-log +.gitlab-ci.yml +.ftpquota +.git/* +.github/* +.public/js/* +.vendor/* +.node_modules/* + +composer.lock diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9e9e29341..3168d5f1e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,7 +1,7 @@ name: Tests on: - push: + push: pull_request: schedule: - cron: '0 0 * * *' @@ -15,7 +15,7 @@ jobs: strategy: matrix: - php: ['7.3', '7.4'] + php: ['8.0', '8.1'] steps: - name: Checkout code diff --git a/.gitignore b/.gitignore index 57a2d9411..224f38185 100644 --- a/.gitignore +++ b/.gitignore @@ -85,7 +85,6 @@ Homestead.json Homestead.yaml npm-debug.log .env -.env.example robots.txt _ide_helper.php _ide_helper_models.php @@ -95,3 +94,4 @@ _ide_helper_models.php modules/* !modules/.gitkeep .laravelstatsrc +.DS_Store diff --git a/README.md b/README.md index 85c2f67b3..82b389b97 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Tests](https://img.shields.io/github/workflow/status/akaunting/akaunting/Tests?label=tests)](https://github.com/akaunting/akaunting/actions) [![License](https://img.shields.io/github/license/akaunting/akaunting?label=license)](LICENSE.txt) -Akaunting is a free, open source and online accounting software designed for small businesses and freelancers. It is built with modern technologies such as Laravel, VueJS, Bootstrap 4, RESTful API etc. Thanks to its modular structure, Akaunting provides an awesome App Store for users and developers. +Akaunting is a free, open source and online accounting software designed for small businesses and freelancers. It is built with modern technologies such as Laravel, VueJS, Tailwind, RESTful API etc. Thanks to its modular structure, Akaunting provides an awesome App Store for users and developers. * [Home](https://akaunting.com) - The house of Akaunting * [Forum](https://akaunting.com/forum) - Ask for support @@ -17,7 +17,7 @@ Akaunting is a free, open source and online accounting software designed for sma ## Requirements -* PHP 7.3 or higher +* PHP 8.0 or higher * Database (eg: MySQL, PostgreSQL, SQLite) * Web Server (eg: Apache, Nginx, IIS) * [Other libraries](https://akaunting.com/docs/requirements) @@ -65,16 +65,6 @@ Please review [our security policy](https://github.com/akaunting/akaunting/secur * [Cüneyt Şentürk](https://github.com/cuneytsenturk) * [All Contributors](../../contributors) -## Partners - -Each of our partners can help you craft a beautiful, well-architected project. Feel free to get in [contact](https://akaunting.com/contact) with us to become a partner. - -* [Creative Tim](https://www.creative-tim.com) is our design partner since Akaunting 2.0 version. They create beautiful UI Kits, Templates, and Dashboards built on top of Bootstrap, Vue.js, React, Angular, Node.js, and Laravel. - -## Sponsors - -Support Akaunting by becoming a sponsor on [Patreon](https://www.patreon.com/akaunting). Your logo will show up here with a link to your website. - ## License Akaunting is released under the [GPLv3 license](LICENSE.txt). diff --git a/app/Abstracts/BulkAction.php b/app/Abstracts/BulkAction.php index 4aeb91894..3f49455c4 100644 --- a/app/Abstracts/BulkAction.php +++ b/app/Abstracts/BulkAction.php @@ -18,28 +18,54 @@ abstract class BulkAction public $model = false; public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-common-items', + 'enable' => [ + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-common-items', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-common-items', + 'disable' => [ + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-common-items', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-common-items', + 'delete' => [ + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-common-items', ], - 'export' => [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download' + 'export' => [ + 'name' => 'general.export', + 'message' => 'bulk_actions.message.export', + 'type' => 'download' ], ]; + public $icons = [ + 'enable' => 'check_circle', + 'disable' => 'hide_source', + 'delete' => 'delete', + 'export' => 'file_download', + 'reconcile' => 'published_with_changes', + 'unreconcile' => 'layers_clear', + 'received' => 'call_received', + 'cancelled' => 'cancel', + 'sent' => 'send', + 'approved' => 'approval', + 'refused' => 'do_not_disturb_on', + 'issued' => 'mark_email_read', + 'confirmed' => 'thumb_up_alt', + ]; + + public $messages = [ + 'general' => 'bulk_actions.success.general', + 'enable' => 'messages.success.enabled', + 'disable' => 'messages.success.disabled', + 'delete' => 'messages.success.deleted', + 'duplicate' => 'messages.success.duplicated', + 'invite' => 'messages.success.invited', + 'end' => 'messages.success.ended', + ]; + public function getSelectedRecords($request, $relationships = null) { if (empty($relationships)) { diff --git a/app/Abstracts/Factory.php b/app/Abstracts/Factory.php index c01afcf90..179226337 100644 --- a/app/Abstracts/Factory.php +++ b/app/Abstracts/Factory.php @@ -5,6 +5,7 @@ namespace App\Abstracts; use App\Models\Auth\User; use App\Models\Common\Company; use App\Traits\Jobs; +use Closure; use Illuminate\Database\Eloquent\Factories\Factory as BaseFactory; use Illuminate\Database\Eloquent\Model as EloquentModel; @@ -28,16 +29,46 @@ abstract class Factory extends BaseFactory config(['mail.default' => 'array']); - $this->user = User::first(); - $this->company = $this->user->companies()->first(); + // TODO: this location was put to make US | for "gmail.co.uk" issue + $this->faker = \Faker\Factory::create(); - company($this->company->id)->makeCurrent(); + $this->setUser(); + + $this->setCompany(); + } + + public function getCompanyUsers(): array + { + return $this->company->users()->enabled()->get()->pluck('id')->toArray(); + } + + public function company(int $id): static + { + return $this->state([ + 'company_id' => $id, + ]); + } + + public function setUser(): void + { + $this->user = User::first(); + } + + public function setCompany(): void + { + $company_id = $this->getRawAttribute('company_id'); + + $this->company = !empty($company_id) ? Company::find($company_id) : $this->user->companies()->first(); + + $this->company->makeCurrent(); app('url')->defaults(['company_id' => company_id()]); } - public function getCompanyUsers() + public function getRawAttribute($key) { - return $this->company->users()->enabled()->get()->pluck('id')->toArray(); + $raw = $this->state([])->getExpandedAttributes(null); + + return $raw[$key] ?? null; } } diff --git a/app/Abstracts/Http/ApiController.php b/app/Abstracts/Http/ApiController.php index e84ad0cef..075f2573c 100644 --- a/app/Abstracts/Http/ApiController.php +++ b/app/Abstracts/Http/ApiController.php @@ -5,16 +5,18 @@ namespace App\Abstracts\Http; use App\Traits\Jobs; use App\Traits\Permissions; use App\Traits\Relationships; -use Dingo\Api\Exception\ResourceException; -use Dingo\Api\Routing\Helpers; +use App\Exceptions\Http\Resource as ResourceException; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Validation\ValidatesRequests; +use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Routing\Controller as BaseController; +use Symfony\Component\HttpKernel\Exception\HttpException; abstract class ApiController extends BaseController { - use AuthorizesRequests, Jobs, Helpers, Permissions, Relationships, ValidatesRequests; + use AuthorizesRequests, Jobs, Permissions, Relationships, ValidatesRequests; /** * Instantiate a new controller instance. @@ -39,4 +41,146 @@ abstract class ApiController extends BaseController return redirect()->to($this->getRedirectUrl())->withInput($request->input())->withErrors($errors, $this->errorBag()); } + + /** + * Respond with a location and a created resource. + * + * @param string $location + * @param object $resource + * + * @return \Illuminate\Http\JsonResponse + */ + public function created($location, $resource): JsonResponse + { + return $resource + ->response() + ->setStatusCode(201) + ->header('Location', $location); + } + + /** + * Respond with a location and an accepted resource. + * + * @param string $location + * @param object $resource + * + * @return \Illuminate\Http\JsonResponse + */ + public function accepted($location, $resource): JsonResponse + { + return $resource + ->response() + ->setStatusCode(202) + ->header('Location', $location); + } + + /** + * Respond with empty content. + * + * @return \Illuminate\Http\Response + */ + public function noContent(): Response + { + return (new Response) + ->setStatusCode(204); + } + + /** + * Return an error response. + * + * @param string $message + * @param int $statusCode + * + * @throws \Symfony\Component\HttpKernel\Exception\HttpException + * + * @return void + */ + public function error($message, $statusCode) + { + throw new HttpException($statusCode, $message); + } + + /** + * Return a 404 not found error. + * + * @param string $message + * + * @throws \Symfony\Component\HttpKernel\Exception\HttpException + * + * @return void + */ + public function errorNotFound($message = 'Not Found') + { + $this->error($message, 404); + } + + /** + * Return a 400 bad request error. + * + * @param string $message + * + * @throws \Symfony\Component\HttpKernel\Exception\HttpException + * + * @return void + */ + public function errorBadRequest($message = 'Bad Request') + { + $this->error($message, 400); + } + + /** + * Return a 403 forbidden error. + * + * @param string $message + * + * @throws \Symfony\Component\HttpKernel\Exception\HttpException + * + * @return void + */ + public function errorForbidden($message = 'Forbidden') + { + $this->error($message, 403); + } + + /** + * Return a 500 internal server error. + * + * @param string $message + * + * @throws \Symfony\Component\HttpKernel\Exception\HttpException + * + * @return void + */ + public function errorInternal($message = 'Internal Error') + { + $this->error($message, 500); + } + + /** + * Return a 401 unauthorized error. + * + * @param string $message + * + * @throws \Symfony\Component\HttpKernel\Exception\HttpException + * + * @return void + */ + public function errorUnauthorized($message = 'Unauthorized') + { + $this->error($message, 401); + } + + /** + * Return a 405 method not allowed error. + * + * @param string $message + * + * @throws \Symfony\Component\HttpKernel\Exception\HttpException + * + * @return void + */ + public function errorMethodNotAllowed($message = 'Method Not Allowed') + { + $this->error($message, 405); + } } diff --git a/app/Abstracts/Http/FormRequest.php b/app/Abstracts/Http/FormRequest.php index 1cd0b505b..1d5b6ac43 100644 --- a/app/Abstracts/Http/FormRequest.php +++ b/app/Abstracts/Http/FormRequest.php @@ -25,7 +25,7 @@ abstract class FormRequest extends BaseFormRequest * @param string $offset * @return bool */ - public function offsetExists($offset) + public function offsetExists($offset): bool { return Arr::has( $this->route() ? $this->all() + $this->route()->parameters() : $this->all(), diff --git a/app/Abstracts/Http/PaymentController.php b/app/Abstracts/Http/PaymentController.php index 157429b49..d903dbfa3 100644 --- a/app/Abstracts/Http/PaymentController.php +++ b/app/Abstracts/Http/PaymentController.php @@ -41,16 +41,18 @@ abstract class PaymentController extends BaseController }); } - public function show(Document $invoice, PaymentRequest $request) + public function show(Document $invoice, PaymentRequest $request, $cards = []) { $this->setContactFirstLastName($invoice); $confirm_url = $this->getConfirmUrl($invoice); - $html = view('partials.portal.payment_method.' . $this->type, [ + $html = view('components.payment_method.' . $this->type, [ 'setting' => $this->setting, 'invoice' => $invoice, 'confirm_url' => $confirm_url, + 'store_card' => !empty($this->setting['store_card']) ? true : false, + 'cards' => $cards, ])->render(); return response()->json([ @@ -101,15 +103,15 @@ abstract class PaymentController extends BaseController flash($message)->success(); - $invoice_url = $this->getInvoiceUrl($invoice); + $finish_url = $this->getFinishUrl($invoice); if ($force_redirect || ($this->type == 'redirect')) { - return redirect($invoice_url); + return redirect($finish_url); } return response()->json([ 'error' => $message, - 'redirect' => $invoice_url, + 'redirect' => $finish_url, 'success' => true, 'data' => false, ]); @@ -122,6 +124,13 @@ abstract class PaymentController extends BaseController : URL::signedRoute('signed.invoices.show', [$invoice->id]); } + public function getFinishUrl($invoice) + { + return request()->isPortal($invoice->company_id) + ? route('portal.invoices.finish', $invoice->id) + : URL::signedRoute('signed.invoices.finish', [$invoice->id]); + } + public function getConfirmUrl($invoice) { return $this->getModuleUrl($invoice, 'confirm'); diff --git a/app/Abstracts/Http/SettingController.php b/app/Abstracts/Http/SettingController.php new file mode 100644 index 000000000..cc0dfbc74 --- /dev/null +++ b/app/Abstracts/Http/SettingController.php @@ -0,0 +1,161 @@ +all(); + $prefix = $request->get('_prefix', 'general'); + $company_id = $request->get('company_id'); + + if (empty($company_id)) { + $company_id = company_id(); + } + + $company = Company::find($company_id); + + $total_companies = Company::count(); + + foreach ($fields as $key => $value) { + $real_key = $prefix . '.' . $key; + + // Don't process unwanted keys + if (in_array($key, $this->skip_keys)) { + continue; + } + + // change dropzone middleware already uploaded file + if (in_array($real_key, $this->uploaded_file_keys)) { + continue; + } + + // Process file uploads + if (in_array($real_key, $this->file_keys)) { + // Upload attachment + if ($request->file($key)) { + $media = $this->getMedia($request->file($key), 'settings'); + + $company->attachMedia($media, Str::snake($real_key)); + + $value = $media->id; + } + + // Prevent reset + if (empty($value)) { + continue; + } + } + + if ($real_key == 'default.locale') { + if (!in_array($value, config('language.allowed'))) { + continue; + } + + user()->setAttribute('locale', $value)->save(); + } + + if ($real_key == 'default.currency') { + $currencies = Currency::enabled()->pluck('code')->toArray(); + + if (!in_array($value, $currencies)) { + continue; + } + + $currency = Currency::code($value)->first(); + $currency->rate = '1'; + $currency->save(); + } + + // If only 1 company + if ($total_companies == 1) { + $this->oneCompany($real_key, $value); + } + + setting()->set($real_key, $value); + } + + // Save all settings + setting()->save(); + + $message = trans('messages.success.updated', ['type' => trans_choice('general.settings', 2)]); + + $redirect_url = !empty($this->redirect_route) ? route($this->redirect_route) : url()->previous(); + + $response = [ + 'status' => null, + 'success' => true, + 'error' => false, + 'message' => $message, + 'data' => null, + 'redirect' => $redirect_url, + ]; + + flash($message)->success(); + + return response()->json($response); + } + + protected function oneCompany($real_key, $value) + { + switch ($real_key) { + case 'company.name': + Installer::updateEnv(['MAIL_FROM_NAME' => '"' . $value . '"']); + break; + case 'company.email': + Installer::updateEnv(['MAIL_FROM_ADDRESS' => '"' . $value . '"']); + break; + case 'default.locale': + Installer::updateEnv(['APP_LOCALE' => '"' . $value . '"']); + break; + case 'schedule.time': + Installer::updateEnv(['APP_SCHEDULE_TIME' => '"' . $value . '"']); + break; + case 'email.protocol': + Installer::updateEnv(['MAIL_MAILER' => '"' . $value . '"']); + break; + case 'email.smtp_host': + Installer::updateEnv(['MAIL_HOST' => '"' . $value . '"']); + break; + case 'email.smtp_port': + Installer::updateEnv(['MAIL_PORT' => '"' . $value . '"']); + break; + case 'email.smtp_username': + Installer::updateEnv(['MAIL_USERNAME' => '"' . $value . '"']); + break; + case 'email.smtp_password': + Installer::updateEnv(['MAIL_PASSWORD' => '"' . $value . '"']); + break; + case 'email.smtp_encryption': + Installer::updateEnv(['MAIL_ENCRYPTION' => '"' . $value . '"']); + break; + } + } +} diff --git a/app/Abstracts/Listeners/Report.php b/app/Abstracts/Listeners/Report.php index 12cd95e2a..eee1f4715 100644 --- a/app/Abstracts/Listeners/Report.php +++ b/app/Abstracts/Listeners/Report.php @@ -84,7 +84,7 @@ abstract class Report public function getCategories($types, $limit = false) { - $model = Category::type($types)->orderBy('name'); + $model = Category::withSubCategory()->type($types)->orderBy('name'); if ($limit !== false) { $model->take(setting('default.select_limit')); @@ -183,14 +183,69 @@ abstract class Report public function setRowNamesAndValues($event, $rows) { + $nodes = []; + foreach ($event->class->dates as $date) { - foreach ($event->class->tables as $table) { + foreach ($event->class->tables as $table_key => $table_name) { foreach ($rows as $id => $name) { - $event->class->row_names[$table][$id] = $name; - $event->class->row_values[$table][$id][$date] = 0; + $event->class->row_names[$table_key][$id] = $name; + $event->class->row_values[$table_key][$id][$date] = 0; + + $nodes[$id] = null; } } } + + $this->setTreeNodes($event, $nodes); + } + + public function setTreeNodes($event, $nodes) + { + foreach ($event->class->tables as $table_key => $table_name) { + foreach ($nodes as $id => $node) { + $event->class->row_tree_nodes[$table_key][$id] = $node; + } + } + } + + public function getCategoriesNodes($categories) + { + $nodes = []; + + foreach ($categories as $id => $name) { + $category = Category::withSubCategory()->find($id); + + if (!is_null($category->parent_id)) { + unset($categories[$id]); + + continue; + } + + $nodes[$id] = $this->getSubCategories($category); + } + + return $nodes; + } + + public function getSubCategories($category) + { + if ($category->sub_categories->count() == 0) { + return null; + } + + $sub_categories = []; + + foreach ($category->sub_categories as $sub_category) { + $sub_category->load('sub_categories'); + + $sub_categories[$sub_category->id] = $this->getSubCategories($sub_category); + } + + if (!empty($sub_categories)) { + $sub_categories[$category->id] = null; + } + + return $sub_categories; } public function getFormattedDate($event, $date) diff --git a/app/Abstracts/Livewire/Document.php b/app/Abstracts/Livewire/Document.php deleted file mode 100644 index 481faf6ab..000000000 --- a/app/Abstracts/Livewire/Document.php +++ /dev/null @@ -1,1208 +0,0 @@ -type = $type; - $this->imageEmptyPage = $this->getImageEmptyPage($type, $imageEmptyPage); - $this->textEmptyPage = $this->getTextEmptyPage($type, $textEmptyPage); - $this->textPage = $this->getTextPage($type, $textPage); - $this->textTitle = $this->getTextTitle($type, $textTitle); - $this->urlDocsPath = $this->getUrlDocsPath($type, $urlDocsPath); - $this->hideEmptyPage = $hideEmptyPage; - - /* -- Top Buttons Start -- */ - $this->checkPermissionCreate = $checkPermissionCreate; - - $this->createRoute = $this->getCreateRoute($type, $createRoute); - $this->importRoute = $this->getImportRoute($importRoute); - $this->importRouteParameters = $this->getImportRouteParameters($type, $importRouteParameters); - $this->exportRoute = $this->getExportRoute($type, $exportRoute); - - $this->hideCreate = $hideCreate; - $this->hideImport = $hideImport; - $this->hideExport = $hideExport; - /* -- Top Buttons End -- */ - - /* -- Card Header Start -- */ - $this->textBulkAction = $this->getTextBulkAction($type, $textBulkAction); - $this->bulkActionClass = $bulkActionClass; - $this->bulkActions = $this->getBulkActions($type, $bulkActions, $bulkActionClass); - - $this->bulkActionRouteParameters = $this->getBulkActionRouteParameters($type, $bulkActionRouteParameters); - - $this->formCardHeaderRoute = $this->getRoute($type, $formCardHeaderRoute); - - $this->searchStringModel = $this->getSearchStringModel($type, $searchStringModel); - - $this->hideBulkAction = $hideBulkAction; - $this->hideSearchString = $hideSearchString; - /* -- Card Header End -- */ - - /* -- Card Body Start -- */ - $this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber); - $this->textContactName = $this->getTextContactName($type, $textContactName); - $this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); - $this->textDueAt = $this->getTextDueAt($type, $textDueAt); - $this->textDocumentStatus = $this->getTextDocumentStatus($type, $textDocumentStatus); - - $this->checkButtonReconciled = $checkButtonReconciled; - $this->checkButtonCancelled = $checkButtonCancelled; - - $this->routeButtonShow = $this->getRouteButtonShow($type, $routeButtonShow); - $this->routeButtonEdit = $this->getRouteButtonEdit($type, $routeButtonEdit); - $this->routeButtonDuplicate = $this->getRouteButtonDuplicate($type, $routeButtonDuplicate); - $this->routeButtonCancelled = $this->getRouteButtonCancelled($type, $routeButtonCancelled); - $this->routeButtonDelete = $this->getRouteButtonDelete($type, $routeButtonDelete); - - $this->textModalDelete = $this->getTextModalDelete($type, $textModalDelete); - $this->valueModalDelete = $valueModalDelete; - - $this->hideBulkAction = $hideBulkAction; - $this->hideDocumentNumber = $hideDocumentNumber; - $this->hideContactName = $hideContactName; - $this->hideAmount = $hideAmount; - $this->hideIssuedAt = $hideIssuedAt; - $this->hideDueAt = $hideDueAt; - $this->hideStatus = $hideStatus; - $this->hideActions = $hideActions; - - $this->class_count = 12; - - $this->calculateClass(); - - $this->classBulkAction = $this->getClassBulkAction($type, $classBulkAction); - $this->classDocumentNumber = $this->getClassDocumentNumber($type, $classDocumentNumber); - $this->classContactName = $this->getClassContactName($type, $classContactName); - $this->classAmount = $this->getClassAmount($type, $classAmount); - $this->classIssuedAt = $this->getClassIssuedAt($type, $classIssuedAt); - $this->classDueAt = $this->getClassDueAt($type, $classDueAt); - $this->classStatus = $this->getClassStatus($type, $classStatus); - $this->classActions = $this->getClassActions($type, $classActions); - - $this->hideButtonShow = $hideButtonShow; - $this->hideButtonEdit = $hideButtonEdit; - $this->hideButtonDuplicate = $hideButtonDuplicate; - $this->hideButtonCancel = $hideButtonCancel; - $this->hideButtonDelete = $hideButtonDelete; - - $this->permissionCreate = $this->getPermissionCreate($type, $permissionCreate); - $this->permissionUpdate = $this->getPermissionUpdate($type, $permissionUpdate); - $this->permissionDelete = $this->getPermissionDelete($type, $permissionDelete); - /* -- Card Body End -- */ - - $this->limits = ($limits) ? $limits : ['10' => '10', '25' => '25', '50' => '50', '100' => '100']; - } - - protected function getImageEmptyPage($type, $imageEmptyPage) - { - if (!empty($imageEmptyPage)) { - return $imageEmptyPage; - } - - $image_empty_page = config('type.' . $type . '.image_empty_page'); - - if (!empty($image_empty_page)) { - return $image_empty_page; - } - - $page = str_replace('-', '_', config('type.' . $type . '.route.prefix', 'invoices')); - $image_path = 'public/img/empty_pages/' . $page . '.png'; - - if ($alias = config('type.' . $type . '.alias')) { - $image_path = 'modules/' . Str::studly($alias) . '/Resources/assets/img/empty_pages/' . $page . '.png'; - } - - return $image_path; - } - - protected function getTextEmptyPage($type, $textEmptyPage) - { - if (!empty($textEmptyPage)) { - return $textEmptyPage; - } - - $page = str_replace('-', '_', config('type.' . $type . '.route.prefix', 'invoices')); - - $translation = $this->getTextFromConfig($type, 'empty_page', 'empty.' . $page); - - if (!empty($translation)) { - return $translation; - } - - return 'general.empty.' . $page; - } - - protected function getUrlDocsPath($type, $urlDocsPath) - { - if (!empty($urlDocsPath)) { - return $urlDocsPath; - } - - $docs_path = config('type.' . $type . '.docs_path'); - - if (!empty($docs_path)) { - return $docs_path; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $docsPath = 'purchases/bills'; - break; - default: - $docsPath = 'sales/invoices'; - break; - } - - return 'https://akaunting.com/docs/user-manual/' . $docsPath; - } - - protected function getTextTitle($type, $textTitle) - { - if (!empty($textTitle)) { - return $textTitle; - } - - $page = str_replace('-', '_', config('type.' . $type . '.route.prefix', 'invoices')); - - $translation = $this->getTextFromConfig($type, 'title', $page); - - if (!empty($translation)) { - return $translation; - } - - return 'general.' . $page; - } - - protected function getTextPage($type, $textPage) - { - if (!empty($textPage)) { - return $textPage; - } - - $page = str_replace('-', '_', config('type.' . $type . '.route.prefix', 'invoices')); - - $translation = $this->getTextFromConfig($type, 'page', $page); - - if (!empty($translation)) { - return $translation; - } - - return 'general.' . $page; - } - - protected function getCreateRoute($type, $createRoute) - { - if (!empty($createRoute)) { - return $createRoute; - } - - $route = $this->getRouteFromConfig($type, 'create'); - - if (!empty($route)) { - return $route; - } - - return 'invoices.create'; - } - - protected function getImportRoute($importRoute) - { - if (!empty($importRoute)) { - return $importRoute; - } - - $route = 'import.create'; - - return $route; - } - - protected function getImportRouteParameters($type, $importRouteParameters) - { - if (!empty($importRouteParameters)) { - return $importRouteParameters; - } - - $route = $this->getRouteFromConfig($type, 'import'); - - $alias = config('type.' . $type . '.alias'); - $group = config('type.' . $type . '.group'); - - if (empty($group) && !empty($alias)){ - $group = $alias; - } else if (empty($group) && empty($alias)) { - $group = 'sales'; - } - - $importRouteParameters = [ - 'group' => $group, - 'type' => config('type.' . $type . '.route.prefix'), - 'route' => ($route) ? $route : 'invoices.import', - ]; - - return $importRouteParameters; - } - - protected function getExportRoute($type, $exportRoute) - { - if (!empty($exportRoute)) { - return $exportRoute; - } - - $route = $this->getRouteFromConfig($type, 'export'); - - if (!empty($route)) { - return $route; - } - - return 'invoices.export'; - } - - protected function getRoute($type, $formCardHeaderRoute) - { - if (!empty($formCardHeaderRoute)) { - return $formCardHeaderRoute; - } - - $route = $this->getRouteFromConfig($type, 'index'); - - if (!empty($route)) { - return $route; - } - - return 'invoices.index'; - } - - protected function getSearchStringModel($type, $searchStringModel) - { - if (!empty($searchStringModel)) { - return $searchStringModel; - } - - $search_string_model = config('type.' . $type . '.search_string_model'); - - if (!empty($search_string_model)) { - return $search_string_model; - } - - if ($group = config('type.' . $type . '.group')) { - $group = Str::studly(Str::singular($group)) . '\\'; - } - - $prefix = Str::studly(Str::singular(config('type.' . $type . '.route.prefix'))); - - if ($alias = config('type.' . $type . '.alias')) { - $searchStringModel = 'Modules\\' . Str::studly($alias) .'\Models\\' . $group . $prefix; - } else { - $searchStringModel = 'App\Models\\' . $group . $prefix; - } - - return $searchStringModel; - } - - protected function getTextBulkAction($type, $textBulkAction) - { - if (!empty($textBulkAction)) { - return $textBulkAction; - } - - $default_key = config('type.' . $type . '.translation.prefix'); - - $translation = $this->getTextFromConfig($type, 'bulk_action', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.invoices'; - } - - protected function getBulkActions($type, $bulkActions, $bulkActionClass) - { - if (!empty($bulkActions)) { - return $bulkActions; - } - - $bulk_actions = config('type.' . $type . '.bulk_actions'); - - if (!empty($bulk_actions)) { - return $bulk_actions; - } - - $file_name = ''; - - if ($group = config('type.' . $type . '.group')) { - $file_name .= Str::studly($group) . '\\'; - } - - if ($prefix = config('type.' . $type . '.route.prefix')) { - $file_name .= Str::studly($prefix); - } - - if ($alias = config('type.' . $type . '.alias')) { - $module = module($alias); - - if (!$module instanceof Module) { - $b = new \stdClass(); - $b->actions = []; - - event(new BulkActionsAdding($b)); - - return $b->actions; - } - - $bulkActionClass = 'Modules\\' . $module->getStudlyName() . '\BulkActions\\' . $file_name; - } else { - $bulkActionClass = 'App\BulkActions\\' . $file_name; - } - - if (class_exists($bulkActionClass)) { - event(new BulkActionsAdding(app($bulkActionClass))); - - $bulkActions = app($bulkActionClass)->actions; - } else { - $b = new \stdClass(); - $b->actions = []; - - event(new BulkActionsAdding($b)); - - $bulkActions = $b->actions; - } - - return $bulkActions; - } - - protected function getBulkActionRouteParameters($type, $bulkActionRouteParameters) - { - if (!empty($bulkActionRouteParameters)) { - return $bulkActionRouteParameters; - } - - $group = config('type.' . $type . '.group'); - - if (!empty(config('type.' . $type . '.alias'))) { - $group = config('type.' . $type . '.alias'); - } - - $bulkActionRouteParameters = [ - 'group' => $group, - 'type' => config('type.' . $type . '.route.prefix') - ]; - - return $bulkActionRouteParameters; - } - - protected function getClassBulkAction($type, $classBulkAction) - { - if (!empty($classBulkAction)) { - return $classBulkAction; - } - - $class = $this->getClassFromConfig($type, 'bulk_action'); - - if (!empty($class)) { - return $class; - } - - return 'col-sm-2 col-md-1 col-lg-1 col-xl-1 d-none d-sm-block'; - } - - protected function getTextDocumentNumber($type, $textDocumentNumber) - { - if (!empty($textDocumentNumber)) { - return $textDocumentNumber; - } - - $translation = $this->getTextFromConfig($type, 'document_number', 'numbers'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.numbers'; - } - - protected function getClassDocumentNumber($type, $classDocumentNumber) - { - if (!empty($classDocumentNumber)) { - return $classDocumentNumber; - } - - if ($classDocumentNumber = $this->getClass('classDocumentNumber')) { - return $classDocumentNumber; - } - - $class = $this->getClassFromConfig($type, 'document_number'); - - if (!empty($class)) { - return $class; - } - - return 'col-md-3 col-lg-2 col-xl-2 d-none d-md-block'; - } - - protected function getTextContactName($type, $textContactName) - { - if (!empty($textContactName)) { - return $textContactName; - } - - $default_key = Str::plural(config('type.' . $type . '.contact_type'), 2); - - $translation = $this->getTextFromConfig($type, 'contact_name', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.customers'; - } - - protected function getClassContactName($type, $classContactName) - { - if (!empty($classContactName)) { - return $classContactName; - } - - if ($classContactName = $this->getClass('classContactName')) { - return $classContactName; - } - - $class = $this->getClassFromConfig($type, 'contact_name'); - - if (!empty($class)) { - return $class; - } - - return 'col-xs-4 col-sm-4 col-md-4 col-lg-2 col-xl-2 text-left'; - } - - protected function getClassAmount($type, $classAmount) - { - if (!empty($classAmount)) { - return $classAmount; - } - - if ($classAmount = $this->getClass('classAmount')) { - return $classAmount; - } - - $class = $this->getClassFromConfig($type, 'amount'); - - if (!empty($class)) { - return $class; - } - - return 'col-xs-4 col-sm-4 col-md-3 col-lg-2 col-xl-2 text-right'; - } - - protected function getTextIssuedAt($type, $textIssuedAt) - { - if (!empty($textIssuedAt)) { - return $textIssuedAt; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_date'; - break; - default: - $default_key = 'invoice_date'; - break; - } - - $translation = $this->getTextFromConfig($type, 'issued_at', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.invoice_date'; - } - - protected function getClassIssuedAt($type, $classIssuedAt) - { - if (!empty($classIssuedAt)) { - return $classIssuedAt; - } - - if ($classIssuedAt = $this->getClass('classIssuedAt')) { - return $classIssuedAt; - } - - $class = $this->getClassFromConfig($type, 'issued_at'); - - if (!empty($class)) { - return $class; - } - - return 'col-lg-2 col-xl-2 d-none d-lg-block text-left'; - } - - protected function getTextDueAt($type, $textDueAt) - { - if (!empty($textDueAt)) { - return $textDueAt; - } - - $translation = $this->getTextFromConfig($type, 'due_at', 'due_date'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.due_date'; - } - - protected function getClassDueAt($type, $classDueAt) - { - if (!empty($classDueAt)) { - return $classDueAt; - } - - $class = $this->getClassFromConfig($type, 'due_at'); - - if (!empty($class)) { - return $class; - } - - if ($classDueAt = $this->getClass('classDueAt')) { - return $classDueAt; - } - - return 'col-lg-2 col-xl-2 d-none d-lg-block text-left'; - } - - protected function getTextDocumentStatus($type, $textDocumentStatus) - { - if (!empty($textDocumentStatus)) { - return $textDocumentStatus; - } - - $translation = $this->getTextFromConfig($type, 'document_status', 'statuses.'); - - if (!empty($translation)) { - return $translation; - } - - $alias = config('type.' . $type . '.alias'); - - if (!empty($alias)) { - $translation = $alias . '::' . config('type.' . $type . '.translation.prefix') . '.statuses'; - - if (is_array(trans($translation))) { - return $translation . '.'; - } - } - - return 'documents.statuses.'; - } - - protected function getClassStatus($type, $classStatus) - { - if (!empty($classStatus)) { - return $classStatus; - } - - if ($classStatus = $this->getClass('classStatus')) { - return $classStatus; - } - - $class = $this->getClassFromConfig($type, 'status'); - - if (!empty($class)) { - return $class; - } - - return 'col-lg-1 col-xl-1 d-none d-lg-block text-center'; - } - - protected function getClassActions($type, $classActions) - { - if (!empty($classActions)) { - return $classActions; - } - - if ($classActions = $this->getClass('classActions')) { - return $classActions; - } - - $class = $this->getClassFromConfig($type, 'actions'); - - if (!empty($class)) { - return $class; - } - - return 'col-xs-4 col-sm-2 col-md-2 col-lg-1 col-xl-1 text-center'; - } - - protected function getRouteButtonShow($type, $routeButtonShow) - { - if (!empty($routeButtonShow)) { - return $routeButtonShow; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'show', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.show'; - } - - protected function getRouteButtonEdit($type, $routeButtonEdit) - { - if (!empty($routeButtonEdit)) { - return $routeButtonEdit; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'edit', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.edit'; - } - - protected function getRouteButtonDuplicate($type, $routeButtonDuplicate) - { - if (!empty($routeButtonDuplicate)) { - return $routeButtonDuplicate; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'duplicate', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.duplicate'; - } - - protected function getRouteButtonCancelled($type, $routeButtonCancelled) - { - if (!empty($routeButtonCancelled)) { - return $routeButtonCancelled; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'cancelled', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.cancelled'; - } - - protected function getRouteButtonDelete($type, $routeButtonDelete) - { - if (!empty($routeButtonDelete)) { - return $routeButtonDelete; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'destroy', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.destroy'; - } - - protected function getTextModalDelete($type, $textModalDelete) - { - if (!empty($textModalDelete)) { - return $textModalDelete; - } - - if ($alias = config('type.' . $type . '.alias')) { - return $alias . '::general.' . Str::plural(str_replace('-', '_', $type)); - } - - return ''; - } - - protected function getPermissionCreate($type, $permissionCreate) - { - if (!empty($permissionCreate)) { - return $permissionCreate; - } - - $permissionCreate = $this->getPermissionFromConfig($type, 'create'); - - return $permissionCreate; - } - - protected function getPermissionUpdate($type, $permissionUpdate) - { - if (!empty($permissionUpdate)) { - return $permissionUpdate; - } - - $permissionUpdate = $this->getPermissionFromConfig($type, 'update'); - - return $permissionUpdate; - } - - protected function getPermissionDelete($type, $permissionDelete) - { - if (!empty($permissionDelete)) { - return $permissionDelete; - } - - $permissionDelete = $this->getPermissionFromConfig($type, 'delete'); - - return $permissionDelete; - } - - protected function calculateClass() - { - $hides = [ - 'BulkAction' => '1', - 'DocumentNumber' => '1', - 'ContactName' => '2', - 'Amount' => '2', - 'IssuedAt' => '2', - 'DueAt' => '2', - 'Status' => '1', - 'Actions' => '1', - ]; - - foreach ($hides as $hide => $count) { - if ($this->{'hide'. $hide}) { - $this->class_count -= $count; - } - } - } - - protected function getClass($type) - { - $hide_count = 12 - $this->class_count; - - if (empty($hide_count)) { - //return false; - } - - $class = false; - - switch($type) { - case 'classDocumentNumber': - switch ($hide_count) { - case 1: - $class = 'col-md-3 col-lg-2 col-xl-2 d-none d-md-block'; - $this->class_count++; - break; - case 2: - $class = 'col-md-4 col-lg-3 col-xl-3 d-none d-md-block'; - $this->class_count += 2; - break; - case 3: - $class = 'col-md-5 col-lg-4 col-xl-4 d-none d-md-block'; - $this->class_count += 3; - break; - } - } - - return $class; - } - - public function getTextFromConfig($type, $config_key, $default_key = '', $trans_type = 'trans') - { - $translation = ''; - - // if set config translation config_key - if ($translation = config('type.' . $type . '.translation.' . $config_key)) { - return $translation; - } - - $alias = config('type.' . $type . '.alias'); - $prefix = config('type.' . $type . '.translation.prefix'); - - if (!empty($alias)) { - $alias .= '::'; - } - - // This magic trans key.. - $translations = [ - 'general' => $alias . 'general.' . $default_key, - 'prefix' => $alias . $prefix . '.' . $default_key, - 'config_general' => $alias . 'general.' . $config_key, - 'config_prefix' => $alias . $prefix . '.' . $config_key, - ]; - - switch ($trans_type) { - case 'trans': - foreach ($translations as $trans) { - if (trans($trans) !== $trans) { - return $trans; - } - } - - break; - case 'trans_choice': - foreach ($translations as $trans_choice) { - if (trans_choice($trans_choice, 1) !== $trans_choice) { - return $trans_choice; - } - } - - break; - } - - return $translation; - } - - public function getRouteFromConfig($type, $config_key, $config_parameters = []) - { - $route = ''; - - // if set config trasnlation config_key - if ($route = config('type.' . $type . '.route.' . $config_key)) { - return $route; - } - - $alias = config('type.' . $type . '.alias'); - $prefix = config('type.' . $type . '.route.prefix'); - - // if use module set module alias - if (!empty($alias)) { - $route .= $alias . '.'; - } - - if (!empty($prefix)) { - $route .= $prefix . '.'; - } - - $route .= $config_key; - - try { - route($route, $config_parameters); - } catch (\Exception $e) { - try { - $route = Str::plural($type, 2) . '.' . $config_key; - - route($route, $config_parameters); - } catch (\Exception $e) { - $route = ''; - } - } - - return $route; - } - - public function getPermissionFromConfig($type, $config_key) - { - $permission = ''; - - // if set config trasnlation config_key - if ($permission = config('type.' . $type . '.permission.' . $config_key)) { - return $permission; - } - - $alias = config('type.' . $type . '.alias'); - $group = config('type.' . $type . '.group'); - $prefix = config('type.' . $type . '.permission.prefix'); - - $permission = $config_key . '-'; - - // if use module set module alias - if (!empty($alias)) { - $permission .= $alias . '-'; - } - - // if controller in folder it must - if (!empty($group)) { - $permission .= $group . '-'; - } - - $permission .= $prefix; - - return $permission; - } - - public function getHideFromConfig($type, $config_key) - { - $hide = false; - - $hides = config('type.' . $type . '.hide'); - - if (!empty($hides) && (in_array($config_key, $hides))) { - $hide = true; - } - - return $hide; - } - - public function getClassFromConfig($type, $config_key) - { - $class_key = 'type.' . $type . '.class.' . $config_key; - - return config($class_key, ''); - } - - public function getCategoryFromConfig($type) - { - $category_type = ''; - - // if set config trasnlation config_key - if ($category_type = config('type.' . $type . '.category_type')) { - return $category_type; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $category_type = 'expense'; - break; - case 'item': - $category_type = 'item'; - break; - case 'other': - $category_type = 'other'; - break; - case 'transfer': - $category_type = 'transfer'; - break; - default: - $category_type = 'income'; - break; - } - - return $category_type; - } -} diff --git a/app/Abstracts/Model.php b/app/Abstracts/Model.php index 76fc5950a..2d9b81761 100644 --- a/app/Abstracts/Model.php +++ b/app/Abstracts/Model.php @@ -2,6 +2,7 @@ namespace App\Abstracts; +use Akaunting\Sortable\Traits\Sortable; use App\Events\Common\SearchStringApplied; use App\Events\Common\SearchStringApplying; use App\Traits\DateTime; @@ -9,9 +10,9 @@ use App\Traits\Owners; use App\Traits\Sources; use App\Traits\Tenants; use GeneaLabs\LaravelModelCaching\Traits\Cachable; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model as Eloquent; use Illuminate\Database\Eloquent\SoftDeletes; -use Kyslik\ColumnSortable\Sortable; use Laratrust\Contracts\Ownable; use Lorisleiva\LaravelSearchString\Concerns\SearchString; @@ -30,30 +31,18 @@ abstract class Model extends Eloquent implements Ownable public $allAttributes = []; /** - * Create a new Eloquent model instance. + * Fill the model with an array of attributes. * * @param array $attributes - * @return void + * @return $this + * + * @throws \Illuminate\Database\Eloquent\MassAssignmentException */ - public function __construct(array $attributes = []) + public function fill(array $attributes) { $this->allAttributes = $attributes; - parent::__construct($attributes); - } - - /** - * Update the model in the database. - * - * @param array $attributes - * @param array $options - * @return bool - */ - public function update(array $attributes = [], array $options = []) - { - $this->allAttributes = $attributes; - - return parent::update($attributes, $options); + return parent::fill($attributes); } /** @@ -231,6 +220,16 @@ abstract class Model extends Eloquent implements Ownable return $query->where($this->qualifyColumn('created_by'), '<>', user_id()); } + public function scopeIsRecurring(Builder $query): Builder + { + return $query->where($this->qualifyColumn('type'), 'like', '%-recurring'); + } + + public function scopeIsNotRecurring(Builder $query): Builder + { + return $query->where($this->qualifyColumn('type'), 'not like', '%-recurring'); + } + public function ownerKey($owner) { if ($this->isNotOwnable()) { diff --git a/app/Abstracts/Notification.php b/app/Abstracts/Notification.php index 36ff85072..cd3e23788 100644 --- a/app/Abstracts/Notification.php +++ b/app/Abstracts/Notification.php @@ -6,11 +6,19 @@ use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Notification as BaseNotification; +use Illuminate\Support\Str; abstract class Notification extends BaseNotification implements ShouldQueue { use Queueable; + /** + * Custom mail subject, body, etc. + * + * @var array + */ + public $custom_mail; + /** * Create a notification instance. */ @@ -33,31 +41,38 @@ abstract class Notification extends BaseNotification implements ShouldQueue /** * Initialise the mail representation of the notification. * - * @return \Illuminate\Notifications\Messages\MailMessage */ - public function initMessage() + public function initMailMessage(): MailMessage { app('url')->defaults(['company_id' => company_id()]); $message = (new MailMessage) ->from(config('mail.from.address'), config('mail.from.name')) ->subject($this->getSubject()) - ->view('partials.email.body', ['body' => $this->getBody()]); + ->view('components.email.body', ['body' => $this->getBody()]); + + if (!empty($this->custom_mail['cc'])) { + $message->cc($this->custom_mail['cc']); + } return $message; } - public function getSubject() + public function getSubject(): string { - return $this->replaceTags($this->template->subject); + return !empty($this->custom_mail['subject']) + ? $this->custom_mail['subject'] + : $this->replaceTags($this->template->subject); } public function getBody() { - return $this->replaceTags($this->template->body); + $body = !empty($this->custom_mail['body']) ? $this->custom_mail['body'] : $this->replaceTags($this->template->body); + + return $body . $this->getFooter(); } - public function replaceTags($content) + public function replaceTags(string $content): string { $pattern = $this->getTagsPattern(); $replacement = $this->applyQuote($this->getTagsReplacement()); @@ -65,7 +80,16 @@ abstract class Notification extends BaseNotification implements ShouldQueue return $this->revertQuote(preg_replace($pattern, $replacement, $content)); } - public function getTagsPattern() + public function getFooter() + { + $url = 'https://akaunting.com/lp/accounting-software?utm_source=email&utm_medium=software&utm_campaign=footer&utm_content=' . $this->template->alias; + + $get_started = '' . trans('footer.get_started') . ''; + + return view('components.email.footer', compact('url', 'get_started')); + } + + public function getTagsPattern(): array { $pattern = []; @@ -76,17 +100,35 @@ abstract class Notification extends BaseNotification implements ShouldQueue return $pattern; } - public function getTags() + public function getTags(): array { return []; } - public function getTagsReplacement() + public function getTagsReplacement(): array { return []; } - public function applyQuote($vars) + public function getTagsBinding(): array + { + $bindings = []; + + $tags = $this->getTags(); + $replacements = $this->getTagsReplacement(); + + $wrappers = ['{', '}']; + + foreach ($tags as $index => $tag) { + $key = Str::replace($wrappers, '', $tag); + + $bindings[$key] = $replacements[$index]; + } + + return $bindings; + } + + public function applyQuote(array $vars): array { $new_vars = []; @@ -97,8 +139,16 @@ abstract class Notification extends BaseNotification implements ShouldQueue return $new_vars; } - public function revertQuote($content) + public function revertQuote(string $content): string { return str_replace('\\', '', $content); } + + /** + * @deprecated 3.0 + */ + public function initMessage() + { + return $this->initMailMessage(); + } } diff --git a/app/Abstracts/Observer.php b/app/Abstracts/Observer.php index a6edc2c59..c10b0db37 100644 --- a/app/Abstracts/Observer.php +++ b/app/Abstracts/Observer.php @@ -2,9 +2,9 @@ namespace App\Abstracts; -use Monooso\Unobserve\CanMute; +use Akaunting\MutableObserver\Traits\Mutable; abstract class Observer { - use CanMute; + use Mutable; } diff --git a/app/Abstracts/Report.php b/app/Abstracts/Report.php index 7f7046f21..66324dc26 100644 --- a/app/Abstracts/Report.php +++ b/app/Abstracts/Report.php @@ -2,6 +2,7 @@ namespace App\Abstracts; +use Akaunting\Apexcharts\Charts as Apexcharts; use App\Events\Report\DataLoaded; use App\Events\Report\DataLoading; use App\Events\Report\FilterApplying; @@ -12,17 +13,18 @@ use App\Events\Report\RowsShowing; use App\Exports\Common\Reports as Export; use App\Models\Common\Report as Model; use App\Models\Document\Document; +use App\Models\Setting\Category; use App\Traits\Charts; use App\Traits\DateTime; use App\Traits\SearchString; -use App\Utilities\Chartjs; +use App\Traits\Translations; use App\Utilities\Date; use App\Utilities\Export as ExportHelper; use Illuminate\Support\Str; abstract class Report { - use Charts, DateTime, SearchString; + use Charts, DateTime, SearchString, Translations; public $model; @@ -30,7 +32,9 @@ abstract class Report public $category = 'reports.income_expense'; - public $icon = 'fa fa-chart-pie'; + public $icon = 'donut_small'; + + public $type = 'detail'; public $has_money = true; @@ -53,23 +57,21 @@ abstract class Report public $loaded = false; public $chart = [ - 'line' => [ - 'width' => '0', - 'height' => '300', - 'options' => [ - 'color' => '#6da252', - 'legend' => [ - 'display' => false, - ], + 'bar' => [ + 'colors' => [ + '#6da252', ], ], - 'dates' => [], - 'datasets' => [], + 'donut' => [ + // + ], ]; public $column_name_width = 'report-column-name'; public $column_value_width = 'report-column-value'; + public $row_tree_nodes = []; + public function __construct(Model $model = null, $load_data = true) { $this->setGroups(); @@ -126,6 +128,18 @@ abstract class Report return trans($this->category); } + public function getCategoryDescription() + { + if (!empty($this->category_description)) { + return trans($this->category_description); + } + + return $this->findTranslation([ + $this->category . '_desc', + $this->category . '_description', + ]); + } + public function getIcon() { return $this->icon; @@ -152,47 +166,77 @@ abstract class Report return $total; } - public function getChart() + public function getCharts($table_key) { - $chart = new Chartjs(); + return [ + 'bar' => $this->getBarChart($table_key), + 'donut' => $this->getDonutChart($table_key), + ]; + } - if (!$type = $this->getSetting('chart')) { + public function getBarChart($table_key) + { + $chart = new Apexcharts(); + + if (empty($this->chart)) { return $chart; } - $config = $this->chart[$type]; + $options = !empty($this->chart[$table_key]) ? $this->chart[$table_key]['bar'] : $this->chart['bar']; - $default_options = $this->getLineChartOptions(); + $chart->setType('bar') + ->setOptions($options) + ->setLabels(array_values($this->dates)) + ->setDataset($this->tables[$table_key], 'column', array_values($this->footer_totals[$table_key])); - $options = array_merge($default_options, (array) $config['options']); + return $chart; + } - $chart->type($type) - ->width((int) $config['width']) - ->height((int) $config['height']) - ->options($options) - ->labels(!empty($config['dates']) ? array_values($config['dates']) : array_values($this->dates)); + public function getDonutChart($table_key) + { + $chart = new Apexcharts(); - if (!empty($config['datasets'])) { - foreach ($config['datasets'] as $dataset) { - $chart->dataset($dataset['name'], 'line', array_values($dataset['totals'])) - ->backgroundColor(isset($dataset['backgroundColor']) ? $dataset['backgroundColor'] : '#6da252') - ->color(isset($dataset['color']) ? $dataset['color'] : '#6da252') - ->options((array) $dataset['options']) - ->fill(false); - } - } else { - foreach ($this->footer_totals as $total) { - $chart->dataset($this->model->name, 'line', array_values($total)) - ->backgroundColor(isset($config['backgroundColor']) ? $config['backgroundColor'] : '#6da252') - ->color(isset($config['color']) ? $config['color'] : '#6da252') - ->options([ - 'borderWidth' => 4, - 'pointStyle' => 'line', - ]) - ->fill(false); + if (empty($this->chart)) { + return $chart; + } + + $tmp_values = []; + + if (! empty($this->row_values[$table_key])) { + foreach ($this->row_values[$table_key] as $id => $dates) { + $tmp_values[$id] = 0; + + foreach ($dates as $date) { + $tmp_values[$id] += $date; + } } } + $tmp_values = collect($tmp_values)->sort()->reverse()->take(10)->all(); + + $total = array_sum($tmp_values); + $total = !empty($total) ? $total : 1; + + $group = $this->getSetting('group'); + + $labels = $colors = $values = []; + + foreach ($tmp_values as $id => $value) { + $labels[$id] = $this->row_names[$table_key][$id]; + + $colors[$id] = ($group == 'category') ? Category::find($id)?->color : '#' . dechex(rand(0x000000, 0xFFFFFF)); + + $values[$id] = round(($value * 100 / $total), 0); + } + + $options = !empty($this->chart[$table_key]) ? $this->chart[$table_key]['donut'] : $this->chart['donut']; + + $chart->setType('donut') + ->setOptions($options) + ->setLabels(array_values($labels)) + ->setColors(array_values($colors)) + ->setDataset($this->tables[$table_key], 'donut', array_values($values)); + return $chart; } @@ -208,7 +252,7 @@ abstract class Report public function export() { - return ExportHelper::toExcel(new Export($this->views['content'], $this), $this->model->name); + return ExportHelper::toExcel(new Export($this->views[$this->type], $this), $this->model->name); } public function setColumnWidth() @@ -221,10 +265,10 @@ abstract class Report switch ($period) { case 'quarterly': - $width = 'col-sm-2'; + $width = 'w-2/12 col-2'; break; case 'yearly': - $width = 'col-sm-4'; + $width = 'w-4/12 col-4'; break; } @@ -243,31 +287,41 @@ abstract class Report public function setViews() { $this->views = [ - 'chart' => 'partials.reports.chart', - 'content' => 'partials.reports.content', - 'content.header' => 'partials.reports.content.header', - 'content.footer' => 'partials.reports.content.footer', - 'show' => 'partials.reports.show', - 'header' => 'partials.reports.header', - 'filter' => 'partials.reports.filter', - 'print' => 'partials.reports.print', - 'table' => 'partials.reports.table', - 'table.footer' => 'partials.reports.table.footer', - 'table.header' => 'partials.reports.table.header', - 'table.rows' => 'partials.reports.table.rows', + 'show' => 'components.reports.show', + 'print' => 'components.reports.print', + 'filter' => 'components.reports.filter', + + 'detail' => 'components.reports.detail', + 'detail.content.header' => 'components.reports.detail.content.header', + 'detail.content.footer' => 'components.reports.detail.content.footer', + 'detail.table' => 'components.reports.detail.table', + 'detail.table.header' => 'components.reports.detail.table.header', + 'detail.table.body' => 'components.reports.detail.table.body', + 'detail.table.row' => 'components.reports.detail.table.row', + 'detail.table.footer' => 'components.reports.detail.table.footer', + + 'summary' => 'components.reports.summary', + 'summary.content.header' => 'components.reports.summary.content.header', + 'summary.content.footer' => 'components.reports.summary.content.footer', + 'summary.table' => 'components.reports.summary.table', + 'summary.table.header' => 'components.reports.summary.table.header', + 'summary.table.body' => 'components.reports.summary.table.body', + 'summary.table.row' => 'components.reports.summary.table.row', + 'summary.table.footer' => 'components.reports.summary.table.footer', + 'summary.chart' => 'components.reports.summary.chart', ]; } public function setTables() { $this->tables = [ - 'default' => 'default', + 'default' => trans_choice('general.totals', 1), ]; } public function setDates() { - if (!$period = $this->getSetting('period')) { + if (! $period = $this->getSetting('period')) { return; } @@ -299,8 +353,8 @@ abstract class Report $this->dates[] = $date; - foreach ($this->tables as $table) { - $this->footer_totals[$table][$date] = 0; + foreach ($this->tables as $table_key => $table_name) { + $this->footer_totals[$table_key][$date] = 0; } } } @@ -498,13 +552,17 @@ abstract class Report return $this->model->settings->$name ?? $default; } + public function getBasis() + { + return $this->getSearchStringValue('basis', $this->getSetting('basis')); + } + public function getFields() { return [ $this->getGroupField(), $this->getPeriodField(), $this->getBasisField(), - $this->getChartField(), ]; } @@ -513,7 +571,7 @@ abstract class Report $this->setGroups(); return [ - 'type' => 'selectGroup', + 'type' => 'select', 'name' => 'group', 'title' => trans('general.group_by'), 'icon' => 'folder', @@ -528,7 +586,7 @@ abstract class Report public function getPeriodField() { return [ - 'type' => 'selectGroup', + 'type' => 'select', 'name' => 'period', 'title' => trans('general.period'), 'icon' => 'calendar', @@ -547,7 +605,7 @@ abstract class Report public function getBasisField() { return [ - 'type' => 'selectGroup', + 'type' => 'select', 'name' => 'basis', 'title' => trans('general.basis'), 'icon' => 'file', @@ -561,22 +619,4 @@ abstract class Report ], ]; } - - public function getChartField() - { - return [ - 'type' => 'selectGroup', - 'name' => 'chart', - 'title' => trans_choice('general.charts', 1), - 'icon' => 'chart-pie', - 'values' => [ - '0' => trans('general.disabled'), - 'line' => trans('reports.charts.line'), - ], - 'selected' => '0', - 'attributes' => [ - 'required' => 'required', - ], - ]; - } } diff --git a/app/Abstracts/View/Component.php b/app/Abstracts/View/Component.php new file mode 100644 index 000000000..4b1f81cca --- /dev/null +++ b/app/Abstracts/View/Component.php @@ -0,0 +1,13 @@ +getConsumableComponentData($key, $default); + } +} diff --git a/app/Abstracts/View/Components/Contacts/Form.php b/app/Abstracts/View/Components/Contacts/Form.php new file mode 100644 index 000000000..f457f4466 --- /dev/null +++ b/app/Abstracts/View/Components/Contacts/Form.php @@ -0,0 +1,503 @@ +type = $type; + + $this->model = ! empty($model) ? $model : $contact; + $this->contact = $this->model; + + /* -- Content Start -- */ + $this->formId = $formId; + $this->formRoute = $this->getFormRoute($type, $formRoute, $this->model); + $this->formMethod = $this->getFormMethod($type, $formMethod, $this->model); + + $this->hideSectionGeneral = $hideSectionGeneral; + $this->hideSectionBilling = $hideSectionBilling; + $this->hideSectionAddress = $hideSectionAddress; + + /* -- General Start -- */ + $this->textSectionGeneralTitle = $this->getTextSectionGeneralTitle($type, $textSectionGeneralTitle); + $this->textSectionGeneralDescription = $this->getTextSectionGeneralDescription($type, $textSectionGeneralDescription); + + $this->hideName = $hideName; + $this->textName = $this->getTextName($type, $textName); + $this->classNameFromGroupClass = $this->getClassNameFormGroupClass($type, $classNameFromGroupClass); + + $this->hideEmail = $hideEmail; + $this->textEmail = $this->getTextEmail($type, $textEmail); + + $this->hidePhone = $hidePhone; + $this->textPhone = $this->getTextPhone($type, $textPhone); + + $this->hideWebsite = $hideWebsite; + $this->textWebsite = $this->getTextWebsite($type, $textWebsite); + + $this->hideReference = $hideReference; + $this->textReference = $this->getTextReference($type, $textReference); + + $this->hideCanLogin = $hideCanLogin; + $this->hideLogo = $hideLogo; + /* -- General End -- */ + + /* -- Billing Start -- */ + $this->textSectionBillingTitle = $this->getTextSectionBillingTitle($type, $textSectionBillingTitle); + $this->textSectionBillingDescription = $this->getTextSectionBillingDescription($type, $textSectionBillingDescription); + + $this->hideTaxNumber = $hideTaxNumber; + $this->textTaxNumber = $this->getTextTaxNumber($type, $textTaxNumber); + + $this->hideCurrency = $hideCurrency; + /* -- Billing End -- */ + + /* -- Address Start -- */ + $this->textSectionAddressTitle = $this->getTextSectionAddressTitle($type, $textSectionAddressTitle); + $this->textSectionAddressDescription = $this->getTextSectionAddressDescription($type, $textSectionAddressDescription); + + $this->hideAddress = $hideAddress; + $this->textAddress = $this->getTextAddress($type, $textAddress); + + $this->hideCity = $hideCity; + $this->textCity = $this->getTextCity($type, $textCity); + + $this->hideZipCode = $hideZipCode; + $this->textZipCode = $this->getTextZipCode($type, $textZipCode); + + $this->hideState = $hideState; + $this->textState = $this->getTextState($type, $textState); + + $this->hideState = $hideTaxNumber; + /* -- Address End -- */ + + /* -- Buttons Start -- */ + $this->cancelRoute = $this->getCancelRoute($type, $cancelRoute); + /* -- Buttons End -- */ + /* -- Content End -- */ + + // Set Parent data + $this->setParentData(); + } + + /* -- Content Start -- */ + /* -- General Start -- */ + protected function getTextSectionGeneralTitle($type, $textSectionGeneralTitle) + { + if (! empty($textSectionGeneralTitle)) { + return $textSectionGeneralTitle; + } + + $translation = $this->getTextFromConfig($type, 'section_general_title', 'general'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.general'; + } + + protected function getTextSectionGeneralDescription($type, $textSectionGeneralDescription) + { + if (! empty($textSectionGeneralDescription)) { + return $textSectionGeneralDescription; + } + + $translation = $this->getTextFromConfig($type, 'section_general_description', 'form_description.general'); + + if (! empty($translation)) { + return $translation; + } + + return 'customers.form_description.general'; + } + + protected function getTextName($type, $textName) + { + if (! empty($textName)) { + return $textName; + } + + $translation = $this->getTextFromConfig($type, 'name', 'name'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.name'; + } + + protected function getClassNameFormGroupClass($type, $classNameFromGroupClass) + { + if (! empty($classNameFromGroupClass)) { + return $classNameFromGroupClass; + } + + $class = $this->getClassFromConfig($type, 'name'); + + if (! empty($class)) { + return $class; + } + + return 'sm:col-span-6'; + } + + protected function getTextEmail($type, $textEmail) + { + if (! empty($textEmail)) { + return $textEmail; + } + + $translation = $this->getTextFromConfig($type, 'email', 'email'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.email'; + } + + protected function getTextPhone($type, $textPhone) + { + if (! empty($textPhone)) { + return $textPhone; + } + + $translation = $this->getTextFromConfig($type, 'phone', 'phone'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.phone'; + } + + protected function getTextWebsite($type, $textWebsite) + { + if (! empty($textWebsite)) { + return $textWebsite; + } + + $translation = $this->getTextFromConfig($type, 'website', 'website'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.website'; + } + + protected function getTextReference($type, $textReference) + { + if (! empty($textReference)) { + return $textReference; + } + + $translation = $this->getTextFromConfig($type, 'reference', 'reference'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.reference'; + } + /* -- General End -- */ + + /* -- Billing Start -- */ + protected function getTextSectionBillingTitle($type, $textSectionBillingTitle) + { + if (! empty($textSectionBillingTitle)) { + return $textSectionBillingTitle; + } + + $translation = $this->getTextFromConfig($type, 'section_billing_title'); + + if (! empty($translation)) { + return $translation; + } + + return 'items.billing'; + } + + protected function getTextSectionBillingDescription($type, $textSectionBillingDescription) + { + if (! empty($textSectionBillingDescription)) { + return $textSectionBillingDescription; + } + + $translation = $this->getTextFromConfig($type, 'section_billing_description'); + + if (! empty($translation)) { + return $translation; + } + + return 'customers.form_description.billing'; + } + + protected function getTextTaxNumber($type, $textTaxNumber) + { + if (! empty($textTaxNumber)) { + return $textTaxNumber; + } + + $translation = $this->getTextFromConfig($type, 'tax_number', 'tax_number'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.tax_number'; + } + /* -- Billing End -- */ + + /* -- Address Start -- */ + protected function getTextSectionAddressTitle($type, $textSectionAddressTitle) + { + if (! empty($textSectionAddressTitle)) { + return $textSectionAddressTitle; + } + + $translation = $this->getTextFromConfig($type, 'section_address_title', 'address'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.address'; + } + + protected function getTextSectionAddressDescription($type, $textSectionAddressDescription) + { + if (! empty($textSectionAddressDescription)) { + return $textSectionAddressDescription; + } + + $translation = $this->getTextFromConfig($type, 'section_address_description'); + + if (! empty($translation)) { + return $translation; + } + + return 'customers.form_description.address'; + } + + protected function getTextAddress($type, $textAddress) + { + if (! empty($textAddress)) { + return $textAddress; + } + + $translation = $this->getTextFromConfig($type, 'address', 'address'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.address'; + } + + protected function getTextCity($type, $textCity) + { + if (! empty($textCity)) { + return $textCity; + } + + $translation = $this->getTextFromConfig($type, 'city', 'cities'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.cities'; + } + + protected function getTextZipCode($type, $textZipCode) + { + if (! empty($textZipCode)) { + return $textZipCode; + } + + $translation = $this->getTextFromConfig($type, 'zip_code', 'zip_code'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.zip_code'; + } + + protected function getTextState($type, $textState) + { + if (! empty($textState)) { + return $textState; + } + + $translation = $this->getTextFromConfig($type, 'state', 'state'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.state'; + } + /* -- Address End -- */ + /* -- Content End -- */ +} diff --git a/app/Abstracts/View/Components/Contacts/Index.php b/app/Abstracts/View/Components/Contacts/Index.php new file mode 100644 index 000000000..a5e591a02 --- /dev/null +++ b/app/Abstracts/View/Components/Contacts/Index.php @@ -0,0 +1,492 @@ +type = $type; + $this->group = $this->getGroup($type, $group); + $this->page = $this->getPage($type, $page); + $this->contacts = ($contacts) ? $contacts : collect(); + $this->textPage = $this->getTextPage($type, $textPage); + + $this->permissionCreate = $this->getPermissionCreate($type, $permissionCreate); + $this->permissionUpdate = $this->getPermissionUpdate($type, $permissionUpdate); + $this->permissionDelete = $this->getPermissionDelete($type, $permissionDelete); + /* -- Main End -- */ + + /* -- Buttons Start -- */ + $this->checkPermissionCreate = $checkPermissionCreate; + + $this->hideCreate = $hideCreate; + $this->hideImport = $hideImport; + $this->hideExport = $hideExport; + + $this->routeButtonShow = $this->getRouteButtonShow($type, $routeButtonShow); + $this->createRoute = $this->getCreateRoute($type, $createRoute); + $this->importRoute = $this->getImportRoute($importRoute); + $this->importRouteParameters = $this->getImportRouteParameters($type, $importRouteParameters); + $this->exportRoute = $this->getExportRoute($type, $exportRoute); + /* -- Buttons End -- */ + + /* -- Content Start -- */ + $this->hideEmptyPage = $hideEmptyPage; + + $this->hideSummary = $hideSummary; + $this->summaryItems = $this->getSummaryItems($type, $summaryItems); + + $this->hideSearchString = $hideSearchString; + $this->hideBulkAction = $hideBulkAction; + + $this->searchStringModel = $this->getSearchStringModel($type, $searchStringModel); + + $this->bulkActionClass = $this->getBulkActionClass($type, $bulkActionClass); + $this->bulkActionRouteParameters = $this->getBulkActionRouteParameters($type, $bulkActionRouteParameters); + + $this->searchRoute = $this->getIndexRoute($type, $searchRoute); + + $this->classBulkAction = $this->getClassBulkAction($type, $classBulkAction); + + $this->showPicture = $showPicture; + $this->hideName = $hideName; + $this->hideTaxNumber = $hideTaxNumber; + $this->classNameAndTaxNumber = $this->getClassNameAndTaxNumber($type, $classNameAndTaxNumber); + $this->textName = $this->getTextName($type, $textName); + $this->textTaxNumber = $this->getTextTaxNumber($type, $textTaxNumber); + + $this->hideEmail = $hideEmail; + $this->hidePhone = $hidePhone; + $this->classEmailAndPhone = $this->getClassEmailAndPhone($type, $classEmailAndPhone); + $this->textEmail = $this->getTextEmail($type, $textEmail); + $this->textPhone = $this->getTextPhone($type, $textPhone); + + $this->hideCountry = $hideCountry; + $this->hideCurrencyCode = $hideCurrencyCode; + $this->classCountryAndCurrencyCode = $this->getClassCountryAndCurrencyCode($type, $classCountryAndCurrencyCode); + $this->textCountry = $this->getTextCountry($type, $textCountry); + $this->textCurrencyCode = $this->getTextCurrencyCode($type, $textCurrencyCode); + + $this->hideOpen = $hideOpen; + $this->hideOverdue = $hideOverdue; + $this->classOpenAndOverdue = $this->getClassOpenAndOverdue($type, $classOpenAndOverdue); + $this->textOpen = $this->getTextOpen($type, $textOpen); + $this->textOverdue = $this->getTextOverdue($type, $textOverdue); + /* -- Content End -- */ + + /* -- Empty Start -- */ + $this->imageEmptyPage = $this->getImageEmptyPage($type, $imageEmptyPage); + $this->textEmptyPage = $this->getTextEmptyPage($type, $textEmptyPage); + $this->urlDocsPath = $this->getUrlDocsPath($type, $urlDocsPath); + /* -- Empty End -- */ + + // Set Parent data + $this->setParentData(); + } + + public function getSummaryItems($type, $summaryItems) + { + if (! empty($summaryItems)) { + return $summaryItems; + } + + $route = $this->getIndexRoute($type, null); + + $document_type = config('type.contact.' . $type . '.document_type', 'invoice'); + + $totals = $this->getTotalsForFutureDocuments($document_type); + + $items = []; + + foreach ($totals as $key => $total) { + $items[] = [ + 'title' => ($key == 'overdue') ? trans('general.overdue') : trans('documents.statuses.' . $key), + 'href' => route($route, ['search' => 'status:' . $key]), + 'amount' => money($total, setting('default.currency'), true), + ]; + } + + return $items; + } + + /* -- Content Start -- */ + protected function getClassNameAndTaxNumber($type, $classNameAndTaxNumber) + { + if (! empty($classNameAndTaxNumber)) { + return $classNameAndTaxNumber; + } + + $class = $this->getClassFromConfig($type, 'name_and_tax_number'); + + if (! empty($class)) { + return $class; + } + + return 'w-6/12 sm:w-3/12 truncate'; + } + + protected function getTextName($type, $textName) + { + if (! empty($textName)) { + return $textName; + } + + $translation = $this->getTextFromConfig($type, 'name', 'name'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.name'; + } + + protected function getTextTaxNumber($type, $textTaxNumber) + { + if (! empty($textTaxNumber)) { + return $textTaxNumber; + } + + $translation = $this->getTextFromConfig($type, 'tax_number', 'tax_number'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.tax_number'; + } + + protected function getClassEmailAndPhone($type, $classEmailAndPhone) + { + if (! empty($classEmailAndPhone)) { + return $classEmailAndPhone; + } + + $class = $this->getClassFromConfig($type, 'email_and_phone'); + + if (! empty($class)) { + return $class; + } + + return 'w-3/12 hidden sm:table-cell'; + } + + protected function getTextEmail($type, $textEmail) + { + if (! empty($textEmail)) { + return $textEmail; + } + + $translation = $this->getTextFromConfig($type, 'email', 'email'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.email'; + } + + protected function getTextPhone($type, $textPhone) + { + if (! empty($textPhone)) { + return $textPhone; + } + + $translation = $this->getTextFromConfig($type, 'phone', 'phone'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.phone'; + } + + protected function getClassCountryAndCurrencyCode($type, $classCountryAndCurrencyCode) + { + if (! empty($classCountryAndCurrencyCode)) { + return $classCountryAndCurrencyCode; + } + + $class = $this->getClassFromConfig($type, 'country_and_currency_code'); + + if (! empty($class)) { + return $class; + } + + return 'w-3/12 hidden sm:table-cell'; + } + + protected function getTextCountry($type, $textCountry) + { + if (! empty($textCountry)) { + return $textCountry; + } + + $translation = $this->getTextFromConfig($type, 'country', 'countries'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.countries'; + } + + protected function getTextCurrencyCode($type, $textCurrencyCode) + { + if (! empty($textCurrencyCode)) { + return $textCurrencyCode; + } + + $translation = $this->getTextFromConfig($type, 'currency_code', 'currencies'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.currencies'; + } + + protected function getClassOpenAndOverdue($type, $classOpenAndOverdue) + { + if (! empty($classOpenAndOverdue)) { + return $classOpenAndOverdue; + } + + $class = $this->getClassFromConfig($type, 'open_and_overdue'); + + if (! empty($class)) { + return $class; + } + + return 'w-6/12 sm:w-3/12'; + } + + protected function getTextOpen($type, $textOpen) + { + if (! empty($textOpen)) { + return $textOpen; + } + + $translation = $this->getTextFromConfig($type, 'open', 'open'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.open'; + } + + protected function getTextOverdue($type, $textOverdue) + { + if (! empty($textOverdue)) { + return $textOverdue; + } + + $translation = $this->getTextFromConfig($type, 'overdue', 'overdue'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.overdue'; + } + + protected function getRouteButtonShow($type, $routeButtonShow) + { + if (!empty($routeButtonShow)) { + return $routeButtonShow; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'show', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'customer.show'; + } + /* -- Content End -- */ +} diff --git a/app/Abstracts/View/Components/Contacts/Show.php b/app/Abstracts/View/Components/Contacts/Show.php new file mode 100644 index 000000000..19f2929ac --- /dev/null +++ b/app/Abstracts/View/Components/Contacts/Show.php @@ -0,0 +1,316 @@ +type = $type; + + $this->model = ! empty($model) ? $model : $contact; + $this->contact = $this->model; + + $this->permissionCreate = $this->getPermissionCreate($type, $permissionCreate); + $this->permissionUpdate = $this->getPermissionUpdate($type, $permissionUpdate); + $this->permissionDelete = $this->getPermissionDelete($type, $permissionDelete); + /* -- Main End -- */ + + /* -- Buttons Start -- */ + $this->hideNewDropdown = $hideNewDropdown; + $this->hideButtonDocument = $hideButtonDocument; + $this->hideButtonTransaction = $hideButtonTransaction; + + $this->permissionCreateDocument = $this->getPermissionCreateDocument($type, $permissionCreateDocument); + $this->permissionCreateTransaction = $this->getPermissionCreateTransaction($type, $permissionCreateTransaction); + + $this->routeButtonDocument = $this->getCreateDocumentRoute($type, $routeButtonDocument); + $this->routeButtonTransaction = $this->getCreateTransactionRoute($type, $routeButtonTransaction); + + $this->textDocument = $this->getTextDocument($type, $textDocument); + $this->textTransaction = $this->getTextTransaction($type, $textTransaction); + + $this->hideButtonEdit = $hideButtonEdit; + $this->routeButtonEdit = $this->getEditRoute($type, $routeButtonEdit); + + $this->hideActionsDropdown = $hideActionsDropdown; + $this->hideButtonDuplicate = $hideButtonDuplicate; + $this->routeButtonDuplicate = $this->getDuplicateRoute($type, $routeButtonDuplicate); + + $this->hideButtonDelete = $hideButtonDelete; + $this->routeButtonDelete = $this->getDeleteRoute($type, $routeButtonDelete); + $this->textDeleteModal = $this->getTextDeleteModal($type, $textDeleteModal); + /* -- Buttons End -- */ + + /* -- Profile Start -- */ + $this->hideProfile = $hideTopLeft; + $this->hideAvatar = $hideAvatar; + $this->hideEmail = $hideEmail; + $this->hidePhone = $hidePhone; + + $this->hideDetails = $hideTopRight; + $this->hideOverdue = $hideOverdue; + $this->hideOpen = $hideOpen; + $this->hidePaid = $hidePaid; + + $this->hideSummary = $hideBottomLeft; + $this->hideAddress = $hideAddress; + $this->hideTaxNumber = $hideTaxNumber; + $this->hideWebsite = $hideWebsite; + $this->hideReference = $hideReference; + $this->hideUser = $hideUser; + + $this->hideContent = $hideBottomRight; + /* -- Profile End -- */ + } + + protected function getPermissionCreateDocument($type, $permissionCreateDocument) + { + if (! empty($permissionCreateDocument)) { + return $permissionCreateDocument; + } + + $document_type = config('type.contact.' . $type . '.document_type', 'invoice'); + + $permission = ''; + $config_key = 'create'; + + // if set config trasnlation config_key + if ($permission = config('type.document.' . $document_type . '.permission.' . $config_key)) { + return $permission; + } + + $alias = config('type.document.' . $document_type . '.alias'); + $group = config('type.document.' . $document_type . '.group'); + $prefix = config('type.document.' . $document_type . '.permission.prefix'); + + $permission = $config_key . '-'; + + // if use module set module alias + if (! empty($alias)) { + $permission .= $alias . '-'; + } + + // if controller in folder it must + if (! empty($group)) { + $permission .= $group . '-'; + } + + $permission .= $prefix; + + $permissionCreateDocument = $permission; + + return $permissionCreateDocument; + } + + protected function getPermissionCreateTransaction($type, $permissionCreateTransaction) + { + if (! empty($permissionCreateTransaction)) { + return $permissionCreateTransaction; + } + + $permissionCreateTransaction = 'create-banking-transactions'; + + return $permissionCreateTransaction; + } + + protected function getCreateDocumentRoute($type, $routeButtonDocument) + { + if (! empty($routeButtonDocument)) { + return $routeButtonDocument; + } + + $prefix = config('type.contact.' . $type . '.route.prefix'); + $document_type = config('type.contact.' . $type . '.document_type'); + + return $prefix . '.create-' . $document_type; + } + + protected function getCreateTransactionRoute($type, $routeButtonDocument) + { + if (! empty($routeButtonDocument)) { + return $routeButtonDocument; + } + + $prefix = config('type.contact.' . $type . '.route.prefix'); + $transaction_type = config('type.contact.' . $type . '.transaction_type'); + + return $prefix . '.create-' . $transaction_type; + } + + protected function getTextDocument($type, $textDocument) + { + if (! empty($textDocument)) { + return $textDocument; + } + + $document_type = config('type.contact.' . $type . '.document_type'); + + switch ($document_type) { + case 'invoice': + $text = 'general.invoices'; + break; + case 'bill': + $text = 'general.bills'; + break; + default: + $text = config('type.contact.' . $type . '.translation.prefix') . '.' . config('type.contact.' . $type . '.route.prefix'); + } + + return $text; + } + + protected function getTextTransaction($type, $textTransaction) + { + if (! empty($textTransaction)) { + return $textTransaction; + } + + $document_type = config('type.contact.' . $type . '.document_type'); + + switch ($document_type) { + case 'invoice': + $text = 'general.incomes'; + break; + case 'bill': + $text = 'general.expenses'; + break; + default: + $text = config('type.contact.' . $type . '.translation.prefix') . '.' . config('type.contact.' . $type . '.transaction_type') . 's'; + } + + return $text; + } + + protected function getTextDeleteModal($type, $textDeleteModal) + { + if (! empty($textDeleteModal)) { + return $textDeleteModal; + } + + $document_type = config('type.contact.' . $type . '.document_type'); + + switch ($document_type) { + case 'invoice': + $text = 'general.incomes'; + break; + case 'bill': + $text = 'general.expenses'; + break; + default: + $text = config('type.contact.' . $type . '.translation.prefix') . '.' . config('type.contact.' . $type . '.transaction_type') . 's'; + } + + return $text; + } +} diff --git a/app/Abstracts/View/Components/Document.php b/app/Abstracts/View/Components/Document.php deleted file mode 100644 index 82323a590..000000000 --- a/app/Abstracts/View/Components/Document.php +++ /dev/null @@ -1,175 +0,0 @@ - $alias . 'general.' . $default_key, - 'prefix' => $alias . $prefix . '.' . $default_key, - 'config_general' => $alias . 'general.' . $config_key, - 'config_prefix' => $alias . $prefix . '.' . $config_key, - ]; - - switch ($trans_type) { - case 'trans': - foreach ($translations as $trans) { - if (trans($trans) !== $trans) { - return $trans; - } - } - - break; - case 'trans_choice': - foreach ($translations as $trans_choice) { - if (trans_choice($trans_choice, 1) !== $trans_choice) { - return $trans_choice; - } - } - - break; - } - - return $translation; - } - - public function getRouteFromConfig($type, $config_key, $config_parameters = []) - { - $route = ''; - - // if set config trasnlation config_key - if ($route = config('type.' . $type . '.route.' . $config_key)) { - return $route; - } - - $alias = config('type.' . $type . '.alias'); - $prefix = config('type.' . $type . '.route.prefix'); - - // if use module set module alias - if (!empty($alias)) { - $route .= $alias . '.'; - } - - if (!empty($prefix)) { - $route .= $prefix . '.'; - } - - $route .= $config_key; - - try { - route($route, $config_parameters); - } catch (\Exception $e) { - try { - $route = Str::plural($type, 2) . '.' . $config_key; - - route($route, $config_parameters); - } catch (\Exception $e) { - $route = ''; - } - } - - return $route; - } - - public function getPermissionFromConfig($type, $config_key) - { - $permission = ''; - - // if set config trasnlation config_key - if ($permission = config('type.' . $type . '.permission.' . $config_key)) { - return $permission; - } - - $alias = config('type.' . $type . '.alias'); - $group = config('type.' . $type . '.group'); - $prefix = config('type.' . $type . '.permission.prefix'); - - $permission = $config_key . '-'; - - // if use module set module alias - if (!empty($alias)) { - $permission .= $alias . '-'; - } - - // if controller in folder it must - if (!empty($group)) { - $permission .= $group . '-'; - } - - $permission .= $prefix; - - return $permission; - } - - public function getHideFromConfig($type, $config_key) - { - $hide = false; - - $hides = config('type.' . $type . '.hide'); - - if (!empty($hides) && (in_array($config_key, $hides))) { - $hide = true; - } - - return $hide; - } - - public function getClassFromConfig($type, $config_key) - { - $class_key = 'type.' . $type . '.class.' . $config_key; - - return config($class_key, ''); - } - - public function getCategoryFromConfig($type) - { - $category_type = ''; - - // if set config trasnlation config_key - if ($category_type = config('type.' . $type . '.category_type')) { - return $category_type; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $category_type = 'expense'; - break; - case 'item': - $category_type = 'item'; - break; - case 'other': - $category_type = 'other'; - break; - case 'transfer': - $category_type = 'transfer'; - break; - default: - $category_type = 'income'; - break; - } - - return $category_type; - } -} diff --git a/app/Abstracts/View/Components/DocumentForm.php b/app/Abstracts/View/Components/DocumentForm.php deleted file mode 100644 index daaf64966..000000000 --- a/app/Abstracts/View/Components/DocumentForm.php +++ /dev/null @@ -1,1082 +0,0 @@ -type = $type; - $this->document = $document; - $this->currencies = $this->getCurrencies($currencies); - $this->currency = $this->getCurrency($document, $currency, $currency_code); - $this->currency_code = !empty($this->currency) ? $this->currency->code : setting('default.currency'); - - /** Advanced Component Start */ - $this->categoryType = $this->getCategoryType($type, $categoryType); - $this->textAdvancedAccordion = $this->getTextAdvancedAccordion($type, $textAdvancedAccordion); - $this->hideRecurring = $hideRecurring; - $this->hideCategory = $hideCategory; - $this->hideAttachment = $hideAttachment; - /** Advanced Component End */ - - /** Company Component Start */ - $this->hideLogo = $hideLogo; - $this->hideDocumentTitle = $hideDocumentTitle; - $this->hideDocumentSubheading = $hideDocumentSubheading; - $this->hideCompanyEdit = $hideCompanyEdit; - $this->titleSetting = $this->getTitleSettingValue($titleSetting); - $this->subheadingSetting = $this->getSubheadingSettingValue($subheadingSetting); - /** Company Component End */ - - /** Content Component Start */ - $this->routeStore = $this->getRouteStore($type, $routeStore); - $this->routeUpdate = $this->getRouteUpdate($type, $routeUpdate, $document); - $this->routeCancel = $this->getRouteCancel($type, $routeCancel); - $this->formId = $formId; - $this->formSubmit = $formSubmit; - - $this->hideCompany = $hideCompany; - $this->hideAdvanced = $hideAdvanced; - $this->hideFooter = $hideFooter; - $this->hideButtons = $hideButtons; - $this->footerSetting = $this->getFooterSettingValue($footerSetting); - $this->notesSetting = $this->getNotesSettingValue($notesSetting); - /** Content Component End */ - - /** Metadata Component Start */ - $this->contacts = $this->getContacts($type, $document, $contacts); - $this->contact = $this->getContact($contact, $document); - $this->contactType = $this->getContactType($type, $contactType); - - $this->textAddContact = $this->getTextAddContact($type, $textAddContact); - $this->textCreateNewContact = $this->getTextCreateNewContact($type, $textCreateNewContact); - $this->textEditContact = $this->getTextEditContact($type, $textEditContact); - $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); - $this->textChooseDifferentContact = $this->getTextChooseDifferentContact($type, $textChooseDifferentContact); - - $this->hideContact = $hideContact; - $this->hideIssuedAt = $hideIssuedAt; - $this->hideDocumentNumber = $hideDocumentNumber; - $this->hideDueAt = $hideDueAt; - $this->hideOrderNumber = $hideOrderNumber; - $this->issuedAt = $this->getIssuedAt($type, $document, $issuedAt); - $this->documentNumber = $this->getDocumentNumber($type, $document, $documentNumber); - $this->dueAt = $this->getDueAt($type, $document, $dueAt); - $this->orderNumber = $this->getOrderNumber($type, $document, $orderNumber); - - $this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); - $this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber); - $this->textDueAt = $this->getTextDueAt($type, $textDueAt); - $this->textOrderNumber = $this->getTextOrderNumber($type, $textOrderNumber); - /** Metadata Component End */ - - /** Items Component Start */ - $this->textItems = $this->getTextItems($type, $textItems); - $this->textQuantity = $this->getTextQuantity($type, $textQuantity); - $this->textPrice = $this->getTextPrice($type, $textPrice); - $this->textAmount = $this->getTextAmount($type, $textAmount); - - $this->hideItems = $this->getHideItems($type, $hideItems, $hideName, $hideDescription); - $this->hideName = $this->getHideName($type, $hideName); - $this->hideDescription = $this->getHideDescription($type, $hideDescription); - $this->hideQuantity = $this->getHideQuantity($type, $hideQuantity); - $this->hidePrice = $this->getHidePrice($type, $hidePrice); - $this->hideDiscount = $this->getHideDiscount($type, $hideDiscount); - $this->hideAmount = $this->getHideAmount($type, $hideAmount); - - $this->hideEditItemColumns = $hideEditItemColumns; - $this->isSalePrice = $isSalePrice; - $this->isPurchasePrice = $isPurchasePrice; - $this->searchCharLimit = $this->getSearchCharLimit($type, $searchCharLimit); - /** Items Component End */ - } - - protected function getCurrencies($currencies) - { - if (!empty($currencies)) { - return $currencies; - } - - return Currency::enabled()->pluck('name', 'code'); - } - - protected function getCurrency($document, $currency, $currency_code) - { - if (!empty($currency)) { - return $currency; - } - - if (!empty($currency_code)) { - $currency = Currency::where('code', $currency_code)->first(); - } - - if (empty($currency) && !empty($document)) { - $currency = Currency::where('code', $document->currency_code)->first(); - } - - if (empty($currency)) { - $currency = Currency::where('code', setting('default.currency'))->first(); - } - - return $currency; - } - - protected function getRouteStore($type, $routeStore) - { - if (!empty($routeStore)) { - return $routeStore; - } - - $route = $this->getRouteFromConfig($type, 'store'); - - if (!empty($route)) { - return $route; - } - - return 'invoices.store'; - } - - protected function getRouteUpdate($type, $routeUpdate, $document, $parameters = []) - { - if (!empty($routeUpdate)) { - return $routeUpdate; - } - - $parameters = [ - config('type.' . $type. '.route.parameter') => ($document) ? $document->id : 1, - ]; - - $route = $this->getRouteFromConfig($type, 'update', $parameters); - - if (!empty($route)) { - return $route; - } - - return 'invoices.update'; - } - - protected function getRouteCancel($type, $routeCancel) - { - if (!empty($routeCancel)) { - return $routeCancel; - } - - $route = $this->getRouteFromConfig($type, 'index'); - - if (!empty($route)) { - return $route; - } - - return 'invoices.index'; - } - - protected function getCategoryType($type, $categoryType) - { - if (!empty($categoryType)) { - return $categoryType; - } - - if ($category_type = config('type.' . $type . '.category_type')) { - return $category_type; - } - - // set default type - $type = Document::INVOICE_TYPE; - - return config('type.' . $type . '.category_type'); - } - - protected function getTextAdvancedAccordion($type, $textAdvancedAccordion) - { - if (!empty($textAdvancedAccordion)) { - return $textAdvancedAccordion; - } - - $translation = $this->getTextFromConfig($type, 'advanced_accordion'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.recurring_and_more'; - } - - protected function getContacts($type, $document, $contacts) - { - if (!empty($contacts)) { - return $contacts; - } - - $contact_type = $this->getContactType($type, null); - - if ($contact_type) { - $contacts = Contact::$contact_type()->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); - } else { - $contacts = Contact::enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); - } - - if (!empty($document) && ($document->contact && !$contacts->contains('id', $document->contact_id))) { - $contacts->push($document->contact); - } - - return $contacts; - } - - protected function getContact($contact, $document) - { - if (!empty($contact)) { - return $contact; - } - - $contact = new \stdClass(); - - if (!empty($document) && !empty($document->contact)) { - $contact = $document->contact; - } - - if (request()->old('contact', false)) { - $contact = request()->old('contact'); - } - - return $contact; - } - - protected function getContactType($type, $contactType) - { - if (!empty($contactType)) { - return $contactType; - } - - if ($contact_type = config('type.' . $type . '.contact_type')) { - return $contact_type; - } - - // set default type - $type = Document::INVOICE_TYPE; - - return config('type.' . $type . '.contact_type'); - } - - protected function getTextAddContact($type, $textAddContact) - { - if (!empty($textAddContact)) { - return $textAddContact; - } - - $default_key = Str::plural(config('type.' . $type . '.contact_type'), 2); - - $translation = $this->getTextFromConfig($type, 'add_contact', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return [ - 'general.form.add', - $translation, - ]; - } - - return [ - 'general.form.add', - 'general.customers', - ]; - } - - protected function getTextCreateNewContact($type, $textCreateNewContact) - { - if (!empty($textCreateNewContact)) { - return $textCreateNewContact; - } - - /* - $default_key = Str::plural(config('type.' . $type . '.contact_type'), 2); - - $translation = $this->getTextFromConfig($type, 'create_new_contact', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return [ - 'general.form.add_new', - $translation, - ]; - } - */ - - return 'general.add_new'; - } - - protected function getTextEditContact($type, $textEditContact) - { - if (!empty($textEditContact)) { - return $textEditContact; - } - - $translation = $this->getTextFromConfig($type, 'edit_contact', 'form.edit'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.form.edit'; - } - - protected function getTextContactInfo($type, $textContactInfo) - { - if (!empty($textContactInfo)) { - return $textContactInfo; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_from'; - break; - default: - $default_key = 'bill_to'; - break; - } - - $translation = $this->getTextFromConfig($type, 'contact_info', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.bill_to'; - } - - protected function getTextChooseDifferentContact($type, $textChooseDifferentContact) - { - if (!empty($textChooseDifferentContact)) { - return $textChooseDifferentContact; - } - - $default_key = Str::plural(config('type.' . $type . '.contact_type'), 2); - - $translation = $this->getTextFromConfig($type, 'choose_different_contact', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return [ - 'general.form.choose_different', - $translation, - ]; - } - - return [ - 'general.form.choose_different', - 'general.customers', - ]; - } - - protected function getIssuedAt($type, $document, $issuedAt) - { - if (!empty($issuedAt)) { - return $issuedAt; - } - - if ($document) { - return $document->issued_at; - } - - $issued_at = $type . '_at'; - - if (request()->has($issued_at)) { - $issuedAt = request()->get($issued_at); - } else { - $issuedAt = request()->get('invoice_at', Date::now()->toDateString()); - } - - return $issuedAt; - } - - protected function getDocumentNumber($type, $document, $documentNumber) - { - if (!empty($documentNumber)) { - return $documentNumber; - } - - if ($document) { - return $document->document_number; - } - - $document_number = $this->getNextDocumentNumber($type); - - if (empty($document_number)) { - $document_number = $this->getNextDocumentNumber(Document::INVOICE_TYPE); - } - - return $document_number; - } - - protected function getDueAt($type, $document, $dueAt) - { - if (!empty($dueAt)) { - return $dueAt; - } - - if ($document) { - return $document->due_at; - } - - $issued_at = $type . '_at'; - - if (request()->has($issued_at)) { - $issuedAt = request()->get($issued_at); - } else { - $issuedAt = Date::now()->toDateString(); - } - - $addDays = setting($this->getSettingKey($type, 'payment_terms'), 0) ?: 0; - - $dueAt = Date::parse($issuedAt)->addDays($addDays)->toDateString(); - - return $dueAt; - } - - protected function getOrderNumber($type, $document, $orderNumber) - { - if (!empty($orderNumber)) { - return $orderNumber; - } - - if ($document) { - return $document->order_number; - } - - $order_number = null; - } - - protected function getTextDocumentNumber($type, $textDocumentNumber) - { - if (!empty($textDocumentNumber)) { - return $textDocumentNumber; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_number'; - break; - default: - $default_key = 'invoice_number'; - break; - } - - $translation = $this->getTextFromConfig($type, 'document_number', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.invoice_number'; - } - - protected function getTextOrderNumber($type, $textOrderNumber) - { - if (!empty($textOrderNumber)) { - return $textOrderNumber; - } - - $translation = $this->getTextFromConfig($type, 'order_number'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.order_number'; - } - - protected function getTextIssuedAt($type, $textIssuedAt) - { - if (!empty($textIssuedAt)) { - return $textIssuedAt; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_date'; - break; - default: - $default_key = 'invoice_date'; - break; - } - - $translation = $this->getTextFromConfig($type, 'issued_at', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.invoice_date'; - } - - protected function getTextDueAt($type, $textDueAt) - { - if (!empty($textDueAt)) { - return $textDueAt; - } - - $translation = $this->getTextFromConfig($type, 'due_at', 'due_date'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.due_date'; - } - - protected function getTextItems($type, $textItems) - { - if (!empty($textItems)) { - return $textItems; - } - - // if you use settting translation - if (setting($this->getSettingKey($type, 'item_name'), 'items') === 'custom') { - if (empty($textItems = setting($this->getSettingKey($type, 'item_name_input')))) { - $textItems = 'general.items'; - } - - return $textItems; - } - - if (setting($this->getSettingKey($type, 'item_name')) !== null && - (trans(setting($this->getSettingKey($type, 'item_name'))) != setting($this->getSettingKey($type, 'item_name'))) - ) { - return setting($this->getSettingKey($type, 'item_name')); - } - - $translation = $this->getTextFromConfig($type, 'items'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.items'; - } - - protected function getTextQuantity($type, $textQuantity) - { - if (!empty($textQuantity)) { - return $textQuantity; - } - - // if you use settting translation - if (setting($this->getSettingKey($type, 'quantity_name'), 'quantity') === 'custom') { - if (empty($textQuantity = setting($this->getSettingKey($type, 'quantity_name_input')))) { - $textQuantity = 'invoices.quantity'; - } - - return $textQuantity; - } - - if (setting($this->getSettingKey($type, 'quantity_name')) !== null && - (trans(setting($this->getSettingKey($type, 'quantity_name'))) != setting($this->getSettingKey($type, 'quantity_name'))) - ) { - return setting($this->getSettingKey($type, 'quantity_name')); - } - - $translation = $this->getTextFromConfig($type, 'quantity'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.quantity'; - } - - protected function getTextPrice($type, $textPrice) - { - if (!empty($textPrice)) { - return $textPrice; - } - - // if you use settting translation - if (setting($this->getSettingKey($type, 'price_name'), 'price') === 'custom') { - if (empty($textPrice = setting($this->getSettingKey($type, 'price_name_input')))) { - $textPrice = 'invoices.price'; - } - - return $textPrice; - } - - if (setting($this->getSettingKey($type, 'price_name')) !== null && - (trans(setting($this->getSettingKey($type, 'price_name'))) != setting($this->getSettingKey($type, 'price_name'))) - ) { - return setting($this->getSettingKey($type, 'price_name')); - } - - $translation = $this->getTextFromConfig($type, 'price'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.price'; - } - - protected function getTextAmount($type, $textAmount) - { - if (!empty($textAmount)) { - return $textAmount; - } - - $translation = $this->getTextFromConfig($type, 'amount'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount'; - } - - protected function getHideItems($type, $hideItems, $hideName, $hideDescription) - { - if (!empty($hideItems)) { - return $hideItems; - } - - $hide = $this->getHideFromConfig($type, 'items'); - - if ($hide) { - return $hide; - } - - $hideItems = ($this->getHideName($type, $hideName) & $this->getHideDescription($type, $hideDescription)) ? true : false; - - return $hideItems; - } - - protected function getHideName($type, $hideName) - { - if (!empty($hideName)) { - return $hideName; - } - - // if you use settting translation - if ($hideName = setting($this->getSettingKey($type, 'hide_item_name'), false)) { - return $hideName; - } - - $hide = $this->getHideFromConfig($type, 'name'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_item_name', $hideName); - } - - protected function getHideDescription($type, $hideDescription) - { - if (!empty($hideDescription)) { - return $hideDescription; - } - - // if you use settting translation - if ($hideDescription = setting($this->getSettingKey($type, 'hide_item_description'), false)) { - return $hideDescription; - } - - $hide = $this->getHideFromConfig($type, 'description'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_item_description', $hideDescription); - } - - protected function getHideQuantity($type, $hideQuantity) - { - if (!empty($hideQuantity)) { - return $hideQuantity; - } - - // if you use settting translation - if ($hideQuantity = setting($this->getSettingKey($type, 'hide_quantity'), false)) { - return $hideQuantity; - } - - $hide = $this->getHideFromConfig($type, 'quantity'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_quantity', $hideQuantity); - } - - protected function getHidePrice($type, $hidePrice) - { - if (!empty($hidePrice)) { - return $hidePrice; - } - - // if you use settting translation - if ($hidePrice = setting($this->getSettingKey($type, 'hide_price'), false)) { - return $hidePrice; - } - - $hide = $this->getHideFromConfig($type, 'price'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_price', $hidePrice); - } - - protected function getHideDiscount($type, $hideDiscount) - { - if (!empty($hideDiscount)) { - return $hideDiscount; - } - - // if you use settting translation - if ($hideDiscount = setting($this->getSettingKey($type, 'hide_discount'), false)) { - return $hideDiscount; - } - - $hide = $this->getHideFromConfig($type, 'discount'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_discount', $hideDiscount); - } - - protected function getHideAmount($type, $hideAmount) - { - if (!empty($hideAmount)) { - return $hideAmount; - } - - // if you use settting translation - if ($hideAmount = setting($this->getSettingKey($type, 'hide_amount'), false)) { - return $hideAmount; - } - - $hide = $this->getHideFromConfig($type, 'amount'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_amount', $hideAmount); - } - - protected function getTitleSettingValue($titleSetting) - { - if (!empty($titleSetting)) { - return $titleSetting; - } - - return setting($this->getSettingKey($this->type, 'title')); - } - - protected function getSubheadingSettingValue($subheadingSetting) - { - if (!empty($subheadingSetting)) { - return $subheadingSetting; - } - - return setting($this->getSettingKey($this->type, 'subheading')); - } - - protected function getFooterSettingValue($footerSetting) - { - if (!empty($footerSetting)) { - return $footerSetting; - } - - if (!empty($this->document)) { - return $this->document->footer; - } - - return setting($this->getSettingKey($this->type, 'footer')); - } - - protected function getNotesSettingValue($notesSetting) - { - if (!empty($notesSetting)) { - return $notesSetting; - } - - if (!empty($this->document)) { - return $this->document->notes; - } - - return setting($this->getSettingKey($this->type, 'notes')); - } - - protected function getSearchCharLimit($type, $searchCharLimit) - { - if (!empty($searchCharLimit)) { - return $searchCharLimit; - } - - // if you use settting translation - if ($settingCharLimit = setting($this->getSettingKey($type, 'item_search_chart_limit'), false)) { - return $settingCharLimit; - } - - $hide = $this->getHideFromConfig($type, 'item_search_char_limit'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.item_search_char_limit', $searchCharLimit); - } -} diff --git a/app/Abstracts/View/Components/DocumentIndex.php b/app/Abstracts/View/Components/DocumentIndex.php deleted file mode 100644 index d042a8a1c..000000000 --- a/app/Abstracts/View/Components/DocumentIndex.php +++ /dev/null @@ -1,1021 +0,0 @@ -type = $type; - $this->documents = $documents; - $this->imageEmptyPage = $this->getImageEmptyPage($type, $imageEmptyPage); - $this->textEmptyPage = $this->getTextEmptyPage($type, $textEmptyPage); - $this->textPage = $this->getTextPage($type, $textPage); - $this->urlDocsPath = $this->getUrlDocsPath($type, $urlDocsPath); - $this->hideEmptyPage = $hideEmptyPage; - - /* -- Top Buttons Start -- */ - $this->checkPermissionCreate = $checkPermissionCreate; - - $this->createRoute = $this->getCreateRoute($type, $createRoute); - $this->importRoute = $this->getImportRoute($importRoute); - $this->importRouteParameters = $this->getImportRouteParameters($type, $importRouteParameters); - $this->exportRoute = $this->getExportRoute($type, $exportRoute); - - $this->hideCreate = $hideCreate; - $this->hideImport = $hideImport; - $this->hideExport = $hideExport; - /* -- Top Buttons End -- */ - - /* -- Card Header Start -- */ - $this->textBulkAction = $this->getTextBulkAction($type, $textBulkAction); - $this->bulkActionClass = $bulkActionClass; - $this->bulkActions = $this->getBulkActions($type, $bulkActions, $bulkActionClass); - - $this->bulkActionRouteParameters = $this->getBulkActionRouteParameters($type, $bulkActionRouteParameters); - - $this->formCardHeaderRoute = $this->getRoute($type, $formCardHeaderRoute); - - $this->searchStringModel = $this->getSearchStringModel($type, $searchStringModel); - - $this->hideBulkAction = $hideBulkAction; - $this->hideSearchString = $hideSearchString; - /* -- Card Header End -- */ - - /* -- Card Body Start -- */ - $this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber); - $this->textContactName = $this->getTextContactName($type, $textContactName); - $this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); - $this->textDueAt = $this->getTextDueAt($type, $textDueAt); - $this->textDocumentStatus = $this->getTextDocumentStatus($type, $textDocumentStatus); - - $this->checkButtonReconciled = $checkButtonReconciled; - $this->checkButtonCancelled = $checkButtonCancelled; - - $this->routeButtonShow = $this->getRouteButtonShow($type, $routeButtonShow); - $this->routeButtonEdit = $this->getRouteButtonEdit($type, $routeButtonEdit); - $this->routeButtonDuplicate = $this->getRouteButtonDuplicate($type, $routeButtonDuplicate); - $this->routeButtonCancelled = $this->getRouteButtonCancelled($type, $routeButtonCancelled); - $this->routeButtonDelete = $this->getRouteButtonDelete($type, $routeButtonDelete); - - $this->textModalDelete = $this->getTextModalDelete($type, $textModalDelete); - $this->valueModalDelete = $valueModalDelete; - - $this->hideBulkAction = $hideBulkAction; - $this->hideDocumentNumber = $hideDocumentNumber; - $this->hideContactName = $hideContactName; - $this->hideAmount = $hideAmount; - $this->hideIssuedAt = $hideIssuedAt; - $this->hideDueAt = $hideDueAt; - $this->hideStatus = $hideStatus; - $this->hideActions = $hideActions; - - $this->class_count = 12; - - $this->calculateClass(); - - $this->classBulkAction = $this->getClassBulkAction($type, $classBulkAction); - $this->classDocumentNumber = $this->getClassDocumentNumber($type, $classDocumentNumber); - $this->classContactName = $this->getClassContactName($type, $classContactName); - $this->classAmount = $this->getClassAmount($type, $classAmount); - $this->classIssuedAt = $this->getClassIssuedAt($type, $classIssuedAt); - $this->classDueAt = $this->getClassDueAt($type, $classDueAt); - $this->classStatus = $this->getClassStatus($type, $classStatus); - $this->classActions = $this->getClassActions($type, $classActions); - - $this->hideButtonShow = $hideButtonShow; - $this->hideButtonEdit = $hideButtonEdit; - $this->hideButtonDuplicate = $hideButtonDuplicate; - $this->hideButtonCancel = $hideButtonCancel; - $this->hideButtonDelete = $hideButtonDelete; - - $this->permissionCreate = $this->getPermissionCreate($type, $permissionCreate); - $this->permissionUpdate = $this->getPermissionUpdate($type, $permissionUpdate); - $this->permissionDelete = $this->getPermissionDelete($type, $permissionDelete); - /* -- Card Body End -- */ - - $this->limits = ($limits) ? $limits : ['10' => '10', '25' => '25', '50' => '50', '100' => '100']; - } - - protected function getImageEmptyPage($type, $imageEmptyPage) - { - if (!empty($imageEmptyPage)) { - return $imageEmptyPage; - } - - $image_empty_page = config('type.' . $type . '.image_empty_page'); - - if (!empty($image_empty_page)) { - return $image_empty_page; - } - - $page = str_replace('-', '_', config('type.' . $type . '.route.prefix', 'invoices')); - $image_path = 'public/img/empty_pages/' . $page . '.png'; - - if ($alias = config('type.' . $type . '.alias')) { - $image_path = 'modules/' . Str::studly($alias) . '/Resources/assets/img/empty_pages/' . $page . '.png'; - } - - return $image_path; - } - - protected function getTextEmptyPage($type, $textEmptyPage) - { - if (!empty($textEmptyPage)) { - return $textEmptyPage; - } - - $page = str_replace('-', '_', config('type.' . $type . '.route.prefix', 'invoices')); - - $translation = $this->getTextFromConfig($type, 'empty_page', 'empty.' . $page); - - if (!empty($translation)) { - return $translation; - } - - return 'general.empty.' . $page; - } - - protected function getUrlDocsPath($type, $urlDocsPath) - { - if (!empty($urlDocsPath)) { - return $urlDocsPath; - } - - $docs_path = config('type.' . $type . '.docs_path'); - - if (!empty($docs_path)) { - return $docs_path; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $docsPath = 'purchases/bills'; - break; - default: - $docsPath = 'sales/invoices'; - break; - } - - return 'https://akaunting.com/docs/user-manual/' . $docsPath; - } - - protected function getTextPage($type, $textPage) - { - if (!empty($textPage)) { - return $textPage; - } - - $page = str_replace('-', '_', config('type.' . $type . '.route.prefix', 'invoices')); - - $translation = $this->getTextFromConfig($type, 'page', $page); - - if (!empty($translation)) { - return $translation; - } - - return 'general.' . $page; - } - - protected function getCreateRoute($type, $createRoute) - { - if (!empty($createRoute)) { - return $createRoute; - } - - $route = $this->getRouteFromConfig($type, 'create'); - - if (!empty($route)) { - return $route; - } - - return 'invoices.create'; - } - - protected function getImportRoute($importRoute) - { - if (!empty($importRoute)) { - return $importRoute; - } - - $route = 'import.create'; - - return $route; - } - - protected function getImportRouteParameters($type, $importRouteParameters) - { - if (!empty($importRouteParameters)) { - return $importRouteParameters; - } - - $alias = config('type.' . $type . '.alias'); - $group = config('type.' . $type . '.group'); - - if (empty($group) && !empty($alias)){ - $group = $alias; - } else if (empty($group) && empty($alias)) { - $group = 'sales'; - } - - $importRouteParameters = [ - 'group' => $group, - 'type' => config('type.' . $type . '.route.prefix'), - ]; - - return $importRouteParameters; - } - - protected function getExportRoute($type, $exportRoute) - { - if (!empty($exportRoute)) { - return $exportRoute; - } - - $route = $this->getRouteFromConfig($type, 'export'); - - if (!empty($route)) { - return $route; - } - - return 'invoices.export'; - } - - protected function getRoute($type, $formCardHeaderRoute) - { - if (!empty($formCardHeaderRoute)) { - return $formCardHeaderRoute; - } - - $route = $this->getRouteFromConfig($type, 'index'); - - if (!empty($route)) { - return $route; - } - - return 'invoices.index'; - } - - protected function getSearchStringModel($type, $searchStringModel) - { - if (!empty($searchStringModel)) { - return $searchStringModel; - } - - $search_string_model = config('type.' . $type . '.search_string_model'); - - if (!empty($search_string_model)) { - return $search_string_model; - } - - if ($group = config('type.' . $type . '.group')) { - $group = Str::studly(Str::singular($group)) . '\\'; - } - - $prefix = Str::studly(Str::singular(config('type.' . $type . '.route.prefix'))); - - if ($alias = config('type.' . $type . '.alias')) { - $searchStringModel = 'Modules\\' . Str::studly($alias) .'\Models\\' . $group . $prefix; - } else { - $searchStringModel = 'App\Models\\' . $group . $prefix; - } - - return $searchStringModel; - } - - protected function getTextBulkAction($type, $textBulkAction) - { - if (!empty($textBulkAction)) { - return $textBulkAction; - } - - $default_key = config('type.' . $type . '.translation.prefix'); - - $translation = $this->getTextFromConfig($type, 'bulk_action', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.invoices'; - } - - protected function getBulkActions($type, $bulkActions, $bulkActionClass) - { - if (!empty($bulkActions)) { - return $bulkActions; - } - - $bulk_actions = config('type.' . $type . '.bulk_actions'); - - if (!empty($bulk_actions)) { - return $bulk_actions; - } - - $file_name = ''; - - if ($group = config('type.' . $type . '.group')) { - $file_name .= Str::studly($group) . '\\'; - } - - if ($prefix = config('type.' . $type . '.route.prefix')) { - $file_name .= Str::studly($prefix); - } - - if ($alias = config('type.' . $type . '.alias')) { - $module = module($alias); - - if (!$module instanceof Module) { - $b = new \stdClass(); - $b->actions = []; - - event(new BulkActionsAdding($b)); - - return $b->actions; - } - - $bulkActionClass = 'Modules\\' . $module->getStudlyName() . '\BulkActions\\' . $file_name; - } else { - $bulkActionClass = 'App\BulkActions\\' . $file_name; - } - - if (class_exists($bulkActionClass)) { - event(new BulkActionsAdding(app($bulkActionClass))); - - $bulkActions = app($bulkActionClass)->actions; - } else { - $b = new \stdClass(); - $b->actions = []; - - event(new BulkActionsAdding($b)); - - $bulkActions = $b->actions; - } - - return $bulkActions; - } - - protected function getBulkActionRouteParameters($type, $bulkActionRouteParameters) - { - if (!empty($bulkActionRouteParameters)) { - return $bulkActionRouteParameters; - } - - $group = config('type.' . $type . '.group'); - - if (!empty(config('type.' . $type . '.alias'))) { - $group = config('type.' . $type . '.alias'); - } - - $bulkActionRouteParameters = [ - 'group' => $group, - 'type' => config('type.' . $type . '.route.prefix') - ]; - - return $bulkActionRouteParameters; - } - - protected function getClassBulkAction($type, $classBulkAction) - { - if (!empty($classBulkAction)) { - return $classBulkAction; - } - - $class = $this->getClassFromConfig($type, 'bulk_action'); - - if (!empty($class)) { - return $class; - } - - return 'col-sm-2 col-md-1 col-lg-1 col-xl-1 d-none d-sm-block'; - } - - protected function getTextDocumentNumber($type, $textDocumentNumber) - { - if (!empty($textDocumentNumber)) { - return $textDocumentNumber; - } - - $translation = $this->getTextFromConfig($type, 'document_number', 'numbers'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.numbers'; - } - - protected function getClassDocumentNumber($type, $classDocumentNumber) - { - if (!empty($classDocumentNumber)) { - return $classDocumentNumber; - } - - if ($classDocumentNumber = $this->getClass('classDocumentNumber')) { - return $classDocumentNumber; - } - - $class = $this->getClassFromConfig($type, 'document_number'); - - if (!empty($class)) { - return $class; - } - - return 'col-md-2 col-lg-1 col-xl-1 d-none d-md-block'; - } - - protected function getTextContactName($type, $textContactName) - { - if (!empty($textContactName)) { - return $textContactName; - } - - $default_key = Str::plural(config('type.' . $type . '.contact_type'), 2); - - $translation = $this->getTextFromConfig($type, 'contact_name', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.customers'; - } - - protected function getClassContactName($type, $classContactName) - { - if (!empty($classContactName)) { - return $classContactName; - } - - if ($classContactName = $this->getClass('classContactName')) { - return $classContactName; - } - - $class = $this->getClassFromConfig($type, 'contact_name'); - - if (!empty($class)) { - return $class; - } - - return 'col-xs-4 col-sm-4 col-md-4 col-lg-2 col-xl-2 text-left long-texts'; - } - - protected function getClassAmount($type, $classAmount) - { - if (!empty($classAmount)) { - return $classAmount; - } - - if ($classAmount = $this->getClass('classAmount')) { - return $classAmount; - } - - $class = $this->getClassFromConfig($type, 'amount'); - - if (!empty($class)) { - return $class; - } - - return 'col-xs-4 col-sm-4 col-md-3 col-lg-2 col-xl-2 text-right'; - } - - protected function getTextIssuedAt($type, $textIssuedAt) - { - if (!empty($textIssuedAt)) { - return $textIssuedAt; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_date'; - break; - default: - $default_key = 'invoice_date'; - break; - } - - $translation = $this->getTextFromConfig($type, 'issued_at', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.invoice_date'; - } - - protected function getClassIssuedAt($type, $classIssuedAt) - { - if (!empty($classIssuedAt)) { - return $classIssuedAt; - } - - if ($classIssuedAt = $this->getClass('classIssuedAt')) { - return $classIssuedAt; - } - - $class = $this->getClassFromConfig($type, 'issued_at'); - - if (!empty($class)) { - return $class; - } - - return 'col-lg-2 col-xl-2 d-none d-lg-block text-left'; - } - - protected function getTextDueAt($type, $textDueAt) - { - if (!empty($textDueAt)) { - return $textDueAt; - } - - $translation = $this->getTextFromConfig($type, 'due_at', 'due_date'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.due_date'; - } - - protected function getClassDueAt($type, $classDueAt) - { - if (!empty($classDueAt)) { - return $classDueAt; - } - - $class = $this->getClassFromConfig($type, 'due_at'); - - if (!empty($class)) { - return $class; - } - - if ($classDueAt = $this->getClass('classDueAt')) { - return $classDueAt; - } - - return 'col-lg-2 col-xl-2 d-none d-lg-block text-left'; - } - - protected function getTextDocumentStatus($type, $textDocumentStatus) - { - if (!empty($textDocumentStatus)) { - return $textDocumentStatus; - } - - $translation = $this->getTextFromConfig($type, 'document_status', 'statuses.'); - - if (!empty($translation)) { - return $translation; - } - - $alias = config('type.' . $type . '.alias'); - - if (!empty($alias)) { - $translation = $alias . '::' . config('type.' . $type . '.translation.prefix') . '.statuses'; - - if (is_array(trans($translation))) { - return $translation . '.'; - } - } - - return 'documents.statuses.'; - } - - protected function getClassStatus($type, $classStatus) - { - if (!empty($classStatus)) { - return $classStatus; - } - - if ($classStatus = $this->getClass('classStatus')) { - return $classStatus; - } - - $class = $this->getClassFromConfig($type, 'status'); - - if (!empty($class)) { - return $class; - } - - return 'col-lg-1 col-xl-1 d-none d-lg-block text-center'; - } - - protected function getClassActions($type, $classActions) - { - if (!empty($classActions)) { - return $classActions; - } - - if ($classActions = $this->getClass('classActions')) { - return $classActions; - } - - $class = $this->getClassFromConfig($type, 'actions'); - - if (!empty($class)) { - return $class; - } - - return 'col-xs-4 col-sm-2 col-md-2 col-lg-1 col-xl-1 text-center'; - } - - protected function getRouteButtonShow($type, $routeButtonShow) - { - if (!empty($routeButtonShow)) { - return $routeButtonShow; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'show', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.show'; - } - - protected function getRouteButtonEdit($type, $routeButtonEdit) - { - if (!empty($routeButtonEdit)) { - return $routeButtonEdit; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'edit', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.edit'; - } - - protected function getRouteButtonDuplicate($type, $routeButtonDuplicate) - { - if (!empty($routeButtonDuplicate)) { - return $routeButtonDuplicate; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'duplicate', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.duplicate'; - } - - protected function getRouteButtonCancelled($type, $routeButtonCancelled) - { - if (!empty($routeButtonCancelled)) { - return $routeButtonCancelled; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'cancelled', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.cancelled'; - } - - protected function getRouteButtonDelete($type, $routeButtonDelete) - { - if (!empty($routeButtonDelete)) { - return $routeButtonDelete; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'destroy', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.destroy'; - } - - protected function getTextModalDelete($type, $textModalDelete) - { - if (!empty($textModalDelete)) { - return $textModalDelete; - } - - if ($alias = config('type.' . $type . '.alias')) { - return $alias . '::general.' . Str::plural(str_replace('-', '_', $type)); - } - - return ''; - } - - protected function getPermissionCreate($type, $permissionCreate) - { - if (!empty($permissionCreate)) { - return $permissionCreate; - } - - $permissionCreate = $this->getPermissionFromConfig($type, 'create'); - - return $permissionCreate; - } - - protected function getPermissionUpdate($type, $permissionUpdate) - { - if (!empty($permissionUpdate)) { - return $permissionUpdate; - } - - $permissionUpdate = $this->getPermissionFromConfig($type, 'update'); - - return $permissionUpdate; - } - - protected function getPermissionDelete($type, $permissionDelete) - { - if (!empty($permissionDelete)) { - return $permissionDelete; - } - - $permissionDelete = $this->getPermissionFromConfig($type, 'delete'); - - return $permissionDelete; - } - - protected function calculateClass() - { - $hides = [ - 'BulkAction' => '1', - 'DocumentNumber' => '1', - 'ContactName' => '2', - 'Amount' => '2', - 'IssuedAt' => '2', - 'DueAt' => '2', - 'Status' => '1', - 'Actions' => '1', - ]; - - foreach ($hides as $hide => $count) { - if ($this->{'hide'. $hide}) { - $this->class_count -= $count; - } - } - } - - protected function getClass($type) - { - $hide_count = 12 - $this->class_count; - - if (empty($hide_count)) { - //return false; - } - - $class = false; - - switch($type) { - case 'classDocumentNumber': - switch ($hide_count) { - case 1: - $class = 'col-md-3 col-lg-2 col-xl-2 d-none d-md-block'; - $this->class_count++; - break; - case 2: - $class = 'col-md-4 col-lg-3 col-xl-3 d-none d-md-block'; - $this->class_count += 2; - break; - case 3: - $class = 'col-md-5 col-lg-4 col-xl-4 d-none d-md-block'; - $this->class_count += 3; - break; - } - } - - return $class; - } -} diff --git a/app/Abstracts/View/Components/DocumentShow.php b/app/Abstracts/View/Components/DocumentShow.php deleted file mode 100644 index 211b83183..000000000 --- a/app/Abstracts/View/Components/DocumentShow.php +++ /dev/null @@ -1,1621 +0,0 @@ -type = $type; - $this->document = $document; - $this->documentTemplate = $this->getDocumentTemplate($type, $documentTemplate); - $this->logo = $this->getLogo($logo); - $this->backgroundColor = $backgroundColor; - $this->signedUrl = $this->getSignedUrl($type, $signedUrl); - $this->routePrefix = $this->getRoutePrefix($type); - - $this->histories = ($histories) ? $histories : $document->histories; - $this->transactions = ($transactions) ? $transactions : $document->transactions; - - $this->date_format = $this->getCompanyDateFormat(); - $this->textRecurringType = $this->getTextRecurringType($type, $textRecurringType); - $this->textStatusMessage = $this->getTextStatusMessage($type, $textStatusMessage); - - $this->textHistories = $this->getTextHistories($type, $textHistories); - $this->textHistoryStatus = $this->getTextHistoryStatus($type, $textHistoryStatus); - - $this->checkButtonReconciled = $checkButtonReconciled; - $this->checkButtonCancelled = $checkButtonCancelled; - - $this->routeButtonAddNew = $this->getRouteButtonAddNew($type, $routeButtonAddNew); - $this->routeButtonEdit = $this->getRouteButtonEdit($type, $routeButtonEdit); - $this->routeButtonDuplicate = $this->getRouteButtonDuplicate($type, $routeButtonDuplicate); - $this->routeButtonPrint = $this->getRouteButtonPrint($type, $routeButtonPrint); - $this->routeButtonPdf = $this->getRouteButtonPdf($type, $routeButtonPdf); - $this->routeButtonCancelled = $this->getRouteButtonCancelled($type, $routeButtonCancelled); - $this->routeButtonCustomize = $this->getRouteButtonCustomize($type, $routeButtonCustomize); - $this->routeButtonDelete = $this->getRouteButtonDelete($type, $routeButtonDelete); - $this->routeButtonPaid = $this->getRouteButtonPaid($type, $routeButtonPaid); - $this->routeContactShow = $this->getRouteContactShow($type, $routeContactShow); - - $this->permissionCreate = $this->getPermissionCreate($type, $permissionCreate); - $this->permissionUpdate = $this->getPermissionUpdate($type, $permissionUpdate); - $this->permissionDelete = $this->getPermissionDelete($type, $permissionDelete); - $this->permissionTransactionDelete = $this->getPermissionTransactionDelete($type, $permissionTransactionDelete); - $this->permissionButtonCustomize = $this->getPermissionButtonCustomize($type, $permissionButtonCustomize); - - $this->hideButtonGroupDivider1 = $hideButtonGroupDivider1; - $this->hideButtonGroupDivider2 = $hideButtonGroupDivider2; - $this->hideButtonGroupDivider3 = $hideButtonGroupDivider3; - - $this->hideButtonMoreActions = $hideButtonMoreActions; - $this->hideButtonAddNew = $hideButtonAddNew; - $this->hideButtonEdit = $hideButtonEdit; - $this->hideButtonDuplicate = $hideButtonDuplicate; - $this->hideButtonPrint = $hideButtonPrint; - $this->hideButtonPdf = $hideButtonPdf; - $this->hideButtonCancel = $hideButtonCancel; - $this->hideButtonCustomize = $hideButtonCustomize; - $this->hideButtonDelete = $hideButtonDelete; - - $this->hideHeader = $hideHeader; - $this->hideRecurringMessage = $hideRecurringMessage; - $this->hideStatusMessage = $hideStatusMessage; - $this->hideTimeline = $hideTimeline; - $this->hideFooter = $hideFooter; - $this->hideFooterHistories = $hideFooterHistories; - $this->hideFooterTransactions = $hideFooterTransactions; - - $this->classHeaderStatus = $this->getClassHeaderStatus($type, $classHeaderStatus); - $this->classHeaderContact = $this->getClassHeaderContact($type, $classHeaderContact); - $this->classHeaderAmount = $this->getClassHeaderAmount($type, $classHeaderAmount); - $this->classHeaderDueAt = $this->getClassHeaderDueAt($type, $classHeaderDueAt); - - $this->classFooterHistories = $this->getClassFooterHistories($type, $classFooterHistories); - $this->classFooterTransactions = $this->getClassFooterTransactions($type, $classFooterTransactions); - - $this->hideHeaderStatus = $hideHeaderStatus; - $this->hideHeaderContact = $hideHeaderContact; - $this->hideHeaderAmount = $hideHeaderAmount; - $this->hideHeaderDueAt = $hideHeaderDueAt; - - $this->textHeaderContact = $this->getTextHeaderContact($type, $textHeaderContact); - $this->textHeaderAmount = $this->getTextHeaderAmount($type, $textHeaderAmount); - $this->textHeaderDueAt = $this->getTextHeaderDueAt($type, $textHeaderDueAt); - - $this->hideTimelineStatuses = $this->getTimelineStatuses($type, $hideTimelineStatuses); - - $this->hideTimelineCreate = $hideTimelineCreate; - $this->hideTimelineSent = $hideTimelineSent; - $this->hideTimelinePaid = $hideTimelinePaid; - $this->hideButtonSent = $hideButtonSent; - $this->hideButtonReceived = $hideButtonReceived; - $this->hideButtonEmail = $hideButtonEmail; - $this->hideButtonShare = $hideButtonShare; - $this->hideButtonPaid = $hideButtonPaid; - - $this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle); - $this->textDocumentSubheading = $this->gettextDocumentSubheading($type, $textDocumentSubheading); - $this->textTimelineCreateTitle = $this->getTextTimelineCreateTitle($type, $textTimelineCreateTitle); - $this->textTimelineCreateMessage = $this->getTextTimelineCreateMessage($type, $textTimelineCreateMessage); - $this->textTimelineSentTitle = $this->getTextTimelineSentTitle($type, $textTimelineSentTitle); - $this->textTimelineSentStatusDraft = $this->getTextTimelineSentStatusDraft($type, $textTimelineSentStatusDraft); - $this->textTimelineSentStatusMarkSent = $this->getTextTimelineSentStatusMarkSent($type, $textTimelineSentStatusMarkSent); - $this->textTimelineSentStatusReceived = $this->getTextTimelineSentStatusReceived($type, $textTimelineSentStatusReceived); - $this->textTimelineSendStatusMail = $this->getTextTimelineSendStatusMail($type, $textTimelineSendStatusMail); - $this->textTimelineGetPaidTitle = $this->getTextTimelineGetPaidTitle($type, $textTimelineGetPaidTitle); - $this->textTimelineGetPaidStatusAwait = $this->getTextTimelineGetPaidStatusAwait($type, $textTimelineGetPaidStatusAwait); - $this->textTimelineGetPaidStatusPartiallyPaid = $this->getTextTimelineGetPaidStatusPartiallyPaid($type, $textTimelineGetPaidStatusPartiallyPaid); - $this->textTimelineGetPaidMarkPaid = $this->getTextTimelineGetPaidMarkPaid($type, $textTimelineGetPaidMarkPaid); - $this->textTimelineGetPaidAddPayment = $this->getTextTimelineGetPaidAddPayment($type, $textTimelineGetPaidAddPayment); - - $this->routeButtonSent = $this->getRouteButtonSent($type, $routeButtonSent); - $this->routeButtonReceived = $this->getRouteButtonReceived($type, $routeButtonReceived); - $this->routeButtonEmail = $this->getRouteButtonEmail($type, $routeButtonEmail); - - $this->hideCompanyDetails = $hideCompanyDetails; - $this->hideCompanyLogo = $hideCompanyLogo; - $this->hideCompanyName = $hideCompanyName; - $this->hideContactAddress = $hideContactAddress; - $this->hideContactTaxNumber = $hideContactTaxNumber; - $this->hideContactPhone = $hideContactPhone; - $this->hideContactEmail = $hideContactEmail; - $this->hideOrderNumber = $hideOrderNumber; - $this->hideDocumentNumber = $hideDocumentNumber; - $this->hideOrderNumber = $hideOrderNumber; - $this->hideIssuedAt = $hideIssuedAt; - $this->hideDueAt = $hideDueAt; - - $this->textContactInfo = $textContactInfo; - $this->textIssuedAt = $textIssuedAt; - $this->textDocumentNumber = $textDocumentNumber; - $this->textDueAt = $textDueAt; - $this->textOrderNumber = $textOrderNumber; - - $this->hideItems = $this->getHideItems($type, $hideItems, $hideName, $hideDescription); - $this->hideName = $this->getHideName($type, $hideName); - $this->hideDescription = $this->getHideDescription($type, $hideDescription); - $this->hideQuantity = $this->getHideQuantity($type, $hideQuantity); - $this->hidePrice = $this->getHidePrice($type, $hidePrice); - $this->hideDiscount = $this->getHideDiscount($type, $hideDiscount); - $this->hideAmount = $this->getHideAmount($type, $hideAmount); - $this->hideNote = $hideNote; - $this->hideAttachment = $hideAttachment; - - $this->attachment = ''; - - if (!empty($attachment)) { - $this->attachment = $attachment; - } else if (!empty($document)) { - $this->attachment = $document->attachment; - } - - $this->textItems = $textItems; - $this->textQuantity = $textQuantity; - $this->textPrice = $textPrice; - $this->textAmount = $textAmount; - - $this->textDeleteModal = $textDeleteModal; - } - - protected function getTextRecurringType($type, $textRecurringType) - { - if (!empty($textRecurringType)) { - return $textRecurringType; - } - - $default_key = config('type.' . $type . '.translation.prefix'); - - $translation = $this->getTextFromConfig($type, 'recurring_tye', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'general.invoices'; - } - - protected function getTextStatusMessage($type, $textStatusMessage) - { - if (!empty($textStatusMessage)) { - return $textStatusMessage; - } - - $default_key = 'messages.draft'; - - $translation = $this->getTextFromConfig($type, 'status_message', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.messages.draft'; - } - - protected function getDocumentTemplate($type, $documentTemplate) - { - if (!empty($documentTemplate)) { - return $documentTemplate; - } - - if ($template = config('type.' . $type . 'template', false)) { - return $template; - } - - $documentTemplate = setting($this->getSettingKey($type, 'template')) ?: 'default'; - - return $documentTemplate; - } - - protected function getLogo($logo) - { - if (!empty($logo)) { - return $logo; - } - - $media_id = (!empty($this->document->contact->logo) && !empty($this->document->contact->logo->id)) ? $this->document->contact->logo->id : setting('company.logo'); - - $media = Media::find($media_id); - - if (!empty($media)) { - $path = $media->getDiskPath(); - - if (Storage::missing($path)) { - return $logo; - } - } else { - $path = base_path('public/img/company.png'); - } - - try { - $image = Image::cache(function($image) use ($media, $path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - if ($media) { - $image->make(Storage::get($path))->resize($width, $height)->encode(); - } else { - $image->make($path)->resize($width, $height)->encode(); - } - }); - } catch (NotReadableException | \Exception $e) { - Log::info('Company ID: ' . company_id() . ' components/documentshow.php exception.'); - Log::info($e->getMessage()); - - $path = base_path('public/img/company.png'); - - $image = Image::cache(function($image) use ($path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - $image->make($path)->resize($width, $height)->encode(); - }); - } - - if (empty($image)) { - return $logo; - } - - $extension = File::extension($path); - - return 'data:image/' . $extension . ';base64,' . base64_encode($image); - } - - protected function getSignedUrl($type, $signedUrl) - { - if (!empty($signedUrl)) { - return $signedUrl; - } - - $page = config('type.' . $type . '.route.prefix'); - $alias = config('type.' . $type . '.alias'); - - $route = ''; - - if (!empty($alias)) { - $route .= $alias . '.'; - } - - $route .= 'signed.' . $page . '.show'; - - try { - route($route, [$this->document->id, 'company_id' => company_id()]); - - $signedUrl = URL::signedRoute($route, [$this->document->id]); - } catch (\Exception $e) { - $signedUrl = URL::signedRoute('signed.invoices.show', [$this->document->id]); - } - - return $signedUrl; - } - - protected function getTextHistories($type, $textHistories) - { - if (!empty($textHistories)) { - return $textHistories; - } - - $translation = $this->getTextFromConfig($type, 'histories', 'histories'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.histories'; - } - - protected function getTextHistoryStatus($type, $textHistoryStatus) - { - if (!empty($textHistoryStatus)) { - return $textHistoryStatus; - } - - $translation = $this->getTextFromConfig($type, 'document_status', 'statuses.'); - - if (!empty($translation)) { - return $translation; - } - - $alias = config('type.' . $type . '.alias'); - - if (!empty($alias)) { - $translation = $alias . '::' . config('type.' . $type . '.translation.prefix') . '.statuses'; - - if (is_array(trans($translation))) { - return $translation . '.'; - } - } - - return 'documents.statuses.'; - } - - protected function getRouteButtonAddNew($type, $routeButtonAddNew) - { - if (!empty($routeButtonAddNew)) { - return $routeButtonAddNew; - } - - $route = $this->getRouteFromConfig($type, 'create'); - - if (!empty($route)) { - return $route; - } - - return 'invoices.create'; - } - - protected function getRouteButtonEdit($type, $routeButtonEdit) - { - if (!empty($routeButtonEdit)) { - return $routeButtonEdit; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'edit', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.edit'; - } - - protected function getRouteButtonDuplicate($type, $routeButtonDuplicate) - { - if (!empty($routeButtonDuplicate)) { - return $routeButtonDuplicate; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'duplicate', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.duplicate'; - } - - protected function getRouteButtonPrint($type, $routeButtonPrint) - { - if (!empty($routeButtonPrint)) { - return $routeButtonPrint; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'print', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.print'; - } - - protected function getRouteButtonPdf($type, $routeButtonPdf) - { - if (!empty($routeButtonPdf)) { - return $routeButtonPdf; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'pdf', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.pdf'; - } - - protected function getRouteButtonCancelled($type, $routeButtonCancelled) - { - if (!empty($routeButtonCancelled)) { - return $routeButtonCancelled; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'cancelled', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.cancelled'; - } - - protected function getRouteButtonCustomize($type, $routeButtonCustomize) - { - if (!empty($routeButtonCustomize)) { - return $routeButtonCustomize; - } - - $route = ''; - - $alias = config('type.' . $type . '.alias'); - - if (!empty($alias)) { - $route .= $alias . '.'; - } - - $route .= 'settings.' . $type . '.edit'; - - try { - route($route); - } catch (\Exception $e) { - $route = 'settings.invoice.edit'; - } - - return $route; - } - - protected function getRouteButtonDelete($type, $routeButtonDelete) - { - if (!empty($routeButtonDelete)) { - return $routeButtonDelete; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'destroy', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.destroy'; - } - - protected function getRouteButtonPaid($type, $routeButtonPaid) - { - if (!empty($routeButtonPaid)) { - return $routeButtonPaid; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'paid', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.paid'; - } - - protected function getRouteContactShow($type, $routeContactShow) - { - if (!empty($routeContactShow)) { - return $routeContactShow; - } - - //example route parameter. - $parameter = 1; - - $route = Str::plural(config('type.' . $type . '.contact_type'), 2) . '.show'; - - try { - route($route, $parameter); - } catch (\Exception $e) { - try { - $route = Str::plural($type, 2) . '.' . $config_key; - - route($route, $parameter); - } catch (\Exception $e) { - $route = ''; - } - } - - if (!empty($route)) { - return $route; - } - - return 'customers.show'; - } - - protected function getRouteButtonSent($type, $routeButtonSent) - { - if (!empty($routeButtonSent)) { - return $routeButtonSent; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'sent', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.sent'; - } - - protected function getRouteButtonReceived($type, $routeButtonReceived) - { - if (!empty($routeButtonReceived)) { - return $routeButtonReceived; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'received', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.received'; - } - - protected function getRouteButtonEmail($type, $routeButtonEmail) - { - if (!empty($routeButtonEmail)) { - return $routeButtonEmail; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'email', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.email'; - } - - protected function getPermissionCreate($type, $permissionCreate) - { - if (!empty($permissionCreate)) { - return $permissionCreate; - } - - $permissionCreate = $this->getPermissionFromConfig($type, 'create'); - - return $permissionCreate; - } - - protected function getPermissionUpdate($type, $permissionUpdate) - { - if (!empty($permissionUpdate)) { - return $permissionUpdate; - } - - $permissionUpdate = $this->getPermissionFromConfig($type, 'update'); - - return $permissionUpdate; - } - - protected function getPermissionDelete($type, $permissionDelete) - { - if (!empty($permissionDelete)) { - return $permissionDelete; - } - - $permissionDelete = $this->getPermissionFromConfig($type, 'delete'); - - return $permissionDelete; - } - - protected function getPermissionTransactionDelete($type, $permissionTransactionDelete) - { - if (!empty($permissionTransactionDelete)) { - return $permissionTransactionDelete; - } - - $permissionTransactionDelete = 'delete-banking-transactions'; - - return $permissionTransactionDelete; - } - - protected function getPermissionButtonCustomize($type, $permissionButtonCustomize) - { - if (!empty($permissionButtonCustomize)) { - return $permissionButtonCustomize; - } - - $permissionUpdate = $this->getPermissionFromConfig($type, 'update'); - - return $permissionUpdate; - } - - protected function getTextHeaderContact($type, $textHeaderContact) - { - if (!empty($textHeaderContact)) { - return $textHeaderContact; - } - - $default_key = Str::plural(config('type.' . $type . '.contact_type'), 2); - - $translation = $this->getTextFromConfig($type, 'header_contact', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.customers'; - } - - protected function getTextHeaderAmount($type, $textHeaderAmount) - { - if (!empty($textHeaderAmount)) { - return $textHeaderAmount; - } - - $translation = $this->getTextFromConfig($type, 'header_amount', 'amount_due'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount_due'; - } - - protected function getTextHeaderDueAt($type, $textHeaderDueAt) - { - if (!empty($textHeaderDueAt)) { - return $textHeaderDueAt; - } - - $translation = $this->getTextFromConfig($type, 'header_due_at', 'due_on'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.due_on'; - } - - protected function getClassHeaderStatus($type, $classHeaderStatus) - { - if (!empty($classHeaderStatus)) { - return $classHeaderStatus; - } - - $class = $this->getClassFromConfig($type, 'header_status'); - - if (!empty($class)) { - return $class; - } - - return 'col-md-2'; - } - - protected function getClassHeaderContact($type, $classHeaderContact) - { - if (!empty($classHeaderContact)) { - return $classHeaderContact; - } - - $class = $this->getClassFromConfig($type, 'header_contact'); - - if (!empty($class)) { - return $class; - } - - return 'col-md-6'; - } - - protected function getClassHeaderAmount($type, $classHeaderAmount) - { - if (!empty($classHeaderAmount)) { - return $classHeaderAmount; - } - - $class = $this->getClassFromConfig($type, 'header_amount'); - - if (!empty($class)) { - return $class; - } - - return 'col-md-2'; - } - - protected function getClassHeaderDueAt($type, $classHeaderDueAt) - { - if (!empty($classHeaderDueAt)) { - return $classHeaderDueAt; - } - - $class = $this->getClassFromConfig($type, 'header_due_at'); - - if (!empty($class)) { - return $class; - } - - return 'col-md-2'; - } - - protected function getClassFooterHistories($type, $classFooterHistories) - { - if (!empty($classFooterHistories)) { - return $classFooterHistories; - } - - $class = $this->getClassFromConfig($type, 'footer_histories'); - - if (!empty($class)) { - return $class; - } - - return 'col-sm-6 col-md-6 col-lg-6 col-xl-6'; - } - - protected function getClassFooterTransactions($type, $classFooterTransactions) - { - if (!empty($classFooterTransactions)) { - return $classFooterTransactions; - } - - $class = $this->getClassFromConfig($type, 'footer_transactions'); - - if (!empty($class)) { - return $class; - } - - return 'col-sm-6 col-md-6 col-lg-6 col-xl-6'; - } - - protected function getTimelineStatuses($type, $hideTimelineStatuses) - { - if (!empty($hideTimelineStatuses)) { - return $hideTimelineStatuses; - } - - $hideTimelineStatuses = ['paid', 'cancelled']; - - if ($timelime_statuses = config('type.' . $type . '.timeline_statuses')) { - $hideTimelineStatuses = $timelime_statuses; - } - - return $hideTimelineStatuses; - } - - protected function getTextDocumentTitle($type, $textDocumentTitle) - { - if (!empty($textDocumentTitle)) { - return $textDocumentTitle; - } - - $key = $this->getSettingKey($type, 'title'); - - if (!empty(setting($key))) { - return setting($key); - } - - $translation = $this->getTextFromConfig($type, 'document_title', Str::plural($type), 'trans_choice'); - - if (!empty($translation)) { - return trans_choice($translation, 1); - } - - return setting('invoice.title'); - } - - protected function getTextDocumentSubheading($type, $textDocumentSubheading) - { - if (!empty($textDocumentSubheading)) { - return $textDocumentSubheading; - } - - $key = $this->getSettingKey($type, 'subheading'); - - if (!empty(setting($key))) { - return setting($key); - } - - $translation = $this->getTextFromConfig($type, 'document_subheading', 'subheading'); - - if (!empty($translation)) { - return trans($translation); - } - - return setting('invoice.subheading'); - } - - protected function getTextTimelineCreateTitle($type, $textTimelineCreateTitle) - { - if (!empty($textTimelineCreateTitle)) { - return $textTimelineCreateTitle; - } - - $default_key = 'create_' . str_replace('-', '_', $type); - - $translation = $this->getTextFromConfig($type, 'timeline_create_title', $default_key); - - if (!empty($translation)) { - return $translation; - } - - $default_key = 'create_' . str_replace('-', '_', config('type.' . $type . '.alias')); - - $translation = $this->getTextFromConfig($type, 'timeline_create_title', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.create_invoice'; - } - - protected function getTextTimelineCreateMessage($type, $textTimelineCreateMessage) - { - if (!empty($textTimelineCreateMessage)) { - return $textTimelineCreateMessage; - } - - $translation = $this->getTextFromConfig($type, 'timeline_create_message', 'messages.status.created'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.messages.status.created'; - } - - protected function getTextTimelineSentTitle($type, $textTimelineSentTitle) - { - if (!empty($textTimelineSentTitle)) { - return $textTimelineSentTitle; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'receive_bill'; - break; - default: - $default_key = 'send_invoice'; - break; - } - - $translation = $this->getTextFromConfig($type, 'timeline_sent_title', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.send_invoice'; - } - - protected function getTextTimelineSentStatusDraft($type, $textTimelineSentStatusDraft) - { - if (!empty($textTimelineSentStatusDraft)) { - return $textTimelineSentStatusDraft; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'messages.status.receive.draft'; - break; - default: - $default_key = 'messages.status.send.draft'; - break; - } - - $translation = $this->getTextFromConfig($type, 'timeline_sent_status_draft', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.messages.status.send.draft'; - } - - protected function getTextTimelineSentStatusMarkSent($type, $textTimelineSentStatusMarkSent) - { - if (!empty($textTimelineSentStatusMarkSent)) { - return $textTimelineSentStatusMarkSent; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'mark_received'; - break; - default: - $default_key = 'mark_sent'; - break; - } - - $translation = $this->getTextFromConfig($type, 'timeline_sent_status_mark_sent', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.mark_sent'; - } - - protected function getTextTimelineSentStatusReceived($type, $textTimelineSentStatusReceived) - { - if (!empty($textTimelineSentStatusReceived)) { - return $textTimelineSentStatusReceived; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'mark_received'; - break; - default: - $default_key = 'mark_sent'; - break; - } - - $translation = $this->getTextFromConfig($type, 'timeline_sent_status_received', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.mark_sent'; - } - - protected function getTextTimelineSendStatusMail($type, $textTimelineSendStatusMail) - { - if (!empty($textTimelineSendStatusMail)) { - return $textTimelineSendStatusMail; - } - - $translation = $this->getTextFromConfig($type, 'timeline_sent_status_mail', 'send_mail'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.send_mail'; - } - - protected function getTextTimelineGetPaidTitle($type, $textTimelineGetPaidTitle) - { - if (!empty($textTimelineGetPaidTitle)) { - return $textTimelineGetPaidTitle; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'make_payment'; - break; - default: - $default_key = 'get_paid'; - break; - } - - $translation = $this->getTextFromConfig($type, 'timeline_get_paid_title', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.get_paid'; - } - - protected function getTextTimelineGetPaidStatusAwait($type, $textTimelineGetPaidStatusAwait) - { - if (!empty($textTimelineGetPaidStatusAwait)) { - return $textTimelineGetPaidStatusAwait; - } - - $translation = $this->getTextFromConfig($type, 'timeline_get_paid_status_await', 'messages.status.paid.await'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.messages.status.paid.await'; - } - - protected function getTextTimelineGetPaidStatusPartiallyPaid($type, $textTimelineGetPaidStatusPartiallyPaid) - { - if (!empty($textTimelineGetPaidStatusPartiallyPaid)) { - return $textTimelineGetPaidStatusPartiallyPaid; - } - - $translation = $this->getTextFromConfig($type, 'timeline_get_paid_status_partially_paid', 'partially_paid'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.partially_paid'; - } - - protected function getTextTimelineGetPaidMarkPaid($type, $textTimelineGetPaidMarkPaid) - { - if (!empty($textTimelineGetPaidMarkPaid)) { - return $textTimelineGetPaidMarkPaid; - } - - $translation = $this->getTextFromConfig($type, 'timeline_get_paid_mark_paid', 'mark_paid'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.mark_paid'; - } - - protected function getTextTimelineGetPaidAddPayment($type, $textTimelineGetPaidAddPayment) - { - if (!empty($textTimelineGetPaidAddPayment)) { - return $textTimelineGetPaidAddPayment; - } - - $translation = $this->getTextFromConfig($type, 'timeline_get_paid_add_payment', 'add_payment'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.add_payment'; - } - - protected function getHideItems($type, $hideItems, $hideName, $hideDescription) - { - if (!empty($hideItems)) { - return $hideItems; - } - - $hide = $this->getHideFromConfig($type, 'items'); - - if ($hide) { - return $hide; - } - - $hideItems = ($this->getHideName($type, $hideName) & $this->getHideDescription($type, $hideDescription)) ? true : false; - - return $hideItems; - } - - protected function getHideName($type, $hideName) - { - if (!empty($hideName)) { - return $hideName; - } - - // if you use settting translation - if ($hideName = setting($this->getSettingKey($type, 'hide_item_name'), false)) { - return $hideName; - } - - $hide = $this->getHideFromConfig($type, 'name'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_item_name', $hideName); - } - - protected function getHideDescription($type, $hideDescription) - { - if (!empty($hideDescription)) { - return $hideDescription; - } - - // if you use settting translation - if ($hideDescription = setting($this->getSettingKey($type, 'hide_item_description'), false)) { - return $hideDescription; - } - - $hide = $this->getHideFromConfig($type, 'description'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_item_description', $hideDescription); - } - - protected function getHideQuantity($type, $hideQuantity) - { - if (!empty($hideQuantity)) { - return $hideQuantity; - } - - // if you use settting translation - if ($hideQuantity = setting($this->getSettingKey($type, 'hide_quantity'), false)) { - return $hideQuantity; - } - - $hide = $this->getHideFromConfig($type, 'quantity'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_quantity', $hideQuantity); - } - - protected function getHidePrice($type, $hidePrice) - { - if (!empty($hidePrice)) { - return $hidePrice; - } - - // if you use settting translation - if ($hidePrice = setting($this->getSettingKey($type, 'hide_price'), false)) { - return $hidePrice; - } - - $hide = $this->getHideFromConfig($type, 'price'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_price', $hidePrice); - } - - protected function getHideDiscount($type, $hideDiscount) - { - if (!empty($hideDiscount)) { - return $hideDiscount; - } - - // if you use settting translation - if ($hideDiscount = setting($this->getSettingKey($type, 'hide_discount'), false)) { - return $hideDiscount; - } - - $hide = $this->getHideFromConfig($type, 'discount'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_discount', $hideDiscount); - } - - protected function getHideAmount($type, $hideAmount) - { - if (!empty($hideAmount)) { - return $hideAmount; - } - - // if you use settting translation - if ($hideAmount = setting($this->getSettingKey($type, 'hide_amount'), false)) { - return $hideAmount; - } - - $hide = $this->getHideFromConfig($type, 'amount'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_amount', $hideAmount); - } - - protected function getRoutePrefix($type) { - if ($prefix = config('type.' . $type . '.route.prefix', false)){ - return 'invoices'; - } - - return $prefix; - } -} diff --git a/app/Abstracts/View/Components/DocumentTemplate.php b/app/Abstracts/View/Components/DocumentTemplate.php deleted file mode 100644 index c8b44c6e3..000000000 --- a/app/Abstracts/View/Components/DocumentTemplate.php +++ /dev/null @@ -1,666 +0,0 @@ -type = $type; - $this->item = $item; - $this->document = $document; - $this->documentTemplate = $this->getDocumentTemplate($type, $documentTemplate); - $this->logo = $this->getLogo($logo); - $this->backgroundColor = $this->getBackgroundColor($type, $backgroundColor); - - $this->hideFooter = $hideFooter; - $this->hideCompanyLogo = $hideCompanyLogo; - $this->hideCompanyDetails = $hideCompanyDetails; - $this->hideCompanyName = $hideCompanyName; - $this->hideCompanyAddress = $hideCompanyAddress; - $this->hideCompanyTaxNumber = $hideCompanyTaxNumber; - $this->hideCompanyPhone = $hideCompanyPhone; - $this->hideCompanyEmail = $hideCompanyEmail; - $this->hideContactInfo = $hideContactInfo; - $this->hideContactName = $hideContactName; - $this->hideContactAddress = $hideContactAddress; - $this->hideContactTaxNumber = $hideContactTaxNumber; - $this->hideContactPhone = $hideContactPhone; - $this->hideContactEmail = $hideContactEmail; - $this->hideOrderNumber = $hideOrderNumber; - $this->hideDocumentNumber = $hideDocumentNumber; - $this->hideIssuedAt = $hideIssuedAt; - $this->hideDueAt = $hideDueAt; - - $this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle); - $this->textDocumentSubheading = $this->gettextDocumentSubheading($type, $textDocumentSubheading); - $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); - $this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); - $this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber); - $this->textDueAt = $this->getTextDueAt($type, $textDueAt); - $this->textOrderNumber = $this->getTextOrderNumber($type, $textOrderNumber); - - $this->hideItems = $this->getHideItems($type, $hideItems, $hideName, $hideDescription); - $this->hideName = $this->getHideName($type, $hideName); - $this->hideDescription = $this->getHideDescription($type, $hideDescription); - $this->hideQuantity = $this->getHideQuantity($type, $hideQuantity); - $this->hidePrice = $this->getHidePrice($type, $hidePrice); - $this->hideDiscount = $this->getHideDiscount($type, $hideDiscount); - $this->hideAmount = $this->getHideAmount($type, $hideAmount); - $this->hideNote = $hideNote; - - $this->textItems = $this->getTextItems($type, $textItems); - $this->textQuantity = $this->getTextQuantity($type, $textQuantity); - $this->textPrice = $this->getTextPrice($type, $textPrice); - $this->textAmount = $this->getTextAmount($type, $textAmount); - } - - protected function getDocumentTemplate($type, $documentTemplate) - { - if (!empty($documentTemplate)) { - return $documentTemplate; - } - - if ($template = config('type.' . $type . 'template', false)) { - return $template; - } - - $documentTemplate = setting($this->getSettingKey($type, 'template'), 'default'); - - return $documentTemplate; - } - - protected function getLogo($logo) - { - if (!empty($logo)) { - return $logo; - } - - $media_id = (!empty($this->document->contact->logo) && !empty($this->document->contact->logo->id)) ? $this->document->contact->logo->id : setting('company.logo'); - - $media = Media::find($media_id); - - if (!empty($media)) { - $path = $media->getDiskPath(); - - if (Storage::missing($path)) { - return $logo; - } - } else { - $path = base_path('public/img/company.png'); - } - - try { - $image = Image::cache(function($image) use ($media, $path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - if ($media) { - $image->make(Storage::get($path))->resize($width, $height)->encode(); - } else { - $image->make($path)->resize($width, $height)->encode(); - } - }); - } catch (NotReadableException | \Exception $e) { - Log::info('Company ID: ' . company_id() . ' components/documentshow.php exception.'); - Log::info($e->getMessage()); - - $path = base_path('public/img/company.png'); - - $image = Image::cache(function($image) use ($path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - $image->make($path)->resize($width, $height)->encode(); - }); - } - - if (empty($image)) { - return $logo; - } - - $extension = File::extension($path); - - return 'data:image/' . $extension . ';base64,' . base64_encode($image); - } - - protected function getBackgroundColor($type, $backgroundColor) - { - if (!empty($backgroundColor)) { - return $backgroundColor; - } - - if ($background_color = config('type.' . $type . 'color', false)) { - return $background_color; - } - - $backgroundColor = setting($this->getSettingKey($type, 'color'), '#55588b'); - - return $backgroundColor; - } - - protected function getTextDocumentTitle($type, $textDocumentTitle) - { - if (!empty($textDocumentTitle)) { - return $textDocumentTitle; - } - - $key = $this->getSettingKey($type, 'title'); - - if (!empty(setting($key))) { - return setting($key); - } - - $translation = $this->getTextFromConfig($type, 'document_title', Str::plural($type)); - - if (!empty($translation)) { - return trans_choice($translation, 1); - } - - return setting('invoice.title'); - } - - protected function getTextDocumentSubheading($type, $textDocumentSubheading) - { - if (!empty($textDocumentSubheading)) { - return $textDocumentSubheading; - } - - $key = $this->getSettingKey($type, 'subheading'); - - if (!empty(setting($key))) { - return setting($key); - } - - $translation = $this->getTextFromConfig($type, 'document_subheading', 'subheading'); - - if (!empty($translation)) { - return trans($translation); - } - - return false; - } - - protected function getTextDocumentNumber($type, $textDocumentNumber) - { - if (!empty($textDocumentNumber)) { - return $textDocumentNumber; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_number'; - break; - default: - $default_key = 'invoice_number'; - break; - } - - $translation = $this->getTextFromConfig($type, 'document_number', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'general.numbers'; - } - - protected function getTextOrderNumber($type, $textOrderNumber) - { - if (!empty($textOrderNumber)) { - return $textOrderNumber; - } - - $translation = $this->getTextFromConfig($type, 'order_number'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.order_number'; - } - - protected function getTextContactInfo($type, $textContactInfo) - { - if (!empty($textContactInfo)) { - return $textContactInfo; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_from'; - break; - default: - $default_key = 'bill_to'; - break; - } - - $translation = $this->getTextFromConfig($type, 'contact_info', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.bill_to'; - } - - protected function getTextIssuedAt($type, $textIssuedAt) - { - if (!empty($textIssuedAt)) { - return $textIssuedAt; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_date'; - break; - default: - $default_key = 'invoice_date'; - break; - } - - $translation = $this->getTextFromConfig($type, 'issued_at', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.invoice_date'; - } - - protected function getTextDueAt($type, $textDueAt) - { - if (!empty($textDueAt)) { - return $textDueAt; - } - - $translation = $this->getTextFromConfig($type, 'due_at', 'due_date'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.due_date'; - } - - protected function getTextItems($type, $textItems) - { - if (!empty($textItems)) { - return $textItems; - } - - // if you use settting translation - if (setting($this->getSettingKey($type, 'item_name'), 'items') === 'custom') { - if (empty($textItems = setting($this->getSettingKey($type, 'item_name_input')))) { - $textItems = 'general.items'; - } - - return $textItems; - } - - if (setting($this->getSettingKey($type, 'item_name')) !== null && - (trans(setting($this->getSettingKey($type, 'item_name'))) != setting($this->getSettingKey($type, 'item_name'))) - ) { - return setting($this->getSettingKey($type, 'item_name')); - } - - $translation = $this->getTextFromConfig($type, 'items'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.items'; - } - - protected function getTextQuantity($type, $textQuantity) - { - if (!empty($textQuantity)) { - return $textQuantity; - } - - // if you use settting translation - if (setting($this->getSettingKey($type, 'quantity_name'), 'quantity') === 'custom') { - if (empty($textQuantity = setting($this->getSettingKey($type, 'quantity_name_input')))) { - $textQuantity = 'invoices.quantity'; - } - - return $textQuantity; - } - - if (setting($this->getSettingKey($type, 'quantity_name')) !== null && - (trans(setting($this->getSettingKey($type, 'quantity_name'))) != setting($this->getSettingKey($type, 'quantity_name'))) - ) { - return setting($this->getSettingKey($type, 'quantity_name')); - } - - $translation = $this->getTextFromConfig($type, 'quantity'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.quantity'; - } - - protected function getTextPrice($type, $textPrice) - { - if (!empty($textPrice)) { - return $textPrice; - } - - // if you use settting translation - if (setting($this->getSettingKey($type, 'price_name'), 'price') === 'custom') { - if (empty($textPrice = setting($this->getSettingKey($type, 'price_name_input')))) { - $textPrice = 'invoices.price'; - } - - return $textPrice; - } - - if (setting($this->getSettingKey($type, 'price_name')) !== null && - (trans(setting($this->getSettingKey($type, 'price_name'))) != setting($this->getSettingKey($type, 'price_name'))) - ) { - return setting($this->getSettingKey($type, 'price_name')); - } - - $translation = $this->getTextFromConfig($type, 'price'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.price'; - } - - protected function getTextAmount($type, $textAmount) - { - if (!empty($textAmount)) { - return $textAmount; - } - - $translation = $this->getTextFromConfig($type, 'amount'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount'; - } - - protected function getHideItems($type, $hideItems, $hideName, $hideDescription) - { - if (!empty($hideItems)) { - return $hideItems; - } - - $hide = $this->getHideFromConfig($type, 'items'); - - if ($hide) { - return $hide; - } - - $hideItems = ($this->getHideName($type, $hideName) & $this->getHideDescription($type, $hideDescription)) ? true : false; - - return $hideItems; - } - - protected function getHideName($type, $hideName) - { - if (!empty($hideName)) { - return $hideName; - } - - // if you use settting translation - if ($hideName = setting($this->getSettingKey($type, 'hide_item_name'), false)) { - return $hideName; - } - - $hide = $this->getHideFromConfig($type, 'name'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_item_name', $hideName); - } - - protected function getHideDescription($type, $hideDescription) - { - if (!empty($hideDescription)) { - return $hideDescription; - } - - // if you use settting translation - if ($hideDescription = setting($this->getSettingKey($type, 'hide_item_description'), false)) { - return $hideDescription; - } - - $hide = $this->getHideFromConfig($type, 'description'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_item_description', $hideDescription); - } - - protected function getHideQuantity($type, $hideQuantity) - { - if (!empty($hideQuantity)) { - return $hideQuantity; - } - - // if you use settting translation - if ($hideQuantity = setting($this->getSettingKey($type, 'hide_quantity'), false)) { - return $hideQuantity; - } - - $hide = $this->getHideFromConfig($type, 'quantity'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_quantity', $hideQuantity); - } - - protected function getHidePrice($type, $hidePrice) - { - if (!empty($hidePrice)) { - return $hidePrice; - } - - // if you use settting translation - if ($hidePrice = setting($this->getSettingKey($type, 'hide_price'), false)) { - return $hidePrice; - } - - $hide = $this->getHideFromConfig($type, 'price'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_price', $hidePrice); - } - - protected function getHideDiscount($type, $hideDiscount) - { - if (!empty($hideDiscount)) { - return $hideDiscount; - } - - // if you use settting translation - if ($hideDiscount = setting($this->getSettingKey($type, 'hide_discount'), false)) { - return $hideDiscount; - } - - $hide = $this->getHideFromConfig($type, 'discount'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_discount', $hideDiscount); - } - - protected function getHideAmount($type, $hideAmount) - { - if (!empty($hideAmount)) { - return $hideAmount; - } - - // if you use settting translation - if ($hideAmount = setting($this->getSettingKey($type, 'hide_amount'), false)) { - return $hideAmount; - } - - $hide = $this->getHideFromConfig($type, 'amount'); - - if ($hide) { - return $hide; - } - - // @todo what return value invoice or always false?? - return setting('invoice.hide_amount', $hideAmount); - } -} diff --git a/app/Abstracts/View/Components/Documents/Form.php b/app/Abstracts/View/Components/Documents/Form.php new file mode 100644 index 000000000..44ecf1352 --- /dev/null +++ b/app/Abstracts/View/Components/Documents/Form.php @@ -0,0 +1,1229 @@ +type = $type; + + $this->model = ! empty($model) ? $model : $document; + $this->document = $this->model; + $this->currencies = $this->getCurrencies($currencies); + $this->currency = $this->getCurrency($document, $currency, $currency_code); + $this->currency_code = ! empty($this->currency) ? $this->currency->code : setting('default.currency'); + $this->taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id'); + + /* -- Content Start -- */ + /* -- Form Start -- */ + $this->formId = $formId; + $this->formRoute = $this->getFormRoute($type, $formRoute, $this->model); + $this->formMethod = $this->getFormMethod($type, $formMethod, $this->model); + /* -- Form End -- */ + + /* -- Company Start -- */ + $this->hideCompany = $hideCompany; + $this->textSectionCompaniesTitle = $this->getTextSectionCompaniesTitle($type, $textSectionCompaniesTitle); + $this->textSectionCompaniesDescription = $this->getTextSectionCompaniesDescription($type, $textSectionCompaniesDescription); + $this->hideLogo = $hideLogo; + $this->hideDocumentTitle = $hideDocumentTitle; + $this->hideDocumentSubheading = $hideDocumentSubheading; + $this->hideCompanyEdit = $hideCompanyEdit; + $this->titleSetting = $this->getTitleSettingValue($type, $titleSetting); + $this->subheadingSetting = $this->getSubheadingSettingValue($type, $subheadingSetting); + /** Company End */ + + /* -- Main Start -- */ + $this->textSectionMainTitle = $this->getTextSectionMainTitle($type, $textSectionMainTitle); + $this->textSectionMainDescription = $this->getTextSectionMainDescription($type, $textSectionMainDescription); + + /* -- Metadata Start -- */ + $this->typeContact = $this->getTypeContact($type, $typeContact); + $this->contact = $this->getContact($contact, $document); + $this->contacts = $this->getContacts($type, $document, $contacts); + + $this->searchContactRoute = $this->getSearchContactRoute($type, $searchContactRoute); + $this->createContactRoute = $this->getCreateContactRoute($type, $createContactRoute); + + $this->textContact = $this->getTextContact($type, $textContact); + $this->textAddContact = $this->getTextAddContact($type, $textAddContact); + $this->textCreateNewContact = $this->getTextCreateNewContact($type, $textCreateNewContact); + $this->textEditContact = $this->getTextEditContact($type, $textEditContact); + $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); + $this->textChooseDifferentContact = $this->getTextChooseDifferentContact($type, $textChooseDifferentContact); + + $this->hideIssuedAt = $hideIssuedAt; + $this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); + $this->issuedAt = $this->getIssuedAt($type, $document, $issuedAt); + + $this->hideDueAt = $hideDueAt; + $this->textDueAt = $this->getTextDueAt($type, $textDueAt); + $this->dueAt = $this->getDueAt($type, $document, $dueAt); + $this->periodDueAt = $this->getPeriodDueAt($type, $periodDueAt); + + $this->hideDocumentNumber = $hideDocumentNumber; + $this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber); + $this->documentNumber = $this->getDocumentNumber($type, $document, $documentNumber); + + $this->hideOrderNumber = $hideOrderNumber; + $this->textOrderNumber = $this->getTextOrderNumber($type, $textOrderNumber); + $this->orderNumber = $this->getOrderNumber($type, $document, $orderNumber); + /* -- Metadata End -- */ + + /** Items Start */ + $this->hideEditItemColumns = $hideEditItemColumns; + + $this->hideItems = $this->getHideItems($type, $hideItems, $hideItemName, $hideItemDescription); + $this->hideItemName = $this->getHideItemName($type, $hideItemName); + $this->textItemName = $this->getTextItemName($type, $textItemName); + + $this->hideItemDescription = $this->getHideItemDescription($type, $hideItemDescription); + $this->textItemDescription = $this->getTextItemDescription($type, $textItemDescription); + + $this->hideItemQuantity = $this->getHideItemQuantity($type, $hideItemQuantity); + $this->textItemQuantity = $this->getTextItemQuantity($type, $textItemQuantity); + + $this->hideItemPrice = $this->getHideItemPrice($type, $hideItemPrice); + $this->textItemPrice = $this->getTextItemPrice($type, $textItemPrice); + + $this->hideItemAmount = $this->getHideItemAmount($type, $hideItemAmount); + $this->textItemAmount = $this->getTextItemAmount($type, $textItemAmount); + + $this->hideDiscount = $this->getHideDiscount($type, $hideDiscount); + + $this->isSalePrice = $isSalePrice; + $this->isPurchasePrice = $isPurchasePrice; + $this->searchCharLimit = $this->getSearchCharLimit($type, $searchCharLimit); + /** Items End */ + + /** Note Start */ + $this->note = $this->getNoteValue($note); + /** Note End */ + /** Main End */ + + /* -- Recurring Start -- */ + $this->showRecurring = $showRecurring; + /* -- Recurring End -- */ + + /* -- Advanced Start -- */ + $this->hideAdvanced = $hideAdvanced; + $this->textSectionAdvancedTitle = $this->getTextSectionAdvancedTitle($type, $textSectionAdvancedTitle); + $this->textSectionAdvancedDescription = $this->getTextSectionAdvancedDescription($type, $textSectionAdvancedDescription); + + $this->hideFooter = $hideFooter; + $this->classFooter = !empty($classFooter) ? $classFooter : 'sm:col-span-3'; + $this->footer = $this->getFooterValue($footer); + + $this->hideCategory = $hideCategory; + $this->classCategory = !empty($classCategory) ? $classCategory : 'sm:col-span-4 grid gap-x-8 gap-y-3'; + $this->typeCategory = $this->getTypeCategory($type, $typeCategory); + $this->categoryId = $this->getCategoryId($type, $categoryId); + + $this->hideAttachment = $hideAttachment; + $this->classAttachment = !empty($classAttachment) ? $classAttachment : 'sm:col-span-4'; + /** Advanced End */ + + /** Buttons Start */ + $this->hideButtons = $hideButtons; + $this->cancelRoute = $this->getCancelRoute($type, $cancelRoute); + $this->hideSendTo = $hideSendTo; + /** Buttons End */ + /* -- Content End -- */ + + // Set Parent data + $this->setParentData(); + } + + protected function getCurrencies($currencies) + { + if (!empty($currencies)) { + return $currencies; + } + + return Currency::enabled()->pluck('name', 'code'); + } + + protected function getCurrency($document, $currency, $currency_code) + { + if (!empty($currency)) { + return $currency; + } + + if (!empty($currency_code)) { + $currency = Currency::where('code', $currency_code)->first(); + } + + if (empty($currency) && !empty($document)) { + $currency = Currency::where('code', $document->currency_code)->first(); + } + + if (empty($currency)) { + $currency = Currency::where('code', setting('default.currency'))->first(); + } + + return $currency; + } + + protected function getTextSectionCompaniesTitle($type, $textSectionCompaniesTitle) + { + if (! empty($textSectionCompaniesTitle)) { + return $textSectionCompaniesTitle; + } + + return $this->getTextSectionTitle($type, 'companies', 'general.companies'); + } + + protected function getTextSectionCompaniesDescription($type, $textSectionCompaniesDescription) + { + if (! empty($textSectionCompaniesDescription)) { + return $textSectionCompaniesDescription; + } + + return $this->getTextSectionDescription($type, 'companies', 'documents.form_description.companies'); + } + + protected function getTextSectionMainTitle($type, $textSectionMainTitle) + { + if (! empty($textSectionMainTitle)) { + return $textSectionMainTitle; + } + + return $this->getTextSectionTitle($type, 'main', 'documents.billing'); + } + + protected function getTextSectionMainDescription($type, $textSectionMainDescription) + { + if (! empty($textSectionMainDescription)) { + return $textSectionMainDescription; + } + + return $this->getTextSectionDescription($type, 'billing', 'documents.form_description.billing'); + } + + protected function getTypeContact($type, $typeContact) + { + if (! empty($typeContact)) { + return $typeContact; + } + + return config('type.' . static::OBJECT_TYPE . '.' . $type . '.contact_type', 'customer'); + } + + protected function getTextContact($type, $textContact) + { + if (! empty($textContact)) { + return $textContact; + } + + $contact_type = config('type.' . static::OBJECT_TYPE . '.' . $type . '.contact_type'); + + $default_key = config('type.contact.' . $contact_type . '.translation.prefix'); + + $translation = $this->getTextFromConfig($type, 'contact', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'general.customers'; + } + + protected function getContact($contact, $document) + { + if (!empty($contact)) { + return $contact; + } + + $contact = new \stdClass(); + + if (!empty($document) && !empty($document->contact)) { + $contact = $document->contact; + } + + if (request()->old('contact', false)) { + $contact = request()->old('contact'); + } + + return $contact; + } + + protected function getContacts($type, $document, $contacts) + { + if (!empty($contacts)) { + return $contacts; + } + + $contact_type = $this->getTypeContact($type, null); + + if ($contact_type) { + $contacts = Contact::$contact_type()->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); + } else { + $contacts = Contact::enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); + } + + if (!empty($document) && ($document->contact && !$contacts->contains('id', $document->contact_id))) { + $contacts->push($document->contact); + } + + return $contacts; + } + + protected function getSearchContactRoute($type, $searchContactRoute) + { + if (! empty($searchContactRoute)) { + return $searchContactRoute; + } + + $contact_type = config('type.' . static::OBJECT_TYPE . '.' . $type . '.contact_type'); + + $default_key = config('type.contact.' . $contact_type . '.route.prefix'); + + return route($default_key . '.index'); + } + + protected function getCreateContactRoute($type, $createContactRoute) + { + if (! empty($createContactRoute)) { + return $createContactRoute; + } + + $contact_type = config('type.' . static::OBJECT_TYPE . '.' . $type . '.contact_type'); + + $default_key = config('type.contact.' . $contact_type . '.route.prefix'); + + return route('modals.' . $default_key . '.create'); + } + + protected function getTextAddContact($type, $textAddContact) + { + if (!empty($textAddContact)) { + return $textAddContact; + } + + $default_key = Str::plural(config('type.document.' . $type . '.contact_type'), 2); + + $translation = $this->getTextFromConfig($type, 'add_contact', $default_key, 'trans_choice'); + + if (!empty($translation)) { + return [ + 'general.form.add', + $translation, + ]; + } + + return [ + 'general.form.add', + 'general.customers', + ]; + } + + protected function getTextCreateNewContact($type, $textCreateNewContact) + { + if (!empty($textCreateNewContact)) { + return $textCreateNewContact; + } + + /* + $default_key = Str::plural(config('type.document.' . $type . '.contact_type'), 2); + + $translation = $this->getTextFromConfig($type, 'create_new_contact', $default_key, 'trans_choice'); + + if (!empty($translation)) { + return [ + 'general.form.add_new', + $translation, + ]; + } + */ + + return 'general.add_new'; + } + + protected function getTextEditContact($type, $textEditContact) + { + if (!empty($textEditContact)) { + return $textEditContact; + } + + $translation = $this->getTextFromConfig($type, 'edit_contact', 'form.edit'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.form.edit'; + } + + protected function getTextContactInfo($type, $textContactInfo) + { + if (!empty($textContactInfo)) { + return $textContactInfo; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_from'; + break; + default: + $default_key = 'bill_to'; + break; + } + + $translation = $this->getTextFromConfig($type, 'contact_info', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'invoices.bill_to'; + } + + protected function getTextChooseDifferentContact($type, $textChooseDifferentContact) + { + if (!empty($textChooseDifferentContact)) { + return $textChooseDifferentContact; + } + + $default_key = Str::plural(config('type.document.' . $type . '.contact_type'), 2); + + $translation = $this->getTextFromConfig($type, 'choose_different_contact', $default_key, 'trans_choice'); + + if (!empty($translation)) { + return [ + 'general.form.choose_different', + $translation, + ]; + } + + return [ + 'general.form.choose_different', + 'general.customers', + ]; + } + + protected function getTextIssuedAt($type, $textIssuedAt) + { + if (!empty($textIssuedAt)) { + return $textIssuedAt; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_date'; + break; + default: + $default_key = 'invoice_date'; + break; + } + + $translation = $this->getTextFromConfig($type, 'issued_at', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'invoices.invoice_date'; + } + + protected function getIssuedAt($type, $document, $issuedAt) + { + if (!empty($issuedAt)) { + return $issuedAt; + } + + if ($document) { + return $document->issued_at; + } + + $issued_at = $type . '_at'; + + if (request()->has($issued_at)) { + $issuedAt = request()->get($issued_at); + } else { + $issuedAt = request()->get('invoice_at', Date::now()->toDateString()); + } + + return $issuedAt; + } + + protected function getTextDueAt($type, $textDueAt) + { + if (!empty($textDueAt)) { + return $textDueAt; + } + + $translation = $this->getTextFromConfig($type, 'due_at', 'due_date'); + + if (!empty($translation)) { + return $translation; + } + + return 'invoices.due_date'; + } + + protected function getDueAt($type, $document, $dueAt) + { + if (!empty($dueAt)) { + return $dueAt; + } + + if ($document) { + return $document->due_at; + } + + $issued_at = $type . '_at'; + + if (request()->has($issued_at)) { + $issuedAt = request()->get($issued_at); + } else { + $issuedAt = Date::now()->toDateString(); + } + + $addDays = setting($this->getSettingKey($type, 'payment_terms'), 0) ?: 0; + + $dueAt = Date::parse($issuedAt)->addDays($addDays)->toDateString(); + + return $dueAt; + } + + protected function getPeriodDueAt($type, $periodDueAt) + { + if (! empty($periodDueAt)) { + return $periodDueAt; + } + + return setting($type. '.payment_terms', 0); + } + + protected function getTextDocumentNumber($type, $textDocumentNumber) + { + if (! empty($textDocumentNumber)) { + return $textDocumentNumber; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_number'; + break; + default: + $default_key = 'invoice_number'; + break; + } + + $translation = $this->getTextFromConfig($type, 'document_number', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.invoice_number'; + } + + protected function getDocumentNumber($type, $document, $documentNumber) + { + if (! empty($documentNumber)) { + return $documentNumber; + } + + if ($document) { + return $document->document_number; + } + + $document_number = $this->getNextDocumentNumber($type); + + if (empty($document_number)) { + $document_number = $this->getNextDocumentNumber(Document::INVOICE_TYPE); + } + + return $document_number; + } + + protected function getTextOrderNumber($type, $textOrderNumber) + { + if (! empty($textOrderNumber)) { + return $textOrderNumber; + } + + $translation = $this->getTextFromConfig($type, 'order_number'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.order_number'; + } + + protected function getOrderNumber($type, $document, $orderNumber) + { + if (! empty($orderNumber)) { + return $orderNumber; + } + + if ($document) { + return $document->order_number; + } + + $order_number = null; + } + + protected function getHideItems($type, $hideItems, $hideItemName, $hideItemDescription) + { + if (! empty($hideItems)) { + return $hideItems; + } + + $hide = $this->getHideFromConfig($type, 'items'); + + if ($hide) { + return $hide; + } + + $hideItems = ($this->getHideItemName($type, $hideItemName) & $this->getHideItemDescription($type, $hideItemDescription)) ? true : false; + + return $hideItems; + } + + protected function getHideItemName($type, $hideItemName) + { + if (! empty($hideItemName)) { + return $hideItemName; + } + + // if you use settting translation + if ($hideName = setting($this->getSettingKey($type, 'hide_item_name'), false)) { + return $hideName; + } + + $hide = $this->getHideFromConfig($type, 'name'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_item_name', $hideName); + } + + protected function getTextItemName($type, $textItemName) + { + if (! empty($textItemName)) { + return $textItemName; + } + + // if you use settting translation + if (setting($this->getSettingKey($type, 'item_name'), 'items') === 'custom') { + if (empty($textItemName = setting($this->getSettingKey($type, 'item_name_input')))) { + $textItemName = 'general.items'; + } + + return $textItemName; + } + + if (setting($this->getSettingKey($type, 'item_name')) !== null + && (trans(setting($this->getSettingKey($type, 'item_name'))) != setting($this->getSettingKey($type, 'item_name'))) + ) { + return setting($this->getSettingKey($type, 'item_name')); + } + + $translation = $this->getTextFromConfig($type, 'items'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.items'; + } + + protected function getHideItemDescription($type, $hideItemDescription) + { + if (! empty($hideItemDescription)) { + return $hideItemDescription; + } + + // if you use settting translation + if ($hideItemDescription = setting($this->getSettingKey($type, 'hide_item_description'), false)) { + return $hideItemDescription; + } + + $hide = $this->getHideFromConfig($type, 'description'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_item_description', $hideItemDescription); + } + + protected function getTextItemDescription($type, $textItemDescription) + { + if (! empty($textItemDescription)) { + return $textItemDescription; + } + + $translation = $this->getTextFromConfig($type, 'description'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.description'; + } + + protected function getHideItemQuantity($type, $hideItemQuantity) + { + if (! empty($hideItemQuantity)) { + return $hideItemQuantity; + } + + // if you use settting translation + if ($hideItemQuantity = setting($this->getSettingKey($type, 'hide_quantity'), false)) { + return $hideItemQuantity; + } + + $hide = $this->getHideFromConfig($type, 'quantity'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_quantity', $hideItemQuantity); + } + + protected function getTextItemQuantity($type, $textItemQuantity) + { + if (! empty($textItemQuantity)) { + return $textItemQuantity; + } + + // if you use settting translation + if (setting($this->getSettingKey($type, 'quantity_name'), 'quantity') === 'custom') { + if (empty($textItemQuantity = setting($this->getSettingKey($type, 'quantity_name_input')))) { + $textItemQuantity = 'invoices.quantity'; + } + + return $textItemQuantity; + } + + if (setting($this->getSettingKey($type, 'quantity_name')) !== null + && (trans(setting($this->getSettingKey($type, 'quantity_name'))) != setting($this->getSettingKey($type, 'quantity_name'))) + ) { + return setting($this->getSettingKey($type, 'quantity_name')); + } + + $translation = $this->getTextFromConfig($type, 'quantity'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.quantity'; + } + + protected function getHideItemPrice($type, $hideItemPrice) + { + if (! empty($hideItemPrice)) { + return $hideItemPrice; + } + + // if you use settting translation + if ($hideItemPrice = setting($this->getSettingKey($type, 'hide_price'), false)) { + return $hideItemPrice; + } + + $hide = $this->getHideFromConfig($type, 'price'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_price', $hideItemPrice); + } + + protected function getTextItemPrice($type, $textItemPrice) + { + if (! empty($textItemPrice)) { + return $textItemPrice; + } + + // if you use settting translation + if (setting($this->getSettingKey($type, 'price_name'), 'price') === 'custom') { + if (empty($textItemPrice = setting($this->getSettingKey($type, 'price_name_input')))) { + $textItemPrice = 'invoices.price'; + } + + return $textItemPrice; + } + + if (setting($this->getSettingKey($type, 'price_name')) !== null + && (trans(setting($this->getSettingKey($type, 'price_name'))) != setting($this->getSettingKey($type, 'price_name'))) + ) { + return setting($this->getSettingKey($type, 'price_name')); + } + + $translation = $this->getTextFromConfig($type, 'price'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.price'; + } + + protected function getHideItemAmount($type, $hideItemAmount) + { + if (! empty($hideItemAmount)) { + return $hideItemAmount; + } + + // if you use settting translation + if ($hideAmount = setting($this->getSettingKey($type, 'hide_amount'), false)) { + return $hideAmount; + } + + $hide = $this->getHideFromConfig($type, 'amount'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_amount', $hideAmount); + } + + protected function getTextItemAmount($type, $textItemAmount) + { + if (!empty($textItemAmount)) { + return $textItemAmount; + } + + $translation = $this->getTextFromConfig($type, 'amount'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.amount'; + } + + protected function getHideDiscount($type, $hideDiscount) + { + if (! empty($hideDiscount)) { + return $hideDiscount; + } + + // if you use settting translation + if ($hideDiscount = setting($this->getSettingKey($type, 'hide_discount'), false)) { + return $hideDiscount; + } + + $hide = $this->getHideFromConfig($type, 'discount'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_discount', $hideDiscount); + } + + protected function getSearchCharLimit($type, $searchCharLimit) + { + if (! empty($searchCharLimit)) { + return $searchCharLimit; + } + + // if you use settting translation + if ($settingCharLimit = setting($this->getSettingKey($type, 'item_search_chart_limit'), false)) { + return $settingCharLimit; + } + + $hide = $this->getHideFromConfig($type, 'item_search_char_limit'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.item_search_char_limit', $searchCharLimit); + } + + protected function getNoteValue($note) + { + if (! empty($note)) { + return $note; + } + + if (! empty($this->document)) { + return $this->document->notes; + } + + return setting($this->getSettingKey($this->type, 'note')); + } + + protected function getTextSectionAdvancedTitle($type, $textSectionAdvancedTitle) + { + if (! empty($textSectionAdvancedTitle)) { + return $textSectionAdvancedTitle; + } + + return $this->getTextSectionTitle($type, 'advanced', 'documents.advanced'); + } + + protected function getTextSectionAdvancedDescription($type, $textSectionAdvancedDescription) + { + if (! empty($textSectionAdvancedDescription)) { + return $textSectionAdvancedDescription; + } + + return $this->getTextSectionDescription($type, 'advanced', 'documents.form_description.advanced'); + } + + protected function getTitleSettingValue($type, $titleSetting) + { + if (! empty($titleSetting)) { + return $titleSetting; + } + + return setting($this->getSettingKey($type, 'title')); + } + + protected function getSubheadingSettingValue($type, $subheadingSetting) + { + if (! empty($subheadingSetting)) { + return $subheadingSetting; + } + + return setting($this->getSettingKey($type, 'subheading')); + } + + protected function getFooterValue($footer) + { + if (! empty($footer)) { + return $footer; + } + + if (! empty($this->document)) { + return $this->document->footer; + } + + return setting($this->getSettingKey($this->type, 'footer')); + } + + protected function getTypeCategory($type, $typeCategory) + { + if (!empty($typeCategory)) { + return $typeCategory; + } + + if ($category_type = config('type.' . static::OBJECT_TYPE . '.' . $type . '.category_type')) { + return $category_type; + } + + // set default type + $type = Document::INVOICE_TYPE; + + return config('type.' . static::OBJECT_TYPE .'.' . $type . '.category_type'); + } + + protected function getCategoryId($type, $categoryId) + { + if (!empty($categoryId)) { + return $categoryId; + } + + if (! empty($this->document) && ! empty($this->document->category_id)) { + return $this->document->category_id; + } + + return setting('default.' . $this->typeCategory . '_category'); + } +} diff --git a/app/Abstracts/View/Components/Documents/Index.php b/app/Abstracts/View/Components/Documents/Index.php new file mode 100644 index 000000000..2fd3cda5d --- /dev/null +++ b/app/Abstracts/View/Components/Documents/Index.php @@ -0,0 +1,642 @@ +type = $type; + $this->alias = $this->getAlias($type, $alias); + $this->documents = ($documents) ? $documents : collect(); + $this->group = $this->getGroup($type, $group); + $this->page = $this->getPage($type, $page); + $this->textTabDocument = $this->getTextTabDocument($type, $textTabDocument); + $this->textPage = $this->getTextPage($type, $textPage); + + $this->permissionCreate = $this->getPermissionCreate($type, $permissionCreate); + $this->permissionUpdate = $this->getPermissionUpdate($type, $permissionUpdate); + $this->permissionDelete = $this->getPermissionDelete($type, $permissionDelete); + + $this->routeTabDocument = $this->getRouteTabDocument($type, $routeTabDocument); + $this->routeTabRecurring = $this->getRouteTabRecurring($type, $routeTabRecurring); + /* -- Main End -- */ + + /* -- Buttons Start -- */ + $this->hideAcceptPayment = $hideAcceptPayment; + + $this->checkPermissionCreate = $checkPermissionCreate; + + $this->hideCreate = $hideCreate; + $this->hideImport = $hideImport; + $this->hideExport = $hideExport; + + $this->createRoute = $this->getCreateRoute($type, $createRoute); + $this->importRoute = $this->getImportRoute($importRoute); + $this->importRouteParameters = $this->getImportRouteParameters($type, $importRouteParameters); + $this->exportRoute = $this->getExportRoute($type, $exportRoute); + /* -- Buttons End -- */ + + /* -- Content Start -- */ + /* -- Empty Page Start -- */ + $this->hideEmptyPage = $hideEmptyPage; + + $this->emptyPageButtons = $this->getEmptyPageButtons($type, $emptyPageButtons); + $this->imageEmptyPage = $this->getImageEmptyPage($type, $imageEmptyPage); + $this->textEmptyPage = $this->getTextEmptyPage($type, $textEmptyPage); + $this->urlDocsPath = $this->getUrlDocsPath($type, $urlDocsPath); + /* -- Empty Page End -- */ + + /* -- Summary Start -- */ + $this->hideSummary = $hideSummary; + $this->summaryItems = $this->getSummaryItems($type, $summaryItems); + /* -- Sumamry End -- */ + + /* Container Start */ + $this->withoutTabs = $withoutTabs; + $this->tabActive = $this->getTabActive($type, $tabActive); + + $this->hideRecurringTemplates = $hideRecurringTemplates; + + $this->hideSearchString = $hideSearchString; + $this->hideBulkAction = $hideBulkAction; + + $this->searchStringModel = $this->getSearchStringModel($type, $searchStringModel); + + $this->bulkActionClass = $this->getBulkActionClass($type, $bulkActionClass); + $this->bulkActionRouteParameters = $this->getBulkActionRouteParameters($type, $bulkActionRouteParameters); + + $this->searchRoute = $this->getIndexRoute($type, $searchRoute); + + $this->classBulkAction = $this->getClassBulkAction($type, $classBulkAction); + + /* Document Start */ + $this->hideDueAt = $hideDueAt; + $this->hideIssuedAt = $hideIssuedAt; + $this->classDueAtAndIssueAt = $this->getClassDueAtAndIssueAt($type, $classDueAtAndIssueAt); + $this->textDueAt = $this->getTextDueAt($type, $textDueAt); + $this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); + + $this->hideStatus = $hideStatus; + $this->classStatus = $this->getClassStatus($type, $classStatus); + + $this->hideContactName = $hideContactName; + $this->hideDocumentNumber = $hideDocumentNumber; + $this->classContactNameAndDocumentNumber = $this->getClassContactNameAndDocumentNumber($type, $classContactNameAndDocumentNumber); + $this->textContactName = $this->getTextContactName($type, $textContactName); + $this->showContactRoute = $this->getShowContactRoute($type, $showContactRoute); + $this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber); + + $this->hideAmount = $hideAmount; + $this->classAmount = $this->getClassAmount($type, $classAmount); + + $this->hideShow = $hideShow; + $this->showRoute = $this->getShowRoute($type, $showRoute); + + $this->hideEdit = $hideEdit; + $this->editRoute = $this->getEditRoute($type, $editRoute); + + $this->hideDuplicate = $hideDuplicate; + $this->duplicateRoute = $this->getDuplicateRoute($type, $duplicateRoute); + + $this->textDocumentStatus = $this->getTextDocumentStatus($type, $textDocumentStatus); + + $this->checkButtonReconciled = $checkButtonReconciled; + $this->checkButtonCancelled = $checkButtonCancelled; + /* Document End */ + /* Container End */ + /* -- Content End -- */ + + // Set Parent data + $this->setParentData(); + } + + protected function getEmptyPageButtons($type, $emptyPageButtons) + { + if (! empty($emptyPageButtons)) { + return $emptyPageButtons; + } + + $prefix = config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix', 'invoices'); + + $buttons = []; + + if (! $this->hideCreate) { + $route = $this->getRouteFromConfig($type, 'create'); + + $buttons[] = [ + 'permission' => $this->permissionCreate, + 'url' => route($this->createRoute), + 'text' => trans('general.title.new', ['type' => trans_choice($this->textPage ?? 'general.' . $prefix, 1)]), + 'description' => trans('general.empty.actions.new', ['type' => strtolower(trans_choice($this->textPage ?? 'general.' . $prefix, 1))]), + 'active_badge' => true, + ]; + } + + if (! $this->hideImport) { + $route = $this->getRouteFromConfig($type, 'import'); + + $buttons[] = [ + 'permission' => $this->permissionCreate, + 'url' => route($this->importRoute, $this->importRouteParameters), + 'text' => trans('import.title', ['type' => trans_choice($this->textPage ?? 'general.' . $prefix, 1)]), + 'description' => trans('general.empty.actions.import', ['type' => strtolower(trans_choice($this->textPage ?? 'general.' . $prefix, 1))]), + ]; + } + + return $buttons; + } + + public function getSummaryItems($type, $summaryItems) + { + if (! empty($summaryItems)) { + return $summaryItems; + } + + $route = $this->getIndexRoute($type, null); + + $totals = $this->getTotalsForFutureDocuments($type); + + $items = []; + + foreach ($totals as $key => $total) { + $title = ($key == 'overdue') ? trans('general.overdue') : trans('documents.statuses.' . $key); + $href = route($route, ['search' => 'status:' . $key]); + $amount = money($total, setting('default.currency'), true); + + $items[] = [ + 'title' => $title, + 'href' => $href, + 'amount' => $amount, + ]; + } + + return $items; + } + + protected function getTextTabDocument($type, $textTabDocument) + { + if (! empty($textTabDocument)) { + return $textTabDocument; + } + + $default_key = config('type.' . static::OBJECT_TYPE . '.' . $type . '.translation.prefix'); + + $translation = $this->getTextFromConfig($type, 'tab_document', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'general.invoices'; + } + + public function getTabActive($type, $tabActive) + { + if (! empty($tabActive)) { + return $tabActive; + } + + return $type; + } + + protected function getRouteTabDocument($type, $routeTabDocument) + { + if (! empty($routeTabDocument)) { + return $routeTabDocument; + } + + $route = $this->getRouteFromConfig($type, 'document', 'invoices'); + + if (! empty($route)) { + return $route; + } + + return 'invoices.index'; + } + + protected function getRouteTabRecurring($type, $routeTabDocument) + { + if (! empty($routeTabDocument)) { + return $routeTabDocument; + } + + $route = $this->getRouteFromConfig($type, 'recurring', 'recurring-invoices'); + + if (! empty($route)) { + return $route; + } + + return 'recurring-invoices.index'; + } + + protected function getClassDueAtAndIssueAt($type, $classDueAtAndIssueAt) + { + if (! empty($classDueAtAndIssueAt)) { + return $classDueAtAndIssueAt; + } + + $class = $this->getClassFromConfig($type, 'due_at_and_issue_at'); + + if (! empty($class)) { + return $class; + } + + return 'w-4/12 table-title hidden sm:table-cell'; + } + + protected function getTextDueAt($type, $textDueAt) + { + if (! empty($textDueAt)) { + return $textDueAt; + } + + $translation = $this->getTextFromConfig($type, 'due_at', 'due_date'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.due_date'; + } + + protected function getTextIssuedAt($type, $textIssuedAt) + { + if (! empty($textIssuedAt)) { + return $textIssuedAt; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_date'; + break; + default: + $default_key = 'invoice_date'; + break; + } + + $translation = $this->getTextFromConfig($type, 'issued_at', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.invoice_date'; + } + + protected function getClassStatus($type, $classStatus) + { + if (! empty($classStatus)) { + return $classStatus; + } + + $class = $this->getClassFromConfig($type, 'status'); + + if (! empty($class)) { + return $class; + } + + return 'w-3/12 table-title hidden sm:table-cell'; + } + + protected function getClassContactNameAndDocumentNumber($type, $classContactNameAndDocumentNumber) + { + if (! empty($classContactNameAndDocumentNumber)) { + return $classContactNameAndDocumentNumber; + } + + $class = $this->getClassFromConfig($type, 'contact_name'); + + if (! empty($class)) { + return $class; + } + + return 'w-6/12 sm:w-3/12 table-title'; + } + + protected function getTextContactName($type, $textContactName) + { + if (! empty($textContactName)) { + return $textContactName; + } + + $default_key = Str::plural(config('type.' . static::OBJECT_TYPE . '.' . $type . '.contact_type'), 2); + + $translation = $this->getTextFromConfig($type, 'contact_name', $default_key, 'trans_choice'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.customers'; + } + + protected function getShowContactRoute($type, $showContactRoute) + { + if (! empty($showContactRoute)) { + return $showContactRoute; + } + + + if (! empty($showRoute)) { + return $showRoute; + } + + $route = $this->getRouteFromConfig($type, 'contact.show', 1); + + if (!empty($route)) { + return $route; + } + + $default_key = Str::plural(config('type.' . static::OBJECT_TYPE . '.' . $type . '.contact_type'), 2); + + return $default_key . '.show'; + } + + protected function getTextDocumentNumber($type, $textDocumentNumber) + { + if (! empty($textDocumentNumber)) { + return $textDocumentNumber; + } + + $translation = $this->getTextFromConfig($type, 'document_number', 'numbers'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.numbers'; + } + + protected function getClassAmount($type, $classAmount) + { + if (! empty($classAmount)) { + return $classAmount; + } + + $class = $this->getClassFromConfig($type, 'amount'); + + if (! empty($class)) { + return $class; + } + + return 'w-6/12 sm:w-2/12'; + } + + protected function getTextDocumentStatus($type, $textDocumentStatus) + { + if (! empty($textDocumentStatus)) { + return $textDocumentStatus; + } + + $translation = $this->getTextFromConfig($type, 'document_status', 'statuses.'); + + if (! empty($translation)) { + return $translation; + } + + $alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'); + + if (! empty($alias)) { + $translation = $alias . '::' . config('type.' . static::OBJECT_TYPE . '.' . $type . '.translation.prefix') . '.statuses'; + + if (is_array(trans($translation))) { + return $translation . '.'; + } + } + + return 'documents.statuses.'; + } +} diff --git a/app/Abstracts/View/Components/Documents/Show.php b/app/Abstracts/View/Components/Documents/Show.php new file mode 100644 index 000000000..412df24cd --- /dev/null +++ b/app/Abstracts/View/Components/Documents/Show.php @@ -0,0 +1,1352 @@ +type = $type; + $this->document = $document; + $this->transactions = ($transactions) ? $transactions : $document->transactions; + + $this->permissionCreate = $this->getPermissionCreate($type, $permissionCreate); + $this->permissionUpdate = $this->getPermissionUpdate($type, $permissionUpdate); + $this->permissionDelete = $this->getPermissionDelete($type, $permissionDelete); + /* -- Main End -- */ + + /* -- Buttons Start -- */ + $this->hideCreate = $hideCreate; + $this->createRoute = $this->getCreateRoute($type, $createRoute); + $this->textCreate = $this->getTextCreate($type, $textCreate); + + $this->hideButtonStatuses = $this->getHideButtonStatuses($type, $hideButtonStatuses); + $this->hideEdit = $hideEdit; + $this->editRoute = $this->getEditRoute($type, $editRoute); + + $this->hideMoreActions = $hideMoreActions; + $this->hideDuplicate = $hideDuplicate; + $this->duplicateRoute = $this->getDuplicateRoute($type, $duplicateRoute); + + $this->hidePrint = $hidePrint; + $this->checkCancelled = $checkCancelled; + $this->printRoute = $this->getPrintRoute($type, $printRoute); + + $this->hideShare = $hideShare; + $this->shareRoute = $this->getShareRoute($type, $shareRoute); + $this->signedUrl = $this->getSignedUrl($type, $signedUrl); + + $this->hideEmail = $hideEmail; + $this->emailRoute = $this->getEmailRoute($type, $emailRoute); + $this->textEmail = $this->getTextEmail($type, $textEmail); + + $this->hidePdf = $hidePdf; + $this->pdfRoute = $this->getPdfRoute($type, $pdfRoute); + + $this->hideCancel = $hideCancel; + $this->cancelledRoute = $this->getCancelledRoute($type, $cancelledRoute); + + $this->hideCustomize = $hideCustomize; + $this->permissionCustomize = $this->getPermissionCustomize($type, $permissionCustomize); + $this->customizeRoute = $this->getCustomizeRoute($type, $customizeRoute); + + $this->hideEnd = $hideEnd; + $this->endRoute = $this->getEndRoute($type, $endRoute); + + $this->hideDelete = $hideDelete; + $this->checkReconciled = $checkReconciled; + $this->deleteRoute = $this->getDeleteRoute($type, $deleteRoute); + $this->textDeleteModal = $textDeleteModal; + + $this->hideDivider1 = $hideDivider1; + $this->hideDivider2 = $hideDivider2; + $this->hideDivider3 = $hideDivider3; + $this->hideDivider4 = $hideDivider4; + /* -- Buttons End -- */ + + /* -- Content Start -- */ + $this->accordionActive = $this->getAccordionActive($type, $accordionActive); + $this->hideRecurringMessage = $hideRecurringMessage; + $this->textRecurringType = $this->getTextRecurringType($type, $textRecurringType); + + $this->hideStatusMessage = $hideStatusMessage; + $this->textStatusMessage = $this->getTextStatusMessage($type, $textStatusMessage); + + $this->hideCreated = $hideCreated; + + $this->hideSend = $hideSend; + $this->hideMarkSent = $hideMarkSent; + $this->textMarkSent = $this->getTextMarkSent($type, $textMarkSent); + $this->markSentRoute = $this->getMarkSentRoute($type, $markSentRoute); + + $this->hideReceive = $hideReceive; + $this->hideMarkReceived = $hideMarkReceived; + $this->textMarkReceived = $this->getTextMarkReceived($type, $textMarkReceived); + $this->markReceivedRoute = $this->getMarkReceivedRoute($type, $markReceivedRoute); + + $this->hideGetPaid = $hideGetPaid; + + $this->hideAddPayment = $hideAddPayment; + $this->hideAcceptPayment = $hideAcceptPayment; + + $this->transactionEmailRoute = $this->getTransactionEmailRoute($type, $transactionEmailRoute); + + $this->hideRestore = $this->getHideRestore($hideRestore); + + $this->hideMakePayment = $hideMakePayment; + + $this->hideSchedule = $hideSchedule; + $this->hideChildren = $hideChildren; + + $this->hideAttachment = $hideAttachment; + $this->attachment = ''; + + if (! empty($attachment)) { + $this->attachment = $attachment; + } else if (! empty($document)) { + $this->attachment = $document->attachment; + } + /* -- Content End -- */ + + /* -- Template Start -- */ + $this->documentTemplate = $this->getDocumentTemplate($type, $documentTemplate); + $this->logo = $this->getLogo($logo); + $this->backgroundColor = $this->getBackgroundColor($type, $backgroundColor); + + $this->hideFooter = $hideFooter; + $this->hideCompanyLogo = $hideCompanyLogo; + $this->hideCompanyDetails = $hideCompanyDetails; + $this->hideCompanyName = $hideCompanyName; + $this->hideCompanyAddress = $hideCompanyAddress; + $this->hideCompanyTaxNumber = $hideCompanyTaxNumber; + $this->hideCompanyPhone = $hideCompanyPhone; + $this->hideCompanyEmail = $hideCompanyEmail; + $this->hideContactInfo = $hideContactInfo; + $this->hideContactName = $hideContactName; + $this->hideContactAddress = $hideContactAddress; + $this->hideContactTaxNumber = $hideContactTaxNumber; + $this->hideContactPhone = $hideContactPhone; + $this->hideContactEmail = $hideContactEmail; + $this->hideOrderNumber = $hideOrderNumber; + $this->hideDocumentNumber = $hideDocumentNumber; + $this->hideIssuedAt = $hideIssuedAt; + $this->hideDueAt = $hideDueAt; + + $this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle); + $this->textDocumentSubheading = $this->gettextDocumentSubheading($type, $textDocumentSubheading); + $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); + $this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); + $this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber); + $this->textDueAt = $this->getTextDueAt($type, $textDueAt); + $this->textOrderNumber = $this->getTextOrderNumber($type, $textOrderNumber); + + $this->hideItems = $this->getHideItems($type, $hideItems, $hideName, $hideDescription); + $this->hideName = $this->getHideName($type, $hideName); + $this->hideDescription = $this->getHideDescription($type, $hideDescription); + $this->hideQuantity = $this->getHideQuantity($type, $hideQuantity); + $this->hidePrice = $this->getHidePrice($type, $hidePrice); + $this->hideDiscount = $this->getHideDiscount($type, $hideDiscount); + $this->hideAmount = $this->getHideAmount($type, $hideAmount); + $this->hideNote = $hideNote; + + $this->textItems = $this->getTextItems($type, $textItems); + $this->textQuantity = $this->getTextQuantity($type, $textQuantity); + $this->textPrice = $this->getTextPrice($type, $textPrice); + $this->textAmount = $this->getTextAmount($type, $textAmount); + /* -- Template End -- */ + + // Set Parent data + $this->setParentData(); + } + + protected function getTextCreate($type, $textCreate) + { + if (! empty($textCreate)) { + return $textCreate; + } + + return trans('general.new') . ' ' . ucfirst($type); + } + + protected function getHideButtonStatuses($type, $hideButtonStatuses) + { + if (! empty($hideButtonStatuses)) { + return $hideButtonStatuses; + } + + $hideButtonStatuses = ['paid', 'cancelled']; + + if ($button_statuses = config('type.' . static::OBJECT_TYPE . '.' . $type . '.button_statuses')) { + $hideButtonStatuses = $button_statuses; + } + + return $hideButtonStatuses; + } + + protected function getPrintRoute($type, $printRoute) + { + if (! empty($printRoute)) { + return $printRoute; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'print', $parameter); + + if (! empty($route)) { + return $route; + } + + return 'invoices.print'; + } + + protected function getShareRoute($type, $shareRoute) + { + if (! empty($shareRoute)) { + return $shareRoute; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'share', $parameter, true); + + if (! empty($route)) { + return $route; + } + + return 'modals.invoices.share.create'; + } + + protected function getSignedUrl($type, $signedUrl) + { + if (! empty($signedUrl)) { + return $signedUrl; + } + + $page = config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix'); + $alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'); + + $route = ''; + + if (! empty($alias)) { + $route .= $alias . '.'; + } + + $route .= 'signed.' . $page . '.show'; + + try { + route($route, [$this->document->id, 'company_id' => company_id()]); + + $signedUrl = URL::signedRoute($route, [$this->document->id]); + } catch (\Exception $e) { + $signedUrl = URL::signedRoute('signed.invoices.show', [$this->document->id]); + } + + return $signedUrl; + } + + protected function getEmailRoute($type, $emailRoute) + { + if (! empty($emailRoute)) { + return $emailRoute; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'emails.create', $parameter, true); + + if (! empty($route)) { + return $route; + } + + return 'modals.invoices.emails.create'; + } + + protected function getTextEmail($type, $textEmail) + { + if (! empty($textEmail)) { + return $textEmail; + } + + $translation = $this->getTextFromConfig($type, 'send_mail', 'send_mail'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.send_mail'; + } + + protected function getPdfRoute($type, $pdfRoute) + { + if (! empty($pdfRoute)) { + return $pdfRoute; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'pdf', $parameter); + + if (! empty($route)) { + return $route; + } + + return 'invoices.pdf'; + } + + protected function getCancelledRoute($type, $cancelledRoute) + { + if (! empty($cancelledRoute)) { + return $cancelledRoute; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'cancelled', $parameter); + + if (! empty($route)) { + return $route; + } + + return 'invoices.cancelled'; + } + + protected function getPermissionCustomize($type, $permissionCustomize) + { + if (! empty($permissionCustomize)) { + return $permissionCustomize; + } + + $permissionUpdate = $this->getPermissionFromConfig($type, 'update'); + + return $permissionUpdate; + } + + protected function getCustomizeRoute($type, $customizeRoute) + { + if (!empty($customizeRoute)) { + return $customizeRoute; + } + + $route = ''; + + $alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'); + + if (!empty($alias)) { + $route .= $alias . '.'; + } + + $route .= 'settings.' . $type . '.edit'; + + try { + route($route); + } catch (\Exception $e) { + $route = 'settings.invoice.edit'; + } + + return $route; + } + + protected function getEndRoute($type, $endButton) + { + if (!empty($endButton)) { + return $endButton; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'end', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'recurring-invoices.end'; + } + + protected function getAccordionActive($type, $accordionActive) + { + if (! empty($accordionActive)) { + return $accordionActive; + } + + $status_workflow = $alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.status_workflow'); + + $status = false; + + if (! empty($status_workflow[$this->document->status])) { + $status = $status_workflow[$this->document->status]; + } + + return $status; + } + + protected function getTextRecurringType($type, $textRecurringType) + { + if (! empty($textRecurringType)) { + return $textRecurringType; + } + + $default_key = config('type.' . static::OBJECT_TYPE . '.' . $type . '.translation.prefix'); + + $translation = $this->getTextFromConfig($type, 'recurring_tye', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'general.invoices'; + } + + protected function getTextStatusMessage($type, $textStatusMessage) + { + if (! empty($textStatusMessage)) { + return $textStatusMessage; + } + + $default_key = 'messages.draft'; + + $translation = $this->getTextFromConfig($type, 'status_message', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.messages.draft'; + } + + protected function getTextMarkSent($type, $textMarkSent) + { + if (! empty($textMarkSent)) { + return $textMarkSent; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'mark_received'; + break; + default: + $default_key = 'mark_sent'; + break; + } + + $translation = $this->getTextFromConfig($type, 'mark_sent', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.mark_sent'; + } + + protected function getMarkSentRoute($type, $markSentRoute) + { + if (! empty($markSentRoute)) { + return $markSentRoute; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'sent', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'invoices.sent'; + } + + protected function getTextMarkReceived($type, $textMarkReceived) + { + if (! empty($textMarkReceived)) { + return $textMarkReceived; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'mark_received'; + break; + default: + $default_key = 'mark_sent'; + break; + } + + $translation = $this->getTextFromConfig($type, 'mark_received', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'bills.mark_received'; + } + + protected function getMarkReceivedRoute($type, $markReceivedRoute) + { + if (! empty($markReceivedRoute)) { + return $markReceivedRoute; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'received', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'bills.received'; + } + + protected function getTransactionEmailRoute($type, $transactionEmailRoute) + { + if (! empty($transactionEmailRoute)) { + return $transactionEmailRoute; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'transaction_email', $parameter); + + if (! empty($route)) { + return $route; + } + + return 'modals.transactions.emails.create'; + } + + protected function getHideRestore($hideRestore) + { + if (! empty($hideRestore)) { + return $hideRestore; + } + + $hideRestore = true; + + if ($this->document->status == 'cancelled') { + $hideRestore = false; + } + + return $hideRestore; + } + + protected function getDocumentTemplate($type, $documentTemplate) + { + if (! empty($documentTemplate)) { + return $documentTemplate; + } + + if ($template = config('type.' . static::OBJECT_TYPE . '.' . $type . '.template', false)) { + return $template; + } + + $documentTemplate = setting($this->getSettingKey($type, 'template'), 'default'); + + return $documentTemplate; + } + + protected function getLogo($logo) + { + if (! empty($logo)) { + return $logo; + } + + $media_id = (! empty($this->document->contact->logo) && ! empty($this->document->contact->logo->id)) ? $this->document->contact->logo->id : setting('company.logo'); + + $media = Media::find($media_id); + + if (! empty($media)) { + $path = $media->getDiskPath(); + + if (Storage::missing($path)) { + return $logo; + } + } else { + $path = base_path('public/img/company.png'); + } + + try { + $image = Image::cache(function($image) use ($media, $path) { + $width = setting('invoice.logo_size_width'); + $height = setting('invoice.logo_size_height'); + + if ($media) { + $image->make(Storage::get($path))->resize($width, $height)->encode(); + } else { + $image->make($path)->resize($width, $height)->encode(); + } + }); + } catch (NotReadableException | \Exception $e) { + Log::info('Company ID: ' . company_id() . ' components/documentshow.php exception.'); + Log::info($e->getMessage()); + + $path = base_path('public/img/company.png'); + + $image = Image::cache(function($image) use ($path) { + $width = setting('invoice.logo_size_width'); + $height = setting('invoice.logo_size_height'); + + $image->make($path)->resize($width, $height)->encode(); + }); + } + + if (empty($image)) { + return $logo; + } + + $extension = File::extension($path); + + return 'data:image/' . $extension . ';base64,' . base64_encode($image); + } + + protected function getBackgroundColor($type, $backgroundColor) + { + if (! empty($backgroundColor)) { + return $backgroundColor; + } + + if ($background_color = config('type.' . static::OBJECT_TYPE . '.' . $type . '.color', false)) { + return $background_color; + } + + if (! empty($alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'))) { + $type = $alias . '.' . str_replace('-', '_', $type); + } + + $backgroundColor = setting($this->getSettingKey($type, 'color'), '#55588b'); + + return $backgroundColor; + } + + protected function getTextDocumentTitle($type, $textDocumentTitle) + { + if (! empty($textDocumentTitle)) { + return $textDocumentTitle; + } + + $key = $this->getSettingKey($type, 'title'); + + if (! empty(setting($key))) { + return setting($key); + } + + $translation = $this->getTextFromConfig($type, 'document_title', Str::plural($type)); + + if (! empty($translation)) { + return trans_choice($translation, 1); + } + + return setting('invoice.title'); + } + + protected function getTextDocumentSubheading($type, $textDocumentSubheading) + { + if (! empty($textDocumentSubheading)) { + return $textDocumentSubheading; + } + + $key = $this->getSettingKey($type, 'subheading'); + + if (!empty(setting($key))) { + return setting($key); + } + + $translation = $this->getTextFromConfig($type, 'document_subheading', 'subheading'); + + if (! empty($translation)) { + return trans($translation); + } + + return false; + } + + protected function getTextDocumentNumber($type, $textDocumentNumber) + { + if (! empty($textDocumentNumber)) { + return $textDocumentNumber; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_number'; + break; + default: + $default_key = 'invoice_number'; + break; + } + + $translation = $this->getTextFromConfig($type, 'document_number', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'general.numbers'; + } + + protected function getTextOrderNumber($type, $textOrderNumber) + { + if (! empty($textOrderNumber)) { + return $textOrderNumber; + } + + $translation = $this->getTextFromConfig($type, 'order_number'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.order_number'; + } + + protected function getTextContactInfo($type, $textContactInfo) + { + if (! empty($textContactInfo)) { + return $textContactInfo; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_from'; + break; + default: + $default_key = 'bill_to'; + break; + } + + $translation = $this->getTextFromConfig($type, 'contact_info', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.bill_to'; + } + + protected function getTextIssuedAt($type, $textIssuedAt) + { + if (! empty($textIssuedAt)) { + return $textIssuedAt; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_date'; + break; + default: + $default_key = 'invoice_date'; + break; + } + + $translation = $this->getTextFromConfig($type, 'issued_at', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.invoice_date'; + } + + protected function getTextDueAt($type, $textDueAt) + { + if (! empty($textDueAt)) { + return $textDueAt; + } + + $translation = $this->getTextFromConfig($type, 'due_at', 'due_date'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.due_date'; + } + + protected function getTextItems($type, $textItems) + { + if (! empty($textItems)) { + return $textItems; + } + + // if you use settting translation + if (setting($this->getSettingKey($type, 'item_name'), 'items') == 'custom') { + if (empty($textItems = setting($this->getSettingKey($type, 'item_name_input')))) { + $textItems = 'general.items'; + } + + return $textItems; + } + + $translation = $this->getTextFromConfig($type, 'items'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.items'; + } + + protected function getTextQuantity($type, $textQuantity) + { + if (! empty($textQuantity)) { + return $textQuantity; + } + + // if you use settting translation + if (setting($this->getSettingKey($type, 'quantity_name'), 'quantity') === 'custom') { + if (empty($textQuantity = setting($this->getSettingKey($type, 'quantity_name_input')))) { + $textQuantity = 'invoices.quantity'; + } + + return $textQuantity; + } + + $translation = $this->getTextFromConfig($type, 'quantity'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.quantity'; + } + + protected function getTextPrice($type, $textPrice) + { + if (!empty($textPrice)) { + return $textPrice; + } + + // if you use settting translation + if (setting($this->getSettingKey($type, 'price_name'), 'price') === 'custom') { + if (empty($textPrice = setting($this->getSettingKey($type, 'price_name_input')))) { + $textPrice = 'invoices.price'; + } + + return $textPrice; + } + + $translation = $this->getTextFromConfig($type, 'price'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.price'; + } + + protected function getTextAmount($type, $textAmount) + { + if (! empty($textAmount)) { + return $textAmount; + } + + $translation = $this->getTextFromConfig($type, 'amount'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.amount'; + } + + protected function getHideItems($type, $hideItems, $hideName, $hideDescription) + { + if (! empty($hideItems)) { + return $hideItems; + } + + $hide = $this->getHideFromConfig($type, 'items'); + + if ($hide) { + return $hide; + } + + $hideItems = ($this->getHideName($type, $hideName) & $this->getHideDescription($type, $hideDescription)) ? true : false; + + return $hideItems; + } + + protected function getHideName($type, $hideName) + { + if (! empty($hideName)) { + return $hideName; + } + + // if you use settting translation + if ($hideName = setting($this->getSettingKey($type, 'hide_item_name'), false)) { + return $hideName; + } + + $hide = $this->getHideFromConfig($type, 'name'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_item_name', $hideName); + } + + protected function getHideDescription($type, $hideDescription) + { + if (! empty($hideDescription)) { + return $hideDescription; + } + + // if you use settting translation + if ($hideDescription = setting($this->getSettingKey($type, 'hide_item_description'), false)) { + return $hideDescription; + } + + $hide = $this->getHideFromConfig($type, 'description'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_item_description', $hideDescription); + } + + protected function getHideQuantity($type, $hideQuantity) + { + if (! empty($hideQuantity)) { + return $hideQuantity; + } + + // if you use settting translation + if ($hideQuantity = setting($this->getSettingKey($type, 'hide_quantity'), false)) { + return $hideQuantity; + } + + $hide = $this->getHideFromConfig($type, 'quantity'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_quantity', $hideQuantity); + } + + protected function getHidePrice($type, $hidePrice) + { + if (! empty($hidePrice)) { + return $hidePrice; + } + + // if you use settting translation + if ($hidePrice = setting($this->getSettingKey($type, 'hide_price'), false)) { + return $hidePrice; + } + + $hide = $this->getHideFromConfig($type, 'price'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_price', $hidePrice); + } + + protected function getHideDiscount($type, $hideDiscount) + { + if (! empty($hideDiscount)) { + return $hideDiscount; + } + + // if you use settting translation + if ($hideDiscount = setting($this->getSettingKey($type, 'hide_discount'), false)) { + return $hideDiscount; + } + + $hide = $this->getHideFromConfig($type, 'discount'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_discount', $hideDiscount); + } + + protected function getHideAmount($type, $hideAmount) + { + if (! empty($hideAmount)) { + return $hideAmount; + } + + // if you use settting translation + if ($hideAmount = setting($this->getSettingKey($type, 'hide_amount'), false)) { + return $hideAmount; + } + + $hide = $this->getHideFromConfig($type, 'amount'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_amount', $hideAmount); + } +} diff --git a/app/Abstracts/View/Components/Documents/Template.php b/app/Abstracts/View/Components/Documents/Template.php new file mode 100644 index 000000000..2934fb50b --- /dev/null +++ b/app/Abstracts/View/Components/Documents/Template.php @@ -0,0 +1,679 @@ +type = $type; + $this->item = $item; + $this->document = $document; + $this->documentTemplate = $this->getDocumentTemplate($type, $documentTemplate); + $this->logo = $this->getLogo($logo); + $this->backgroundColor = $this->getBackgroundColor($type, $backgroundColor); + + $this->hideFooter = $hideFooter; + $this->hideCompanyLogo = $hideCompanyLogo; + $this->hideCompanyDetails = $hideCompanyDetails; + $this->hideCompanyName = $hideCompanyName; + $this->hideCompanyAddress = $hideCompanyAddress; + $this->hideCompanyTaxNumber = $hideCompanyTaxNumber; + $this->hideCompanyPhone = $hideCompanyPhone; + $this->hideCompanyEmail = $hideCompanyEmail; + $this->hideContactInfo = $hideContactInfo; + $this->hideContactName = $hideContactName; + $this->hideContactAddress = $hideContactAddress; + $this->hideContactTaxNumber = $hideContactTaxNumber; + $this->hideContactPhone = $hideContactPhone; + $this->hideContactEmail = $hideContactEmail; + $this->hideOrderNumber = $hideOrderNumber; + $this->hideDocumentNumber = $hideDocumentNumber; + $this->hideIssuedAt = $hideIssuedAt; + $this->hideDueAt = $hideDueAt; + + $this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle); + $this->textDocumentSubheading = $this->gettextDocumentSubheading($type, $textDocumentSubheading); + $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); + $this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); + $this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber); + $this->textDueAt = $this->getTextDueAt($type, $textDueAt); + $this->textOrderNumber = $this->getTextOrderNumber($type, $textOrderNumber); + + $this->hideItems = $this->getHideItems($type, $hideItems, $hideName, $hideDescription); + $this->hideName = $this->getHideName($type, $hideName); + $this->hideDescription = $this->getHideDescription($type, $hideDescription); + $this->hideQuantity = $this->getHideQuantity($type, $hideQuantity); + $this->hidePrice = $this->getHidePrice($type, $hidePrice); + $this->hideDiscount = $this->getHideDiscount($type, $hideDiscount); + $this->hideAmount = $this->getHideAmount($type, $hideAmount); + $this->hideNote = $hideNote; + + $this->textItems = $this->getTextItems($type, $textItems); + $this->textQuantity = $this->getTextQuantity($type, $textQuantity); + $this->textPrice = $this->getTextPrice($type, $textPrice); + $this->textAmount = $this->getTextAmount($type, $textAmount); + + // Set Parent data + //$this->setParentData(); + } + + protected function getDocumentTemplate($type, $documentTemplate) + { + if (! empty($documentTemplate)) { + return $documentTemplate; + } + + if ($template = config('type.document.' . $type . '.template', false)) { + return $template; + } + + $documentTemplate = setting($this->getSettingKey($type, 'template'), 'default'); + + return $documentTemplate; + } + + protected function getLogo($logo) + { + if (! empty($logo)) { + return $logo; + } + + $media_id = (! empty($this->document->contact->logo) && ! empty($this->document->contact->logo->id)) ? $this->document->contact->logo->id : setting('company.logo'); + + $media = Media::find($media_id); + + if (! empty($media)) { + $path = $media->getDiskPath(); + + if (Storage::missing($path)) { + return $logo; + } + } else { + $path = base_path('public/img/company.png'); + } + + try { + $image = Image::cache(function($image) use ($media, $path) { + $width = setting('invoice.logo_size_width'); + $height = setting('invoice.logo_size_height'); + + if ($media) { + $image->make(Storage::get($path))->resize($width, $height)->encode(); + } else { + $image->make($path)->resize($width, $height)->encode(); + } + }); + } catch (NotReadableException | \Exception $e) { + Log::info('Company ID: ' . company_id() . ' components/documentshow.php exception.'); + Log::info($e->getMessage()); + + $path = base_path('public/img/company.png'); + + $image = Image::cache(function($image) use ($path) { + $width = setting('invoice.logo_size_width'); + $height = setting('invoice.logo_size_height'); + + $image->make($path)->resize($width, $height)->encode(); + }); + } + + if (empty($image)) { + return $logo; + } + + $extension = File::extension($path); + + return 'data:image/' . $extension . ';base64,' . base64_encode($image); + } + + protected function getBackgroundColor($type, $backgroundColor) + { + if (! empty($backgroundColor)) { + return $backgroundColor; + } + + if ($background_color = config('type.document.' . $type . '.color', false)) { + return $background_color; + } + + + if (! empty($alias = config('type.document.' . $type . '.alias'))) { + $type = $alias . '.' . str_replace('-', '_', $type); + } + + $backgroundColor = setting($this->getSettingKey($type, 'color'), '#55588b'); + + return $backgroundColor; + } + + protected function getTextDocumentTitle($type, $textDocumentTitle) + { + if (! empty($textDocumentTitle)) { + return $textDocumentTitle; + } + + $key = $this->getSettingKey($type, 'title'); + + if (! empty(setting($key))) { + return setting($key); + } + + $translation = $this->getTextFromConfig($type, 'document_title', Str::plural($type)); + + if (! empty($translation)) { + return trans_choice($translation, 1); + } + + return setting('invoice.title'); + } + + protected function getTextDocumentSubheading($type, $textDocumentSubheading) + { + if (! empty($textDocumentSubheading)) { + return $textDocumentSubheading; + } + + $key = $this->getSettingKey($type, 'subheading'); + + if (! empty(setting($key))) { + return setting($key); + } + + $translation = $this->getTextFromConfig($type, 'document_subheading', 'subheading'); + + if (! empty($translation)) { + return trans($translation); + } + + return false; + } + + protected function getTextDocumentNumber($type, $textDocumentNumber) + { + if (! empty($textDocumentNumber)) { + return $textDocumentNumber; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_number'; + break; + default: + $default_key = 'invoice_number'; + break; + } + + $translation = $this->getTextFromConfig($type, 'document_number', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'general.numbers'; + } + + protected function getTextOrderNumber($type, $textOrderNumber) + { + if (! empty($textOrderNumber)) { + return $textOrderNumber; + } + + $translation = $this->getTextFromConfig($type, 'order_number'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.order_number'; + } + + protected function getTextContactInfo($type, $textContactInfo) + { + if (! empty($textContactInfo)) { + return $textContactInfo; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_from'; + break; + default: + $default_key = 'bill_to'; + break; + } + + $translation = $this->getTextFromConfig($type, 'contact_info', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.bill_to'; + } + + protected function getTextIssuedAt($type, $textIssuedAt) + { + if (! empty($textIssuedAt)) { + return $textIssuedAt; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_date'; + break; + default: + $default_key = 'invoice_date'; + break; + } + + $translation = $this->getTextFromConfig($type, 'issued_at', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.invoice_date'; + } + + protected function getTextDueAt($type, $textDueAt) + { + if (! empty($textDueAt)) { + return $textDueAt; + } + + $translation = $this->getTextFromConfig($type, 'due_at', 'due_date'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.due_date'; + } + + protected function getTextItems($type, $textItems) + { + if (! empty($textItems)) { + return $textItems; + } + + // if you use settting translation + if (setting($this->getSettingKey($type, 'item_name'), 'items') === 'custom') { + if (empty($textItems = setting($this->getSettingKey($type, 'item_name_input')))) { + $textItems = 'general.items'; + } + + return $textItems; + } + + if (setting($this->getSettingKey($type, 'item_name')) !== null + && (trans(setting($this->getSettingKey($type, 'item_name'))) != setting($this->getSettingKey($type, 'item_name'))) + ) { + return setting($this->getSettingKey($type, 'item_name')); + } + + $translation = $this->getTextFromConfig($type, 'items'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.items'; + } + + protected function getTextQuantity($type, $textQuantity) + { + if (! empty($textQuantity)) { + return $textQuantity; + } + + // if you use settting translation + if (setting($this->getSettingKey($type, 'quantity_name'), 'quantity') === 'custom') { + if (empty($textQuantity = setting($this->getSettingKey($type, 'quantity_name_input')))) { + $textQuantity = 'invoices.quantity'; + } + + return $textQuantity; + } + + if (setting($this->getSettingKey($type, 'quantity_name')) !== null + && (trans(setting($this->getSettingKey($type, 'quantity_name'))) != setting($this->getSettingKey($type, 'quantity_name'))) + ) { + return setting($this->getSettingKey($type, 'quantity_name')); + } + + $translation = $this->getTextFromConfig($type, 'quantity'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.quantity'; + } + + protected function getTextPrice($type, $textPrice) + { + if (! empty($textPrice)) { + return $textPrice; + } + + // if you use settting translation + if (setting($this->getSettingKey($type, 'price_name'), 'price') === 'custom') { + if (empty($textPrice = setting($this->getSettingKey($type, 'price_name_input')))) { + $textPrice = 'invoices.price'; + } + + return $textPrice; + } + + if (setting($this->getSettingKey($type, 'price_name')) !== null + && (trans(setting($this->getSettingKey($type, 'price_name'))) != setting($this->getSettingKey($type, 'price_name'))) + ) { + return setting($this->getSettingKey($type, 'price_name')); + } + + $translation = $this->getTextFromConfig($type, 'price'); + + if (! empty($translation)) { + return $translation; + } + + return 'invoices.price'; + } + + protected function getTextAmount($type, $textAmount) + { + if (! empty($textAmount)) { + return $textAmount; + } + + $translation = $this->getTextFromConfig($type, 'amount'); + + if (! empty($translation)) { + return $translation; + } + + return 'general.amount'; + } + + protected function getHideItems($type, $hideItems, $hideName, $hideDescription) + { + if (! empty($hideItems)) { + return $hideItems; + } + + $hide = $this->getHideFromConfig($type, 'items'); + + if ($hide) { + return $hide; + } + + $hideItems = ($this->getHideName($type, $hideName) & $this->getHideDescription($type, $hideDescription)) ? true : false; + + return $hideItems; + } + + protected function getHideName($type, $hideName) + { + if (! empty($hideName)) { + return $hideName; + } + + // if you use settting translation + if ($hideName = setting($this->getSettingKey($type, 'hide_item_name'), false)) { + return $hideName; + } + + $hide = $this->getHideFromConfig($type, 'name'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_item_name', $hideName); + } + + protected function getHideDescription($type, $hideDescription) + { + if (! empty($hideDescription)) { + return $hideDescription; + } + + // if you use settting translation + if ($hideDescription = setting($this->getSettingKey($type, 'hide_item_description'), false)) { + return $hideDescription; + } + + $hide = $this->getHideFromConfig($type, 'description'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_item_description', $hideDescription); + } + + protected function getHideQuantity($type, $hideQuantity) + { + if (! empty($hideQuantity)) { + return $hideQuantity; + } + + // if you use settting translation + if ($hideQuantity = setting($this->getSettingKey($type, 'hide_quantity'), false)) { + return $hideQuantity; + } + + $hide = $this->getHideFromConfig($type, 'quantity'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_quantity', $hideQuantity); + } + + protected function getHidePrice($type, $hidePrice) + { + if (! empty($hidePrice)) { + return $hidePrice; + } + + // if you use settting translation + if ($hidePrice = setting($this->getSettingKey($type, 'hide_price'), false)) { + return $hidePrice; + } + + $hide = $this->getHideFromConfig($type, 'price'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_price', $hidePrice); + } + + protected function getHideDiscount($type, $hideDiscount) + { + if (! empty($hideDiscount)) { + return $hideDiscount; + } + + // if you use settting translation + if ($hideDiscount = setting($this->getSettingKey($type, 'hide_discount'), false)) { + return $hideDiscount; + } + + $hide = $this->getHideFromConfig($type, 'discount'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_discount', $hideDiscount); + } + + protected function getHideAmount($type, $hideAmount) + { + if (! empty($hideAmount)) { + return $hideAmount; + } + + // if you use settting translation + if ($hideAmount = setting($this->getSettingKey($type, 'hide_amount'), false)) { + return $hideAmount; + } + + $hide = $this->getHideFromConfig($type, 'amount'); + + if ($hide) { + return $hide; + } + + // @todo what return value invoice or always false?? + return setting('invoice.hide_amount', $hideAmount); + } +} diff --git a/app/Abstracts/View/Components/Form.php b/app/Abstracts/View/Components/Form.php new file mode 100644 index 000000000..aed1573eb --- /dev/null +++ b/app/Abstracts/View/Components/Form.php @@ -0,0 +1,307 @@ +type = $this->getType($type); + $this->name = $this->getName($name); + $this->label = $label; + $this->id = $id ?? $name; + $this->value = $this->getValue($value, $valueKey); + $this->placeholder = $this->getPlaceholder($placeholder); + $this->rows = $rows; + + $this->remote = $remote; + $this->multiple = $multiple; + $this->addNew = $addNew; + $this->group = $group; + + $this->disabled = $disabled; + $this->readonly = $readonly; + $this->required = $this->getRequired($required, $notRequired); + + $this->options = $this->getOptions($options); + $this->option = $option; + $this->optionKey = $optionKey; + $this->optionValue = $optionValue; + $this->checked = $this->getChecked($checked, $checkedKey); + $this->selected = $this->getSelected($selected, $selectedKey); + + $this->formGroupClass = $this->getFromGroupClass($formGroupClass); + $this->inputGroupClass = $this->getInputGroupClass($inputGroupClass); + + $this->custom_attributes = $this->getCustomAttributes(); + + $this->setDynamicAttributes($dynamicAttributes); + } + + protected function getType($type) + { + if (! empty($type) && (! empty($this->type) && $type != 'text')) { + return $type; + } + + if (! empty($this->type)) { + return $this->type; + } + } + + protected function getName($name) + { + if (! empty($name)) { + return $name; + } + + return $this->name; + } + + protected function getValue($value, $valueKey) + { + if ($value != '') { + return $value; + } + + if (empty($valueKey)) { + $valueKey = $this->name; + } + + if (empty($valueKey)) { + return ''; + } + + // set model value. + $model = $this->getParentData('model'); + + $value_keys = explode('.', $valueKey); + + if (count($value_keys) > 1) { + $valueKey = $value_keys[0]; + } + + if (! empty($model->{$valueKey})) { + $value = $model->{$valueKey}; + } + + if ($model instanceof Collection) { + $value = $model->get($valueKey); + } + + if (count($value_keys) > 1) { + $value = $value[0]->{$value_keys[1]}; + } + + if (empty($value) && request()->has($valueKey)) { + $value = request()->get($valueKey); + } + + return old($valueKey, $value); + } + + protected function getPlaceholder($placeholder) + { + if (! empty($placeholder)) { + return $placeholder; + } + + $label = $this->label; + + if (! empty($this->label) && ! empty($this->label->contents)) { + $label = $this->name; + } + + return trans('general.form.enter', ['field' => $label]); + } + + protected function getOptions($options) + { + if (! empty($options)) { + if (is_array($options) && ! $this->group) { + $o = collect(); + + foreach ($options as $key => $value) { + if (is_array($value)) { + $o->push((object) $value); + } else { + $o->push((object) [ + 'id' => $key, + 'name' => $value, + ]); + } + } + + $options = $o; + } + + return $options; + } + + return []; + } + + protected function getChecked($checked, $checkedKey) + { + return $this->getValue($checked, $checkedKey); + } + + protected function getSelected($selected, $selectedKey) + { + return $this->getValue($selected, $selectedKey); + } + + protected function getRequired($required, $notRequired) + { + if (! empty($notRequired)) { + return false; + } + + return $required; + } + + protected function getFromGroupClass($formGroupClass) + { + if (! empty($formGroupClass)) { + return $formGroupClass; + } + + return $this->formGroupClass; + } + + protected function getInputGroupClass($inputGroupClass) + { + if (! empty($inputGroupClass)) { + return $inputGroupClass; + } + + return $this->inputGroupClass; + } + + protected function getCustomAttributes() + { + $attributes = []; + + if (! empty($this->required)) { + $attributes['required'] = $this->required; + } + + if (! empty($this->disabled)) { + $attributes['disabled'] = $this->disabled; + } + + if (! empty($this->readonly)) { + $attributes['readonly'] = $this->readonly; + } + + foreach ($this->custom_attributes as $key => $value) { + $attributes[$key] = $value; + } + + return $attributes; + } + + protected function setDynamicAttributes($dynamicAttributes) + { + if (! empty($dynamicAttributes)) { + $this->dynamicAttributes = $dynamicAttributes; + } + } +} diff --git a/app/Abstracts/View/Components/Transaction.php b/app/Abstracts/View/Components/Transaction.php deleted file mode 100644 index 4174533cc..000000000 --- a/app/Abstracts/View/Components/Transaction.php +++ /dev/null @@ -1,175 +0,0 @@ - $alias . 'general.' . $default_key, - 'prefix' => $alias . $prefix . '.' . $default_key, - 'config_general' => $alias . 'general.' . $config_key, - 'config_prefix' => $alias . $prefix . '.' . $config_key, - ]; - - switch ($trans_type) { - case 'trans': - foreach ($translations as $trans) { - if (trans($trans) !== $trans) { - return $trans; - } - } - - break; - case 'trans_choice': - foreach ($translations as $trans_choice) { - if (trans_choice($trans_choice, 1) !== $trans_choice) { - return $trans_choice; - } - } - - break; - } - - return $translation; - } - - public function getRouteFromConfig($type, $config_key, $config_parameters = []) - { - $route = ''; - - // if set config trasnlation config_key - if ($route = config('type.' . $type . '.route.' . $config_key)) { - return $route; - } - - $alias = config('type.' . $type . '.alias'); - $prefix = config('type.' . $type . '.route.prefix'); - - // if use module set module alias - if (!empty($alias)) { - $route .= $alias . '.'; - } - - if (!empty($prefix)) { - $route .= $prefix . '.'; - } - - $route .= $config_key; - - try { - route($route, $config_parameters); - } catch (\Exception $e) { - try { - $route = Str::plural($type, 2) . '.' . $config_key; - - route($route, $config_parameters); - } catch (\Exception $e) { - $route = ''; - } - } - - return $route; - } - - public function getPermissionFromConfig($type, $config_key) - { - $permission = ''; - - // if set config trasnlation config_key - if ($permission = config('type.' . $type . '.permission.' . $config_key)) { - return $permission; - } - - $alias = config('type.' . $type . '.alias'); - $group = config('type.' . $type . '.group'); - $prefix = config('type.' . $type . '.permission.prefix'); - - $permission = $config_key . '-'; - - // if use module set module alias - if (!empty($alias)) { - $permission .= $alias . '-'; - } - - // if controller in folder it must - if (!empty($group)) { - $permission .= $group . '-'; - } - - $permission .= $prefix; - - return $permission; - } - - public function getHideFromConfig($type, $config_key) - { - $hide = false; - - $hides = config('type.' . $type . '.hide'); - - if (!empty($hides) && (in_array($config_key, $hides))) { - $hide = true; - } - - return $hide; - } - - public function getClassFromConfig($type, $config_key) - { - $class_key = 'type.' . $type . '.class.' . $config_key; - - return config($class_key, ''); - } - - public function getCategoryFromConfig($type) - { - $category_type = ''; - - // if set config trasnlation config_key - if ($category_type = config('type.' . $type . '.category_type')) { - return $category_type; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $category_type = 'expense'; - break; - case 'item': - $category_type = 'item'; - break; - case 'other': - $category_type = 'other'; - break; - case 'transfer': - $category_type = 'transfer'; - break; - default: - $category_type = 'income'; - break; - } - - return $category_type; - } -} diff --git a/app/Abstracts/View/Components/TransactionShow.php b/app/Abstracts/View/Components/TransactionShow.php deleted file mode 100644 index 21b41d650..000000000 --- a/app/Abstracts/View/Components/TransactionShow.php +++ /dev/null @@ -1,1312 +0,0 @@ -type = $type; - $this->transaction = $transaction; - $this->transactionTemplate = $this->getTransactionTemplate($type, $transactionTemplate); - $this->logo = $this->getLogo($logo); - $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); - $this->date_format = $this->getCompanyDateFormat(); - $this->textRecurringType = $this->getTextRecurringType($type, $textRecurringType); - $this->hideRecurringMessage = $hideRecurringMessage; - $this->routePrefix = $this->getRoutePrefix($type); - - // Navbar Hide - $this->hideButtonAddNew = $hideButtonAddNew; - $this->hideButtonMoreActions = $hideButtonMoreActions; - $this->hideButtonEdit = $hideButtonEdit; - $this->hideButtonDuplicate = $hideButtonDuplicate; - $this->hideButtonPrint = $hideButtonPrint; - $this->hideButtonShare = $hideButtonShare; - $this->hideButtonEmail = $hideButtonEmail; - $this->hideButtonPdf = $hideButtonPdf; - $this->hideButtonDelete = $hideButtonDelete; - $this->checkButtonReconciled = $checkButtonReconciled; - $this->hideButtonGroupDivider1 = $hideButtonGroupDivider1; - $this->hideButtonGroupDivider2 = $hideButtonGroupDivider2; - $this->hideButtonGroupDivider3 = $hideButtonGroupDivider3; - - // Navbar Permission - $this->permissionCreate = $this->getPermissionCreate($type, $permissionCreate); - $this->permissionUpdate = $this->getPermissionUpdate($type, $permissionUpdate); - $this->permissionDelete = $this->getPermissionDelete($type, $permissionDelete); - - // Navbar route - $this->routeButtonAddNew = $this->getRouteButtonAddNew($type, $routeButtonAddNew); - $this->routeButtonEdit = $this->getRouteButtonEdit($type, $routeButtonEdit); - $this->routeButtonDuplicate = $this->getRouteButtonDuplicate($type, $routeButtonDuplicate); - $this->routeButtonPrint = $this->getRouteButtonPrint($type, $routeButtonPrint); - $this->signedUrl = $this->getSignedUrl($type, $signedUrl); - $this->routeButtonEmail = $this->getRouteButtonEmail($type, $routeButtonEmail); - $this->routeButtonPdf = $this->getRouteButtonPdf($type, $routeButtonPdf); - $this->routeButtonDelete = $this->getRouteButtonDelete($type, $routeButtonDelete); - $this->routeContactShow = $this->getRouteContactShow($type, $routeContactShow); - - // Navbar Text - $this->textDeleteModal = $textDeleteModal; - - // Header Hide - $this->hideHeader = $hideHeader; - - $this->hideHeaderAccount = $hideHeaderAccount; - $this->hideHeaderCategory = $hideHeaderCategory; - $this->hideHeaderContact = $hideHeaderContact; - $this->hideHeaderCategory = $hideHeaderCategory; - $this->hideHeaderAmount = $hideHeaderAmount; - $this->hideHeaderPaidAt = $hideHeaderPaidAt; - - // Header Text - $this->textHeaderAccount = $this->getTextHeaderAccount($type, $textHeaderAccount); - $this->textHeaderCategory = $this->getTextHeaderCategory($type, $textHeaderCategory); - $this->textHeaderContact = $this->getTextHeaderContact($type, $textHeaderContact); - $this->textHeaderAmount = $this->getTextHeaderAmount($type, $textHeaderAmount); - $this->textHeaderPaidAt = $this->gettextHeaderPaidAt($type, $textHeaderPaidAt); - - // Header Class - $this->classHeaderAccount = $this->getClassHeaderAccount($type, $classHeaderAccount); - $this->classHeaderContact = $this->getClassHeaderContact($type, $classHeaderContact); - $this->classHeaderCategory = $this->getClassHeaderCategory($type, $classHeaderCategory); - $this->classHeaderAmount = $this->getClassHeaderAmount($type, $classHeaderAmount); - $this->classHeaderPaidAt = $this->getClassHeaderPaidAt($type, $classHeaderPaidAt); - - // Hide Attachment - $this->hideAttachment = $hideAttachment; - - // Company Information Hide checker - $this->hideCompany = $hideCompany; - $this->hideCompanyLogo = $hideCompanyLogo; - $this->hideCompanyDetails = $hideCompanyDetails; - $this->hideCompanyName = $hideCompanyName; - $this->hideCompanyAddress = $hideCompanyAddress; - $this->hideCompanyTaxNumber = $hideCompanyTaxNumber; - $this->hideCompanyPhone = $hideCompanyPhone; - $this->hideCompanyEmail = $hideCompanyEmail; - - // Transaction Information Hide checker - $this->hideContentTitle = $hideContentTitle; - $this->hidePaidAt = $hidePaidAt; - $this->hideAccount = $hideAccount; - $this->hideCategory = $hideCategory; - $this->hidePaymentMethods = $hidePaymentMethods; - $this->hideReference = $hideReference; - $this->hideDescription = $hideDescription; - $this->hideAmount = $hideAmount; - - // Transaction Information Text - $this->textContentTitle = $this->getTextContentTitle($type, $textContentTitle); - $this->textPaidAt = $this->getTextPaidAt($type, $textPaidAt); - $this->textAccount = $this->getTextAccount($type, $textAccount); - $this->textCategory = $this->getTextCategory($type, $textCategory); - $this->textPaymentMethods = $this->getTextPaymentMethods($type, $textPaymentMethods); - $this->textReference = $this->getTextReference($type, $textReference); - $this->textDescription = $this->getTextDescription($type, $textDescription); - $this->textAmount = $this->getTextAmount($type, $textAmount); - $this->textPaidBy = $this->getTextPaidBy($type, $textPaidBy); - - // Contact Information Hide checker - $this->hideContact = $hideContact; - $this->hideContactInfo = $hideContactInfo; - $this->hideContactName = $hideContactName; - $this->hideContactAddress = $hideContactAddress; - $this->hideContactTaxNumber = $hideContactTaxNumber; - $this->hideContactPhone = $hideContactPhone; - $this->hideContactEmail = $hideContactEmail; - - // Related Information Hide checker - $this->hideRelated = $hideRelated; - $this->hideRelatedDocumentNumber = $hideRelatedDocumentNumber; - $this->hideRelatedContact = $hideRelatedContact; - $this->hideRelatedDocumentDate = $hideRelatedDocumentDate; - $this->hideRelatedDocumentAmount = $hideRelatedDocumentAmount; - $this->hideRelatedAmount = $hideRelatedAmount; - - // Related Information Text - $this->textRelatedTransansaction = $this->getTextRelatedTransansaction($type, $textRelatedTransansaction); - $this->textRelatedDocumentNumber = $this->getTextRelatedDocumentNumber($type, $textRelatedDocumentNumber); - $this->textRelatedContact = $this->getTextRelatedContact($type, $textRelatedContact); - $this->textRelatedDocumentDate = $this->getTextRelatedDocumentDate($type, $textRelatedDocumentDate); - $this->textRelatedDocumentAmount = $this->getTextRelatedDocumentAmount($type, $textRelatedDocumentAmount); - $this->textRelatedAmount = $this->getTextRelatedAmount($type, $textRelatedAmount); - - $this->routeDocumentShow = $this->routeDocumentShow($type, $routeDocumentShow); - - // Attachment data.. - $this->attachment = ''; - - if (!empty($attachment)) { - $this->attachment = $attachment; - } else if (!empty($transaction)) { - $this->attachment = $transaction->attachment; - } - - // Histories Hide - $this->hideFooter = $hideFooter; - $this->hideFooterHistories = $hideFooterHistories; - - // Histories - $this->histories = $this->getHistories($histories); - $this->textHistories = $this->getTextHistories($type, $textHistories); - $this->classFooterHistories = $this->getClassFooterHistories($type, $classFooterHistories); - } - - protected function getTransactionTemplate($type, $transactionTemplate) - { - if (!empty($transactionTemplate)) { - return $transactionTemplate; - } - - if ($template = config('type.' . $type . 'template', false)) { - return $template; - } - - $transactionTemplate = setting($this->getSettingKey($type, 'template')) ?: 'default'; - - return $transactionTemplate; - } - - protected function getLogo($logo) - { - if (!empty($logo)) { - return $logo; - } - - $media_id = (!empty($this->transaction->contact->logo) && !empty($this->transaction->contact->logo->id)) ? $this->transaction->contact->logo->id : setting('company.logo'); - - $media = Media::find($media_id); - - if (!empty($media)) { - $path = $media->getDiskPath(); - - if (Storage::missing($path)) { - return $logo; - } - } else { - $path = base_path('public/img/company.png'); - } - - try { - $image = Image::cache(function($image) use ($media, $path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - if ($media) { - $image->make(Storage::get($path))->resize($width, $height)->encode(); - } else { - $image->make($path)->resize($width, $height)->encode(); - } - }); - } catch (NotReadableException | \Exception $e) { - Log::info('Company ID: ' . company_id() . ' components/transactionshow.php exception.'); - Log::info($e->getMessage()); - - $path = base_path('public/img/company.png'); - - $image = Image::cache(function($image) use ($path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - $image->make($path)->resize($width, $height)->encode(); - }); - } - - if (empty($image)) { - return $logo; - } - - $extension = File::extension($path); - - return 'data:image/' . $extension . ';base64,' . base64_encode($image); - } - - protected function getRouteButtonAddNew($type, $routeButtonAddNew) - { - if (!empty($routeButtonAddNew)) { - return $routeButtonAddNew; - } - - $route = $this->getRouteFromConfig($type, 'create'); - - if (!empty($route)) { - return $route; - } - - return 'revenues.create'; - } - - protected function getRouteButtonEdit($type, $routeButtonEdit) - { - if (!empty($routeButtonEdit)) { - return $routeButtonEdit; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'edit', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'revenues.edit'; - } - - protected function getRouteButtonDuplicate($type, $routeButtonDuplicate) - { - if (!empty($routeButtonDuplicate)) { - return $routeButtonDuplicate; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'duplicate', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'revenues.duplicate'; - } - - protected function getRouteButtonPrint($type, $routeButtonPrint) - { - if (!empty($routeButtonPrint)) { - return $routeButtonPrint; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'print', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'revenues.print'; - } - - protected function getSignedUrl($type, $signedUrl) - { - if (!empty($signedUrl)) { - return $signedUrl; - } - - $page = config('type.' . $type . '.route.prefix'); - $alias = config('type.' . $type . '.alias'); - - $route = ''; - - if (!empty($alias)) { - $route .= $alias . '.'; - } - - $route .= 'signed.' . $page . '.show'; - - try { - route($route, [$this->transaction->id, 'company_id' => company_id()]); - - $signedUrl = URL::signedRoute($route, [$this->transaction->id]); - } catch (\Exception $e) { - $signedUrl = URL::signedRoute('signed.payments.show', [$this->transaction->id]); - } - - return $signedUrl; - } - - protected function getRouteButtonEmail($type, $routeButtonEmail) - { - if (!empty($routeButtonEmail)) { - return $routeButtonEmail; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'email', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'revenues.email'; - } - - protected function getRouteButtonPdf($type, $routeButtonPdf) - { - if (!empty($routeButtonPdf)) { - return $routeButtonPdf; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'pdf', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'revenues.pdf'; - } - - protected function getRouteButtonDelete($type, $routeButtonDelete) - { - if (!empty($routeButtonDelete)) { - return $routeButtonDelete; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($type, 'destroy', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'revenues.destroy'; - } - - protected function getRouteContactShow($type, $routeContactShow) - { - if (!empty($routeContactShow)) { - return $routeContactShow; - } - - //example route parameter. - $parameter = 1; - - $route = Str::plural(config('type.' . $type . '.contact_type'), 2) . '.show'; - - try { - route($route, $parameter); - } catch (\Exception $e) { - try { - $route = Str::plural($type, 2) . '.' . $config_key; - - route($route, $parameter); - } catch (\Exception $e) { - $route = ''; - } - } - - if (!empty($route)) { - return $route; - } - - return 'customers.show'; - } - - protected function getPermissionCreate($type, $permissionCreate) - { - if (!empty($permissionCreate)) { - return $permissionCreate; - } - - $permissionCreate = $this->getPermissionFromConfig($type, 'create'); - - return $permissionCreate; - } - - protected function getPermissionUpdate($type, $permissionUpdate) - { - if (!empty($permissionUpdate)) { - return $permissionUpdate; - } - - $permissionUpdate = $this->getPermissionFromConfig($type, 'update'); - - return $permissionUpdate; - } - - protected function getPermissionDelete($type, $permissionDelete) - { - if (!empty($permissionDelete)) { - return $permissionDelete; - } - - $permissionDelete = $this->getPermissionFromConfig($type, 'delete'); - - return $permissionDelete; - } - - protected function getTextHeaderAccount($type, $textHeaderAccount) - { - if (!empty($textHeaderAccount)) { - return $textHeaderAccount; - } - - $translation = $this->getTextFromConfig($type, 'header_account', 'accounts', 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.accounts'; - } - - protected function getTextHeaderCategory($type, $textHeaderCategory) - { - if (!empty($textHeaderCategory)) { - return $textHeaderCategory; - } - - $translation = $this->getTextFromConfig($type, 'header_category', 'categories', 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.categories'; - } - - protected function getTextHeaderContact($type, $textHeaderContact) - { - if (!empty($textHeaderContact)) { - return $textHeaderContact; - } - - $default_key = Str::plural(config('type.' . $type . '.contact_type'), 2); - - $translation = $this->getTextFromConfig($type, 'header_contact', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.customers'; - } - - protected function getTextHeaderAmount($type, $textHeaderAmount) - { - if (!empty($textHeaderAmount)) { - return $textHeaderAmount; - } - - $translation = $this->getTextFromConfig($type, 'header_amount', 'amount'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount'; - } - - protected function getTextHeaderPaidAt($type, $textHeaderPaidAt) - { - if (!empty($textHeaderPaidAt)) { - return $textHeaderPaidAt; - } - - $translation = $this->getTextFromConfig($type, 'header_paid_at', 'date'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.date'; - } - - protected function getClassHeaderAccount($type, $classHeaderAccount) - { - if (!empty($classHeaderAccount)) { - return $classHeaderAccount; - } - - $class = $this->getClassFromConfig($type, 'header_account'); - - if (!empty($class)) { - return $class; - } - - return 'col-4 col-lg-3'; - } - - protected function getClassHeaderContact($type, $classHeaderContact) - { - if (!empty($classHeaderContact)) { - return $classHeaderContact; - } - - $class = $this->getClassFromConfig($type, 'header_contact'); - - if (!empty($class)) { - return $class; - } - - return 'col-4 col-lg-2'; - } - - protected function getClassHeaderCategory($type, $classHeaderCategory) - { - if (!empty($classHeaderCategory)) { - return $classHeaderCategory; - } - - $class = $this->getClassFromConfig($type, 'header_category'); - - if (!empty($class)) { - return $class; - } - - return 'col-4 col-lg-3'; - } - - protected function getClassHeaderAmount($type, $classHeaderAmount) - { - if (!empty($classHeaderAmount)) { - return $classHeaderAmount; - } - - $class = $this->getClassFromConfig($type, 'header_amount'); - - if (!empty($class)) { - return $class; - } - - return 'col-4 col-lg-2'; - } - - protected function getClassHeaderPaidAt($type, $classHeaderPaidAt) - { - if (!empty($classHeaderPaidAt)) { - return $classHeaderPaidAt; - } - - $class = $this->getClassFromConfig($type, 'header_paid_at'); - - if (!empty($class)) { - return $class; - } - - return 'col-4 col-lg-2'; - } - - protected function getTextContentTitle($type, $textContentTitle) - { - if (!empty($textContentTitle)) { - return $textContentTitle; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'payment_made'; - break; - default: - $default_key = 'revenue_received'; - break; - } - - $translation = $this->getTextFromConfig($type, $type . '_made', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'revenues.revenue_received'; - } - - protected function getTextPaidAt($type, $textPaidAt) - { - if (!empty($textPaidAt)) { - return $textPaidAt; - } - - $translation = $this->getTextFromConfig($type, 'paid_at', 'date'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.date'; - } - - protected function getTextAccount($type, $textAccount) - { - if (!empty($textAccount)) { - return $textAccount; - } - - $translation = $this->getTextFromConfig($type, 'accounts', 'accounts', 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.accounts'; - } - - protected function getTextCategory($type, $textCategory) - { - if (!empty($textCategory)) { - return $textCategory; - } - - $translation = $this->getTextFromConfig($type, 'categories', 'categories', 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.categories'; - } - - protected function getTextPaymentMethods($type, $textPaymentMethods) - { - if (!empty($textPaymentMethods)) { - return $textPaymentMethods; - } - - $translation = $this->getTextFromConfig($type, 'payment_methods', 'payment_methods', 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.payment_methods'; - } - - protected function getTextReference($type, $textReference) - { - if (!empty($textReference)) { - return $textReference; - } - - $translation = $this->getTextFromConfig($type, 'reference', 'reference'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.reference'; - } - - protected function getTextDescription($type, $textDescription) - { - if (!empty($textDescription)) { - return $textDescription; - } - - $translation = $this->getTextFromConfig($type, 'description', 'description'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.description'; - } - - protected function getTextAmount($type, $textAmount) - { - if (!empty($textAmount)) { - return $textAmount; - } - - $translation = $this->getTextFromConfig($type, 'amount', 'amount'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount'; - } - - protected function getTextPaidBy($type, $textPaidBy) - { - if (!empty($textPaidBy)) { - return $textPaidBy; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'paid_to'; - break; - default: - $default_key = 'paid_by'; - break; - } - - $translation = $this->getTextFromConfig($type, 'paid_to_by', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'revenues.paid_by'; - } - - protected function getTextRelatedTransansaction($type, $textRelatedTransansaction) - { - if (!empty($textRelatedTransansaction)) { - return $textRelatedTransansaction; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'related_bill'; - break; - default: - $default_key = 'related_invoice'; - break; - } - - $translation = $this->getTextFromConfig($type, 'related_type', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'revenues.related_invoice'; - } - - protected function getTextRelatedDocumentNumber($type, $textRelatedDocumentNumber) - { - if (!empty($textRelatedDocumentNumber)) { - return $textRelatedDocumentNumber; - } - - $translation = $this->getTextFromConfig($type, 'related_document_number', 'numbers'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.numbers'; - } - - protected function getTextRelatedContact($type, $textRelatedContact) - { - if (!empty($textRelatedContact)) { - return $textRelatedContact; - } - - $default_key = Str::plural(config('type.' . $type . '.contact_type'), 2); - - $translation = $this->getTextFromConfig($type, 'related_contact', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.customers'; - } - - protected function getTextRelatedDocumentDate($type, $textRelatedDocumentDate) - { - if (!empty($textRelatedDocumentDate)) { - return $textRelatedDocumentDate; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_date'; - break; - default: - $default_key = 'invoice_date'; - break; - } - - $translation = $this->getTextFromConfig($type, 'related_document_date', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.invoice_date'; - } - - protected function getTextRelatedDocumentAmount($type, $textRelatedDocumentAmount) - { - if (!empty($textRelatedDocumentAmount)) { - return $textRelatedDocumentAmount; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_amount'; - break; - default: - $default_key = 'invoice_amount'; - break; - } - - $translation = $this->getTextFromConfig($type, 'related_document_amount', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount'; - } - - protected function getTextRelatedAmount($type, $textRelatedAmount) - { - if (!empty($textRelatedAmount)) { - return $textRelatedAmount; - } - - $translation = $this->getTextFromConfig($type, 'related_amount', 'amount'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount'; - } - - protected function routeDocumentShow($type, $routeDocumentShow) - { - if (!empty($routeDocumentShow)) { - return $routeDocumentShow; - } - - if (!$this->transaction->document) { - return $routeDocumentShow; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($this->transaction->document->type, 'show', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.show'; - } - - protected function getHistories($histories) - { - if (!empty($histories)) { - return $histories; - } - - $histories[] = $this->transaction; - - return $histories; - } - - protected function getTextHistories($type, $textHistories) - { - if (!empty($textHistories)) { - return $textHistories; - } - - $translation = $this->getTextFromConfig($type, 'histories', 'histories'); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.histories'; - } - - protected function getClassFooterHistories($type, $classFooterHistories) - { - if (!empty($classFooterHistories)) { - return $classFooterHistories; - } - - $class = $this->getClassFromConfig($type, 'footer_histories'); - - if (!empty($class)) { - return $class; - } - - return 'col-sm-6 col-md-6 col-lg-6 col-xl-6'; - } - - protected function getTextRecurringType($type, $textRecurringType) - { - if (!empty($textRecurringType)) { - return $textRecurringType; - } - - $default_key = config('type.' . $type . '.translation.prefix'); - - $translation = $this->getTextFromConfig($type, 'recurring_tye', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'general.revenues'; - } - - protected function getRoutePrefix($type) { - if ($prefix = config('type.' . $type . '.route.prefix', false)){ - return 'revenues'; - } - - return $prefix; - } -} diff --git a/app/Abstracts/View/Components/TransactionTemplate.php b/app/Abstracts/View/Components/TransactionTemplate.php deleted file mode 100644 index 83ebe676e..000000000 --- a/app/Abstracts/View/Components/TransactionTemplate.php +++ /dev/null @@ -1,632 +0,0 @@ -type = $type; - $this->transaction = $transaction; - - $this->logo = $this->getLogo($logo); - $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); - - // Company Information Hide checker - $this->hideCompany = $hideCompany; - $this->hideCompanyLogo = $hideCompanyLogo; - $this->hideCompanyDetails = $hideCompanyDetails; - $this->hideCompanyName = $hideCompanyName; - $this->hideCompanyAddress = $hideCompanyAddress; - $this->hideCompanyTaxNumber = $hideCompanyTaxNumber; - $this->hideCompanyPhone = $hideCompanyPhone; - $this->hideCompanyEmail = $hideCompanyEmail; - - // Transaction Information Hide checker - $this->hideContentTitle = $hideContentTitle; - $this->hidePaidAt = $hidePaidAt; - $this->hideAccount = $hideAccount; - $this->hideCategory = $hideCategory; - $this->hidePaymentMethods = $hidePaymentMethods; - $this->hideReference = $hideReference; - $this->hideDescription = $hideDescription; - $this->hideAmount = $hideAmount; - - // Transaction Information Text - $this->textContentTitle = $this->getTextContentTitle($type, $textContentTitle); - $this->textPaidAt = $this->getTextPaidAt($type, $textPaidAt); - $this->textAccount = $this->getTextAccount($type, $textAccount); - $this->textCategory = $this->getTextCategory($type, $textCategory); - $this->textPaymentMethods = $this->getTextPaymentMethods($type, $textPaymentMethods); - $this->textReference = $this->getTextReference($type, $textReference); - $this->textDescription = $this->getTextDescription($type, $textDescription); - $this->textAmount = $this->getTextAmount($type, $textAmount); - $this->textPaidBy = $this->getTextPaidBy($type, $textPaidBy); - $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); - - // Contact Information Hide checker - $this->hideContact = $hideContact; - $this->hideContactInfo = $hideContactInfo; - $this->hideContactName = $hideContactName; - $this->hideContactAddress = $hideContactAddress; - $this->hideContactTaxNumber = $hideContactTaxNumber; - $this->hideContactPhone = $hideContactPhone; - $this->hideContactEmail = $hideContactEmail; - - // Related Information Hide checker - $this->hideRelated = $hideRelated; - $this->hideRelatedDocumentNumber = $hideRelatedDocumentNumber; - $this->hideRelatedContact = $hideRelatedContact; - $this->hideRelatedDocumentDate = $hideRelatedDocumentDate; - $this->hideRelatedDocumentAmount = $hideRelatedDocumentAmount; - $this->hideRelatedAmount = $hideRelatedAmount; - - // Related Information Text - $this->textRelatedTransansaction = $this->getTextRelatedTransansaction($type, $textRelatedTransansaction); - $this->textRelatedDocumentNumber = $this->getTextRelatedDocumentNumber($type, $textRelatedDocumentNumber); - $this->textRelatedContact = $this->getTextRelatedContact($type, $textRelatedContact); - $this->textRelatedDocumentDate = $this->getTextRelatedDocumentDate($type, $textRelatedDocumentDate); - $this->textRelatedDocumentAmount = $this->getTextRelatedDocumentAmount($type, $textRelatedDocumentAmount); - $this->textRelatedAmount = $this->getTextRelatedAmount($type, $textRelatedAmount); - - $this->routeDocumentShow = $this->routeDocumentShow($type, $routeDocumentShow); - } - - protected function getTextContactInfo($type, $textContactInfo) - { - if (!empty($textContactInfo)) { - return $textContactInfo; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $textContactInfo = 'bills.bill_from'; - break; - default: - $textContactInfo = 'invoices.bill_to'; - break; - } - - return $textContactInfo; - } - - protected function getLogo($logo) - { - if (!empty($logo)) { - return $logo; - } - - $media_id = (!empty($this->transaction->contact->logo) && !empty($this->transaction->contact->logo->id)) ? $this->transaction->contact->logo->id : setting('company.logo'); - - $media = Media::find($media_id); - - if (!empty($media)) { - $path = $media->getDiskPath(); - - if (Storage::missing($path)) { - return $logo; - } - } else { - $path = base_path('public/img/company.png'); - } - - try { - $image = Image::cache(function($image) use ($media, $path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - if ($media) { - $image->make(Storage::get($path))->resize($width, $height)->encode(); - } else { - $image->make($path)->resize($width, $height)->encode(); - } - }); - } catch (NotReadableException | \Exception $e) { - Log::info('Company ID: ' . company_id() . ' components/transactionshow.php exception.'); - Log::info($e->getMessage()); - - $path = base_path('public/img/company.png'); - - $image = Image::cache(function($image) use ($path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - $image->make($path)->resize($width, $height)->encode(); - }); - } - - if (empty($image)) { - return $logo; - } - - $extension = File::extension($path); - - return 'data:image/' . $extension . ';base64,' . base64_encode($image); - } - - protected function getTextContentTitle($type, $textContentTitle) - { - if (!empty($textContentTitle)) { - return $textContentTitle; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'payment_made'; - break; - default: - $default_key = 'revenue_received'; - break; - } - - $translation = $this->getTextFromConfig($type, $type . '_made', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'revenues.revenue_received'; - } - - protected function getTextPaidAt($type, $textPaidAt) - { - if (!empty($textPaidAt)) { - return $textPaidAt; - } - - $translation = $this->getTextFromConfig($type, 'paid_at', 'date'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.date'; - } - - protected function getTextAccount($type, $textAccount) - { - if (!empty($textAccount)) { - return $textAccount; - } - - $translation = $this->getTextFromConfig($type, 'accounts', 'accounts', 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.accounts'; - } - - protected function getTextCategory($type, $textCategory) - { - if (!empty($textCategory)) { - return $textCategory; - } - - $translation = $this->getTextFromConfig($type, 'categories', 'categories', 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.categories'; - } - - protected function getTextPaymentMethods($type, $textPaymentMethods) - { - if (!empty($textPaymentMethods)) { - return $textPaymentMethods; - } - - $translation = $this->getTextFromConfig($type, 'payment_methods', 'payment_methods', 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.payment_methods'; - } - - protected function getTextReference($type, $textReference) - { - if (!empty($textReference)) { - return $textReference; - } - - $translation = $this->getTextFromConfig($type, 'reference', 'reference'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.reference'; - } - - protected function getTextDescription($type, $textDescription) - { - if (!empty($textDescription)) { - return $textDescription; - } - - $translation = $this->getTextFromConfig($type, 'description', 'description'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.description'; - } - - protected function getTextAmount($type, $textAmount) - { - if (!empty($textAmount)) { - return $textAmount; - } - - $translation = $this->getTextFromConfig($type, 'amount', 'amount'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount'; - } - - protected function getTextPaidBy($type, $textPaidBy) - { - if (!empty($textPaidBy)) { - return $textPaidBy; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'paid_to'; - break; - default: - $default_key = 'paid_by'; - break; - } - - $translation = $this->getTextFromConfig($type, 'paid_to_by', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'revenues.paid_by'; - } - - protected function getTextRelatedTransansaction($type, $textRelatedTransansaction) - { - if (!empty($textRelatedTransansaction)) { - return $textRelatedTransansaction; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'related_bill'; - break; - default: - $default_key = 'related_invoice'; - break; - } - - $translation = $this->getTextFromConfig($type, 'related_type', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'revenues.related_invoice'; - } - - protected function getTextRelatedDocumentNumber($type, $textRelatedDocumentNumber) - { - if (!empty($textRelatedDocumentNumber)) { - return $textRelatedDocumentNumber; - } - - $translation = $this->getTextFromConfig($type, 'related_document_number', 'numbers'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.numbers'; - } - - protected function getTextRelatedContact($type, $textRelatedContact) - { - if (!empty($textRelatedContact)) { - return $textRelatedContact; - } - - $default_key = Str::plural(config('type.' . $type . '.contact_type'), 2); - - $translation = $this->getTextFromConfig($type, 'related_contact', $default_key, 'trans_choice'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.customers'; - } - - protected function getTextRelatedDocumentDate($type, $textRelatedDocumentDate) - { - if (!empty($textRelatedDocumentDate)) { - return $textRelatedDocumentDate; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_date'; - break; - default: - $default_key = 'invoice_date'; - break; - } - - $translation = $this->getTextFromConfig($type, 'related_document_date', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'invoices.invoice_date'; - } - - protected function getTextRelatedDocumentAmount($type, $textRelatedDocumentAmount) - { - if (!empty($textRelatedDocumentAmount)) { - return $textRelatedDocumentAmount; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $default_key = 'bill_amount'; - break; - default: - $default_key = 'invoice_amount'; - break; - } - - $translation = $this->getTextFromConfig($type, 'related_document_amount', $default_key); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount'; - } - - protected function getTextRelatedAmount($type, $textRelatedAmount) - { - if (!empty($textRelatedAmount)) { - return $textRelatedAmount; - } - - $translation = $this->getTextFromConfig($type, 'related_amount', 'amount'); - - if (!empty($translation)) { - return $translation; - } - - return 'general.amount'; - } - - protected function routeDocumentShow($type, $routeDocumentShow) - { - if (!empty($routeDocumentShow)) { - return $routeDocumentShow; - } - - if (!$this->transaction->document) { - return $routeDocumentShow; - } - - //example route parameter. - $parameter = 1; - - $route = $this->getRouteFromConfig($this->transaction->document->type, 'show', $parameter); - - if (!empty($route)) { - return $route; - } - - return 'invoices.show'; - } -} diff --git a/app/Abstracts/View/Components/Transactions/Show.php b/app/Abstracts/View/Components/Transactions/Show.php new file mode 100644 index 000000000..64bb0994e --- /dev/null +++ b/app/Abstracts/View/Components/Transactions/Show.php @@ -0,0 +1,1095 @@ +type = $type; + $this->transaction = $transaction; + $this->transactionTemplate = $this->getTransactionTemplate($type, $transactionTemplate); + $this->logo = $this->getLogo($logo); + $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); + $this->date_format = $this->getCompanyDateFormat(); + + // Navbar Hide + $this->hideButtonAddNew = $hideButtonAddNew; + $this->hideButtonMoreActions = $hideButtonMoreActions; + $this->hideButtonEdit = $hideButtonEdit; + $this->hideButtonDuplicate = $hideButtonDuplicate; + $this->hideButtonConnect = $hideButtonConnect; + $this->hideButtonPrint = $hideButtonPrint; + $this->hideButtonShare = $hideButtonShare; + $this->hideButtonEmail = $hideButtonEmail; + $this->hideButtonPdf = $hideButtonPdf; + $this->hideButtonEnd = $hideButtonEnd; + $this->hideButtonDelete = $hideButtonDelete; + $this->checkButtonReconciled = $checkButtonReconciled; + + $this->hideDivider1 = $hideDivider1; + $this->hideDivider2 = $hideDivider2; + $this->hideDivider3 = $hideDivider3; + $this->hideDivider4 = $hideDivider4; + + // Navbar Permission + $this->permissionCreate = $this->getPermissionCreate($type, $permissionCreate); + $this->permissionUpdate = $this->getPermissionUpdate($type, $permissionUpdate); + $this->permissionDelete = $this->getPermissionDelete($type, $permissionDelete); + + // Navbar route + $this->routeButtonAddNew = $this->getRouteButtonAddNew($type, $routeButtonAddNew); + $this->routeButtonEdit = $this->getRouteButtonEdit($type, $routeButtonEdit); + $this->routeButtonDuplicate = $this->getRouteButtonDuplicate($type, $routeButtonDuplicate); + $this->routeButtonPrint = $this->getRouteButtonPrint($type, $routeButtonPrint); + $this->shareRoute = $this->getShareRoute($type, $shareRoute); + $this->signedUrl = $this->getSignedUrl($type, $signedUrl); + $this->routeButtonEmail = $this->getRouteButtonEmail($type, $routeButtonEmail); + $this->routeButtonPdf = $this->getRouteButtonPdf($type, $routeButtonPdf); + $this->routeButtonEnd = $this->getRouteButtonEnd($type, $routeButtonEnd); + $this->routeButtonDelete = $this->getRouteButtonDelete($type, $routeButtonDelete); + $this->routeContactShow = $this->getRouteContactShow($type, $routeContactShow); + + // Navbar Text + $this->textButtonAddNew = $this->getTextButtonAddNew($type, $textButtonAddNew); + $this->textDeleteModal = $textDeleteModal; + + // Hide Schedule + $this->hideSchedule = $hideSchedule; + + // Hide Children + $this->hideChildren = $hideChildren; + + // Hide Attachment + $this->hideAttachment = $hideAttachment; + + // Company Information Hide checker + $this->hideCompany = $hideCompany; + $this->hideCompanyLogo = $hideCompanyLogo; + $this->hideCompanyDetails = $hideCompanyDetails; + $this->hideCompanyName = $hideCompanyName; + $this->hideCompanyAddress = $hideCompanyAddress; + $this->hideCompanyTaxNumber = $hideCompanyTaxNumber; + $this->hideCompanyPhone = $hideCompanyPhone; + $this->hideCompanyEmail = $hideCompanyEmail; + + // Transaction Information Hide checker + $this->hideContentTitle = $hideContentTitle; + $this->hideNumber = $hideNumber; + $this->hidePaidAt = $hidePaidAt; + $this->hideAccount = $hideAccount; + $this->hideCategory = $hideCategory; + $this->hidePaymentMethods = $hidePaymentMethods; + $this->hideReference = $hideReference; + $this->hideDescription = $hideDescription; + $this->hideAmount = $hideAmount; + + // Transaction Information Text + $this->textContentTitle = $this->getTextContentTitle($type, $textContentTitle); + $this->textNumber = $this->getTextNumber($type, $textNumber); + $this->textPaidAt = $this->getTextPaidAt($type, $textPaidAt); + $this->textAccount = $this->getTextAccount($type, $textAccount); + $this->textCategory = $this->getTextCategory($type, $textCategory); + $this->textPaymentMethods = $this->getTextPaymentMethods($type, $textPaymentMethods); + $this->textReference = $this->getTextReference($type, $textReference); + $this->textDescription = $this->getTextDescription($type, $textDescription); + $this->textAmount = $this->getTextAmount($type, $textAmount); + $this->textPaidBy = $this->getTextPaidBy($type, $textPaidBy); + + // Contact Information Hide checker + $this->hideContact = $hideContact; + $this->hideContactInfo = $hideContactInfo; + $this->hideContactName = $hideContactName; + $this->hideContactAddress = $hideContactAddress; + $this->hideContactTaxNumber = $hideContactTaxNumber; + $this->hideContactPhone = $hideContactPhone; + $this->hideContactEmail = $hideContactEmail; + + // Related Information Hide checker + $this->hideRelated = $hideRelated; + $this->hideRelatedDocumentNumber = $hideRelatedDocumentNumber; + $this->hideRelatedContact = $hideRelatedContact; + $this->hideRelatedDocumentDate = $hideRelatedDocumentDate; + $this->hideRelatedDocumentAmount = $hideRelatedDocumentAmount; + $this->hideRelatedAmount = $hideRelatedAmount; + + // Related Information Text + $this->textRelatedTransansaction = $this->getTextRelatedTransansaction($type, $textRelatedTransansaction); + $this->textRelatedDocumentNumber = $this->getTextRelatedDocumentNumber($type, $textRelatedDocumentNumber); + $this->textRelatedContact = $this->getTextRelatedContact($type, $textRelatedContact); + $this->textRelatedDocumentDate = $this->getTextRelatedDocumentDate($type, $textRelatedDocumentDate); + $this->textRelatedDocumentAmount = $this->getTextRelatedDocumentAmount($type, $textRelatedDocumentAmount); + $this->textRelatedAmount = $this->getTextRelatedAmount($type, $textRelatedAmount); + + $this->routeDocumentShow = $this->routeDocumentShow($type, $routeDocumentShow); + + // Attachment data.. + $this->attachment = ''; + + if (!empty($attachment)) { + $this->attachment = $attachment; + } else if (!empty($transaction)) { + $this->attachment = $transaction->attachment; + } + + // Connect translations + $this->connectTranslations = $this->getTranslationsForConnect($type); + + $this->textRecurringType = $this->getTextRecurringType($type, $textRecurringType); + $this->hideRecurringMessage = $hideRecurringMessage; + } + + protected function getTransactionTemplate($type, $transactionTemplate) + { + if (!empty($transactionTemplate)) { + return $transactionTemplate; + } + + if ($template = config('type.transaction.' . $type . '.template', false)) { + return $template; + } + + $transactionTemplate = setting($this->getSettingKey($type, 'template')) ?: 'default'; + + return $transactionTemplate; + } + + protected function getLogo($logo) + { + if (!empty($logo)) { + return $logo; + } + + $media_id = (!empty($this->transaction->contact->logo) && !empty($this->transaction->contact->logo->id)) ? $this->transaction->contact->logo->id : setting('company.logo'); + + $media = Media::find($media_id); + + if (!empty($media)) { + $path = $media->getDiskPath(); + + if (Storage::missing($path)) { + return $logo; + } + } else { + $path = base_path('public/img/company.png'); + } + + try { + $image = Image::cache(function($image) use ($media, $path) { + $width = setting('invoice.logo_size_width'); + $height = setting('invoice.logo_size_height'); + + if ($media) { + $image->make(Storage::get($path))->resize($width, $height)->encode(); + } else { + $image->make($path)->resize($width, $height)->encode(); + } + }); + } catch (NotReadableException | \Exception $e) { + Log::info('Company ID: ' . company_id() . ' components/transactionshow.php exception.'); + Log::info($e->getMessage()); + + $path = base_path('public/img/company.png'); + + $image = Image::cache(function($image) use ($path) { + $width = setting('invoice.logo_size_width'); + $height = setting('invoice.logo_size_height'); + + $image->make($path)->resize($width, $height)->encode(); + }); + } + + if (empty($image)) { + return $logo; + } + + $extension = File::extension($path); + + return 'data:image/' . $extension . ';base64,' . base64_encode($image); + } + + protected function getRouteButtonAddNew($type, $routeButtonAddNew) + { + if (!empty($routeButtonAddNew)) { + return $routeButtonAddNew; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'create', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'transactions.create'; + } + + protected function getRouteButtonEdit($type, $routeButtonEdit) + { + if (!empty($routeButtonEdit)) { + return $routeButtonEdit; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'edit', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'transactions.edit'; + } + + protected function getRouteButtonDuplicate($type, $routeButtonDuplicate) + { + if (!empty($routeButtonDuplicate)) { + return $routeButtonDuplicate; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'duplicate', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'transactions.duplicate'; + } + + protected function getRouteButtonPrint($type, $routeButtonPrint) + { + if (!empty($routeButtonPrint)) { + return $routeButtonPrint; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'print', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'transactions.print'; + } + + protected function getShareRoute($type, $shareRoute) + { + if (! empty($shareRoute)) { + return $shareRoute; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'share', $parameter); + + if (! empty($route)) { + return $route; + } + + return 'modals.transactions.share.create'; + } + + protected function getSignedUrl($type, $signedUrl) + { + if (!empty($signedUrl)) { + return $signedUrl; + } + + $page = config('type.transaction.' . $type . '.route.prefix'); + $alias = config('type.transaction.' . $type . '.alias'); + + $route = ''; + + if (!empty($alias)) { + $route .= $alias . '.'; + } + + $route .= 'signed.' . $page . '.show'; + + try { + route($route, [$this->transaction->id, 'company_id' => company_id()]); + + $signedUrl = URL::signedRoute($route, [$this->transaction->id]); + } catch (\Exception $e) { + $signedUrl = URL::signedRoute('signed.payments.show', [$this->transaction->id]); + } + + return $signedUrl; + } + + protected function getRouteButtonEmail($type, $routeButtonEmail) + { + if (! empty($routeButtonEmail)) { + return $routeButtonEmail; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'emails.create', $parameter, true); + + if (! empty($route)) { + return $route; + } + + return 'modals.transactions.emails.create'; + } + + protected function getRouteButtonPdf($type, $routeButtonPdf) + { + if (!empty($routeButtonPdf)) { + return $routeButtonPdf; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'pdf', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'transactions.pdf'; + } + + protected function getRouteButtonEnd($type, $routeButtonEnd) + { + if (!empty($routeButtonEnd)) { + return $routeButtonEnd; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'end', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'recurring-transactions.end'; + } + + protected function getRouteButtonDelete($type, $routeButtonDelete) + { + if (!empty($routeButtonDelete)) { + return $routeButtonDelete; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($type, 'destroy', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'transactions.destroy'; + } + + protected function getRouteContactShow($type, $routeContactShow) + { + if (!empty($routeContactShow)) { + return $routeContactShow; + } + + //example route parameter. + $parameter = 1; + + $route = Str::plural(config('type.transaction.' . $type . '.contact_type'), 2) . '.show'; + + try { + route($route, $parameter); + } catch (\Exception $e) { + try { + $route = Str::plural($type, 2) . '.' . $config_key; + + route($route, $parameter); + } catch (\Exception $e) { + $route = ''; + } + } + + if (!empty($route)) { + return $route; + } + + return 'customers.show'; + } + + protected function getTextButtonAddNew($type, $textButtonAddNew) + { + if (!empty($textButtonAddNew)) { + return $textButtonAddNew; + } + + $translation = $this->getTextFromConfig($type, 'transactions'); + + if (!empty($translation)) { + return trans('general.title.new', ['type' => trans_choice($translation, 1)]); + } + + return trans('general.title.new', ['type' => trans_choice('general.' . Str::plural($type), 1)]); + } + + protected function getTextContentTitle($type, $textContentTitle) + { + if (!empty($textContentTitle)) { + return $textContentTitle; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'payment_made'; + break; + default: + $default_key = 'receipts'; + break; + } + + $translation = $this->getTextFromConfig($type, $type . '_made', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'general.receipts'; + } + + protected function getTextNumber($type, $textNumber) + { + if (!empty($textNumber)) { + return $textNumber; + } + + return 'general.numbers'; + } + + protected function getTextPaidAt($type, $textPaidAt) + { + if (!empty($textPaidAt)) { + return $textPaidAt; + } + + $translation = $this->getTextFromConfig($type, 'paid_at', 'date'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.date'; + } + + protected function getTextAccount($type, $textAccount) + { + if (!empty($textAccount)) { + return $textAccount; + } + + $translation = $this->getTextFromConfig($type, 'accounts', 'accounts', 'trans_choice'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.accounts'; + } + + protected function getTextCategory($type, $textCategory) + { + if (!empty($textCategory)) { + return $textCategory; + } + + $translation = $this->getTextFromConfig($type, 'categories', 'categories', 'trans_choice'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.categories'; + } + + protected function getTextPaymentMethods($type, $textPaymentMethods) + { + if (!empty($textPaymentMethods)) { + return $textPaymentMethods; + } + + $translation = $this->getTextFromConfig($type, 'payment_methods', 'payment_methods', 'trans_choice'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.payment_methods'; + } + + protected function getTextReference($type, $textReference) + { + if (!empty($textReference)) { + return $textReference; + } + + $translation = $this->getTextFromConfig($type, 'reference', 'reference'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.reference'; + } + + protected function getTextDescription($type, $textDescription) + { + if (!empty($textDescription)) { + return $textDescription; + } + + $translation = $this->getTextFromConfig($type, 'description', 'description'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.description'; + } + + protected function getTextAmount($type, $textAmount) + { + if (!empty($textAmount)) { + return $textAmount; + } + + $translation = $this->getTextFromConfig($type, 'amount', 'amount'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.amount'; + } + + protected function getTextPaidBy($type, $textPaidBy) + { + if (!empty($textPaidBy)) { + return $textPaidBy; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'paid_to'; + break; + default: + $default_key = 'paid_by'; + break; + } + + $translation = $this->getTextFromConfig($type, 'paid_to_by', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'transactions.paid_by'; + } + + protected function getTextRelatedTransansaction($type, $textRelatedTransansaction) + { + if (!empty($textRelatedTransansaction)) { + return $textRelatedTransansaction; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'related_bill'; + break; + default: + $default_key = 'related_invoice'; + break; + } + + $translation = $this->getTextFromConfig($type, 'related_type', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'transactions.related_invoice'; + } + + protected function getTextRelatedDocumentNumber($type, $textRelatedDocumentNumber) + { + if (!empty($textRelatedDocumentNumber)) { + return $textRelatedDocumentNumber; + } + + $translation = $this->getTextFromConfig($type, 'related_document_number', 'numbers'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.numbers'; + } + + protected function getTextRelatedContact($type, $textRelatedContact) + { + if (!empty($textRelatedContact)) { + return $textRelatedContact; + } + + $default_key = Str::plural(config('type.transaction.' . $type . '.contact_type'), 2); + + $translation = $this->getTextFromConfig($type, 'related_contact', $default_key, 'trans_choice'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.customers'; + } + + protected function getTextRelatedDocumentDate($type, $textRelatedDocumentDate) + { + if (!empty($textRelatedDocumentDate)) { + return $textRelatedDocumentDate; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_date'; + break; + default: + $default_key = 'invoice_date'; + break; + } + + $translation = $this->getTextFromConfig($type, 'related_document_date', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'invoices.invoice_date'; + } + + protected function getTextRelatedDocumentAmount($type, $textRelatedDocumentAmount) + { + if (!empty($textRelatedDocumentAmount)) { + return $textRelatedDocumentAmount; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_amount'; + break; + default: + $default_key = 'invoice_amount'; + break; + } + + $translation = $this->getTextFromConfig($type, 'related_document_amount', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'general.amount'; + } + + protected function getTextRelatedAmount($type, $textRelatedAmount) + { + if (!empty($textRelatedAmount)) { + return $textRelatedAmount; + } + + $translation = $this->getTextFromConfig($type, 'related_amount', 'amount'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.amount'; + } + + protected function routeDocumentShow($type, $routeDocumentShow) + { + if (!empty($routeDocumentShow)) { + return $routeDocumentShow; + } + + if (!$this->transaction->document) { + return $routeDocumentShow; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($this->transaction->document->type, 'show', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'invoices.show'; + } + + protected function getTextRecurringType($type, $textRecurringType) + { + if (! empty($textRecurringType)) { + return $textRecurringType; + } + + $default_key = config('type.' . $type . '.translation.prefix'); + + $translation = $this->getTextFromConfig($type, 'recurring_tye', $default_key); + + if (! empty($translation)) { + return $translation; + } + + return 'general.revenues'; + } +} diff --git a/app/Abstracts/View/Components/Transactions/Template.php b/app/Abstracts/View/Components/Transactions/Template.php new file mode 100644 index 000000000..5727a22bf --- /dev/null +++ b/app/Abstracts/View/Components/Transactions/Template.php @@ -0,0 +1,653 @@ +type = $type; + $this->transaction = $transaction; + + $this->logo = $this->getLogo($logo); + $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); + + // Company Information Hide checker + $this->hideCompany = $hideCompany; + $this->hideCompanyLogo = $hideCompanyLogo; + $this->hideCompanyDetails = $hideCompanyDetails; + $this->hideCompanyName = $hideCompanyName; + $this->hideCompanyAddress = $hideCompanyAddress; + $this->hideCompanyTaxNumber = $hideCompanyTaxNumber; + $this->hideCompanyPhone = $hideCompanyPhone; + $this->hideCompanyEmail = $hideCompanyEmail; + + // Transaction Information Hide checker + $this->hideContentTitle = $hideContentTitle; + $this->hideNumber = $hideNumber; + $this->hidePaidAt = $hidePaidAt; + $this->hideAccount = $hideAccount; + $this->hideCategory = $hideCategory; + $this->hidePaymentMethods = $hidePaymentMethods; + $this->hideReference = $hideReference; + $this->hideDescription = $hideDescription; + $this->hideAmount = $hideAmount; + + // Transaction Information Text + $this->textContentTitle = $this->getTextContentTitle($type, $textContentTitle); + $this->textNumber = $this->getTextNumber($type, $textNumber); + $this->textPaidAt = $this->getTextPaidAt($type, $textPaidAt); + $this->textAccount = $this->getTextAccount($type, $textAccount); + $this->textCategory = $this->getTextCategory($type, $textCategory); + $this->textPaymentMethods = $this->getTextPaymentMethods($type, $textPaymentMethods); + $this->textReference = $this->getTextReference($type, $textReference); + $this->textDescription = $this->getTextDescription($type, $textDescription); + $this->textAmount = $this->getTextAmount($type, $textAmount); + $this->textPaidBy = $this->getTextPaidBy($type, $textPaidBy); + $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); + + // Contact Information Hide checker + $this->hideContact = $hideContact; + $this->hideContactInfo = $hideContactInfo; + $this->hideContactName = $hideContactName; + $this->hideContactAddress = $hideContactAddress; + $this->hideContactTaxNumber = $hideContactTaxNumber; + $this->hideContactPhone = $hideContactPhone; + $this->hideContactEmail = $hideContactEmail; + + // Related Information Hide checker + $this->hideRelated = $hideRelated; + $this->hideRelatedDocumentNumber = $hideRelatedDocumentNumber; + $this->hideRelatedContact = $hideRelatedContact; + $this->hideRelatedDocumentDate = $hideRelatedDocumentDate; + $this->hideRelatedDocumentAmount = $hideRelatedDocumentAmount; + $this->hideRelatedAmount = $hideRelatedAmount; + + // Related Information Text + $this->textRelatedTransansaction = $this->getTextRelatedTransansaction($type, $textRelatedTransansaction); + $this->textRelatedDocumentNumber = $this->getTextRelatedDocumentNumber($type, $textRelatedDocumentNumber); + $this->textRelatedContact = $this->getTextRelatedContact($type, $textRelatedContact); + $this->textRelatedDocumentDate = $this->getTextRelatedDocumentDate($type, $textRelatedDocumentDate); + $this->textRelatedDocumentAmount = $this->getTextRelatedDocumentAmount($type, $textRelatedDocumentAmount); + $this->textRelatedAmount = $this->getTextRelatedAmount($type, $textRelatedAmount); + + $this->routeDocumentShow = $this->routeDocumentShow($type, $routeDocumentShow); + } + + protected function getLogo($logo) + { + if (!empty($logo)) { + return $logo; + } + + $media_id = (!empty($this->transaction->contact->logo) && !empty($this->transaction->contact->logo->id)) ? $this->transaction->contact->logo->id : setting('company.logo'); + + $media = Media::find($media_id); + + if (!empty($media)) { + $path = $media->getDiskPath(); + + if (Storage::missing($path)) { + return $logo; + } + } else { + $path = base_path('public/img/company.png'); + } + + try { + $image = Image::cache(function($image) use ($media, $path) { + $width = setting('invoice.logo_size_width'); + $height = setting('invoice.logo_size_height'); + + if ($media) { + $image->make(Storage::get($path))->resize($width, $height)->encode(); + } else { + $image->make($path)->resize($width, $height)->encode(); + } + }); + } catch (NotReadableException | \Exception $e) { + Log::info('Company ID: ' . company_id() . ' components/transactionshow.php exception.'); + Log::info($e->getMessage()); + + $path = base_path('public/img/company.png'); + + $image = Image::cache(function($image) use ($path) { + $width = setting('invoice.logo_size_width'); + $height = setting('invoice.logo_size_height'); + + $image->make($path)->resize($width, $height)->encode(); + }); + } + + if (empty($image)) { + return $logo; + } + + $extension = File::extension($path); + + return 'data:image/' . $extension . ';base64,' . base64_encode($image); + } + + protected function getTextContentTitle($type, $textContentTitle) + { + if (!empty($textContentTitle)) { + return $textContentTitle; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'payment_made'; + break; + default: + $default_key = 'receipts'; + break; + } + + $translation = $this->getTextFromConfig($type, $type . '_made', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'general.receipts'; + } + + protected function getTextNumber($type, $textNumber) + { + if (!empty($textNumber)) { + return $textNumber; + } + + return 'general.numbers'; + } + + protected function getTextPaidAt($type, $textPaidAt) + { + if (!empty($textPaidAt)) { + return $textPaidAt; + } + + $translation = $this->getTextFromConfig($type, 'paid_at', 'date'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.date'; + } + + protected function getTextAccount($type, $textAccount) + { + if (!empty($textAccount)) { + return $textAccount; + } + + $translation = $this->getTextFromConfig($type, 'accounts', 'accounts', 'trans_choice'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.accounts'; + } + + protected function getTextCategory($type, $textCategory) + { + if (!empty($textCategory)) { + return $textCategory; + } + + $translation = $this->getTextFromConfig($type, 'categories', 'categories', 'trans_choice'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.categories'; + } + + protected function getTextPaymentMethods($type, $textPaymentMethods) + { + if (!empty($textPaymentMethods)) { + return $textPaymentMethods; + } + + $translation = $this->getTextFromConfig($type, 'payment_methods', 'payment_methods', 'trans_choice'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.payment_methods'; + } + + protected function getTextReference($type, $textReference) + { + if (!empty($textReference)) { + return $textReference; + } + + $translation = $this->getTextFromConfig($type, 'reference', 'reference'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.reference'; + } + + protected function getTextDescription($type, $textDescription) + { + if (!empty($textDescription)) { + return $textDescription; + } + + $translation = $this->getTextFromConfig($type, 'description', 'description'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.description'; + } + + protected function getTextAmount($type, $textAmount) + { + if (!empty($textAmount)) { + return $textAmount; + } + + $translation = $this->getTextFromConfig($type, 'amount', 'amount'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.amount'; + } + + protected function getTextPaidBy($type, $textPaidBy) + { + if (!empty($textPaidBy)) { + return $textPaidBy; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'paid_to'; + break; + default: + $default_key = 'paid_by'; + break; + } + + $translation = $this->getTextFromConfig($type, 'paid_to_by', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'transactions.paid_by'; + } + + protected function getTextContactInfo($type, $textContactInfo) + { + if (!empty($textContactInfo)) { + return $textContactInfo; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $textContactInfo = 'bills.bill_from'; + break; + default: + $textContactInfo = 'invoices.bill_to'; + break; + } + + return $textContactInfo; + } + + protected function getTextRelatedTransansaction($type, $textRelatedTransansaction) + { + if (!empty($textRelatedTransansaction)) { + return $textRelatedTransansaction; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'related_bill'; + break; + default: + $default_key = 'related_invoice'; + break; + } + + $translation = $this->getTextFromConfig($type, 'related_type', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'transactions.related_invoice'; + } + + protected function getTextRelatedDocumentNumber($type, $textRelatedDocumentNumber) + { + if (!empty($textRelatedDocumentNumber)) { + return $textRelatedDocumentNumber; + } + + $translation = $this->getTextFromConfig($type, 'related_document_number', 'numbers'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.numbers'; + } + + protected function getTextRelatedContact($type, $textRelatedContact) + { + if (!empty($textRelatedContact)) { + return $textRelatedContact; + } + + $default_key = Str::plural(config('type.transaction.' . $type . '.contact_type'), 2); + + $translation = $this->getTextFromConfig($type, 'related_contact', $default_key, 'trans_choice'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.customers'; + } + + protected function getTextRelatedDocumentDate($type, $textRelatedDocumentDate) + { + if (!empty($textRelatedDocumentDate)) { + return $textRelatedDocumentDate; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_date'; + break; + default: + $default_key = 'invoice_date'; + break; + } + + $translation = $this->getTextFromConfig($type, 'related_document_date', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'invoices.invoice_date'; + } + + protected function getTextRelatedDocumentAmount($type, $textRelatedDocumentAmount) + { + if (!empty($textRelatedDocumentAmount)) { + return $textRelatedDocumentAmount; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $default_key = 'bill_amount'; + break; + default: + $default_key = 'invoice_amount'; + break; + } + + $translation = $this->getTextFromConfig($type, 'related_document_amount', $default_key); + + if (!empty($translation)) { + return $translation; + } + + return 'general.amount'; + } + + protected function getTextRelatedAmount($type, $textRelatedAmount) + { + if (!empty($textRelatedAmount)) { + return $textRelatedAmount; + } + + $translation = $this->getTextFromConfig($type, 'related_amount', 'amount'); + + if (!empty($translation)) { + return $translation; + } + + return 'general.amount'; + } + + protected function routeDocumentShow($type, $routeDocumentShow) + { + if (!empty($routeDocumentShow)) { + return $routeDocumentShow; + } + + if (!$this->transaction->document) { + return $routeDocumentShow; + } + + //example route parameter. + $parameter = 1; + + $route = $this->getRouteFromConfig($this->transaction->document->type, 'show', $parameter); + + if (!empty($route)) { + return $route; + } + + return 'invoices.show'; + } +} diff --git a/app/Abstracts/View/Components/TransferShow.php b/app/Abstracts/View/Components/TransferShow.php deleted file mode 100644 index 2244dd80f..000000000 --- a/app/Abstracts/View/Components/TransferShow.php +++ /dev/null @@ -1,747 +0,0 @@ -transfer = $transfer; - $this->transferTemplate = $this->getTransferTemplate($transferTemplate); - $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); - $this->date_format = $this->getCompanyDateFormat(); - - // Navbar Hide - $this->hideButtonAddNew = $hideButtonAddNew; - $this->hideButtonMoreActions = $hideButtonMoreActions; - $this->hideButtonEdit = $hideButtonEdit; - $this->hideButtonDuplicate = $hideButtonDuplicate; - $this->hideButtonPrint = $hideButtonPrint; - $this->hideButtonShare = $hideButtonShare; - $this->hideButtonEmail = $hideButtonEmail; - $this->hideButtonPdf = $hideButtonPdf; - $this->hideButtonTemplate = $hideButtonTemplate; - $this->hideButtonDelete = $hideButtonDelete; - $this->hideButtonGroupDivider1 = $hideButtonGroupDivider1; - $this->hideButtonGroupDivider2 = $hideButtonGroupDivider2; - $this->hideButtonGroupDivider3 = $hideButtonGroupDivider3; - - // Navbar Permission - $this->permissionCreate = $this->getPermissionCreate($permissionCreate); - $this->permissionUpdate = $this->getPermissionUpdate($permissionUpdate); - $this->permissionDelete = $this->getPermissionDelete($permissionDelete); - - // Navbar route - $this->routeButtonAddNew = $this->getRouteButtonAddNew($routeButtonAddNew); - $this->routeButtonEdit = $this->getRouteButtonEdit($routeButtonEdit); - $this->routeButtonDuplicate = $this->getRouteButtonDuplicate($routeButtonDuplicate); - $this->routeButtonPrint = $this->getRouteButtonPrint($routeButtonPrint); - $this->signedUrl = $this->getSignedUrl($signedUrl); - $this->routeButtonEmail = $this->getRouteButtonEmail($routeButtonEmail); - $this->routeButtonPdf = $this->getRouteButtonPdf($routeButtonPdf); - $this->routeButtonDelete = $this->getRouteButtonDelete($routeButtonDelete); - $this->routeFromAccountShow = $this->getRouteFromAccountShow($routeFromAccountShow); - $this->routeToAccountShow = $this->getRouteToAccountShow($routeToAccountShow); - - // Navbar Text - $this->textDeleteModal = $textDeleteModal; - - // Header Hide - $this->hideHeader = $hideHeader; - - $this->hideHeaderFromAccount = $hideHeaderFromAccount; - $this->hideHeaderToAccount = $hideHeaderToAccount; - $this->hideHeaderToAccount = $hideHeaderToAccount; - $this->hideHeaderAmount = $hideHeaderAmount; - $this->hideHeaderPaidAt = $hideHeaderPaidAt; - - // Header Text - $this->textHeaderFromAccount = $this->getTextHeaderFromAccount($textHeaderFromAccount); - $this->textHeaderToAccount = $this->getTextHeaderToAccount($textHeaderToAccount); - $this->textHeaderAmount = $this->getTextHeaderAmount($textHeaderAmount); - $this->textHeaderPaidAt = $this->gettextHeaderPaidAt($textHeaderPaidAt); - - // Header Class - $this->classHeaderFromAccount = $this->getclassHeaderFromAccount($classHeaderFromAccount); - $this->classHeaderToAccount = $this->getClassHeaderToAccount($classHeaderToAccount); - $this->classHeaderAmount = $this->getClassHeaderAmount($classHeaderAmount); - $this->classHeaderPaidAt = $this->getclassHeaderPaidAt($classHeaderPaidAt); - - // From account Hide - $this->hideFromAccount = $hideFromAccount; - $this->hideFromAccountTitle = $hideFromAccountTitle; - $this->hideFromAccountName = $hideFromAccountName; - $this->hideFromAccountNumber = $hideFromAccountNumber; - $this->hideFromAccountBankName = $hideFromAccountBankName; - $this->hideFromAccountBankPhone = $hideFromAccountBankPhone; - $this->hideFromAccountBankAddress = $hideFromAccountBankAddress; - - // From account text - $this->textFromAccountTitle = $this->getTextFromAccountTitle($textFromAccountTitle); - $this->textFromAccountNumber = $this->getTextFromAccountNumber($textFromAccountNumber); - - // To account Hide - $this->hideToAccount = $hideToAccount; - $this->hideToAccountTitle = $hideToAccountTitle; - $this->hideToAccountName = $hideToAccountName; - $this->hideToAccountNumber = $hideToAccountNumber; - $this->hideToAccountBankName = $hideToAccountBankName; - $this->hideToAccountBankPhone = $hideToAccountBankPhone; - $this->hideToAccountBankAddress = $hideToAccountBankAddress; - - // To account text - $this->textToAccountTitle = $this->getTextToAccountTitle($textToAccountTitle); - $this->textToAccountNumber = $this->getTextToAccountNumber($textToAccountNumber); - - // Detail Information Hide checker - $this->hideDetails = $hideDetails; - $this->hideDetailTitle = $hideDetailTitle; - $this->hideDetailDate = $hideDetailDate; - $this->hideDetailPaymentMethod = $hideDetailPaymentMethod; - $this->hideDetailReference = $hideDetailReference; - $this->hideDetailDescription = $hideDetailDescription; - $this->hideDetailAmount = $hideDetailAmount; - - // Related Information Text - $this->textDetailTitle = $this->getTextDetailTitle($textDetailTitle); - $this->textDetailDate = $this->getTextDetailDate($textDetailDate); - $this->textDetailPaymentMethod = $this->getTextDetailPaymentMethod($textDetailPaymentMethod); - $this->textDetailReference = $this->getTextDetailReference($textDetailReference); - $this->textDetailDescription = $this->getTextDetailDescription($textDetailDescription); - $this->textDetailAmount = $this->getTextDetailAmount($textDetailAmount); - - // Hide Attachment - $this->hideAttachment = $hideAttachment; - - // Attachment data.. - $this->attachment = ''; - - if (!empty($attachment)) { - $this->attachment = $attachment; - } else if (!empty($transfer)) { - $this->attachment = $transfer->attachment; - } - - // Histories Hide - $this->hideFooter = $hideFooter; - $this->hideFooterHistories = $hideFooterHistories; - - // Histories - $this->histories = $this->getHistories($histories); - $this->textHistories = $this->getTextHistories($textHistories); - $this->classFooterHistories = $this->getClassFooterHistories($classFooterHistories); - } - - protected function getTransferTemplate($transferTemplate) - { - if (!empty($transferTemplate)) { - return $transferTemplate; - } - - return setting('transfer.template'); - } - - protected function getRouteButtonAddNew($routeButtonAddNew) - { - if (!empty($routeButtonAddNew)) { - return $routeButtonAddNew; - } - - return 'transfers.create'; - } - - protected function getRouteButtonEdit($routeButtonEdit) - { - if (!empty($routeButtonEdit)) { - return $routeButtonEdit; - } - - return 'transfers.edit'; - } - - protected function getRouteButtonDuplicate($routeButtonDuplicate) - { - if (!empty($routeButtonDuplicate)) { - return $routeButtonDuplicate; - } - - return 'transfers.duplicate'; - } - - protected function getRouteButtonPrint($routeButtonPrint) - { - if (!empty($routeButtonPrint)) { - return $routeButtonPrint; - } - - return 'transfers.print'; - } - - protected function getSignedUrl($signedUrl) - { - if (!empty($signedUrl)) { - return $signedUrl; - } - - try { - $signedUrl = URL::signedRoute('signed.transfer.show', [$this->transfer->id]); - } catch (\Exception $e) { - $signedUrl = false; - } - - return $signedUrl; - } - - protected function getRouteButtonEmail($routeButtonEmail) - { - if (!empty($routeButtonEmail)) { - return $routeButtonEmail; - } - - return 'transfers.email'; - } - - protected function getRouteButtonPdf($routeButtonPdf) - { - if (!empty($routeButtonPdf)) { - return $routeButtonPdf; - } - - return 'transfers.pdf'; - } - - protected function getRouteButtonDelete($routeButtonDelete) - { - if (!empty($routeButtonDelete)) { - return $routeButtonDelete; - } - - return 'transfers.destroy'; - } - - protected function getRouteFromAccountShow($routeFromAccountShow) - { - if (!empty($routeFromAccountShow)) { - return $routeFromAccountShow; - } - - return 'accounts.show'; - } - - protected function getRouteToAccountShow($routeToAccountShow) - { - if (!empty($routeToAccountShow)) { - return $routeToAccountShow; - } - - return 'accounts.show'; - } - - protected function getPermissionCreate($permissionCreate) - { - if (!empty($permissionCreate)) { - return $permissionCreate; - } - - return 'create-banking-transfers'; - } - - protected function getPermissionUpdate($permissionUpdate) - { - if (!empty($permissionUpdate)) { - return $permissionUpdate; - } - - return 'update-banking-transfers'; - } - - protected function getPermissionDelete($permissionDelete) - { - if (!empty($permissionDelete)) { - return $permissionDelete; - } - - return 'delete-banking-transfers'; - } - - protected function getTextHeaderFromAccount($textHeaderFromAccount) - { - if (!empty($textHeaderFromAccount)) { - return $textHeaderFromAccount; - } - - return 'transfers.from_account'; - } - - protected function getTextHeaderToAccount($textHeaderToAccount) - { - if (!empty($textHeaderToAccount)) { - return $textHeaderToAccount; - } - - return 'transfers.to_account'; - } - - protected function getTextHeaderAmount($textHeaderAmount) - { - if (!empty($textHeaderAmount)) { - return $textHeaderAmount; - } - - return 'general.amount'; - } - - protected function getTextHeaderPaidAt($textHeaderPaidAt) - { - if (!empty($textHeaderPaidAt)) { - return $textHeaderPaidAt; - } - - return 'general.date'; - } - - protected function getClassHeaderFromAccount($classHeaderFromAccount) - { - if (!empty($classHeaderFromAccount)) { - return $classHeaderFromAccount; - } - - return 'col-4 col-lg-2'; - } - - protected function getClassHeaderToAccount($classHeaderToAccount) - { - if (!empty($classHeaderToAccount)) { - return $classHeaderToAccount; - } - - return 'col-4 col-lg-6'; - } - - protected function getClassHeaderAmount($classHeaderAmount) - { - if (!empty($classHeaderAmount)) { - return $classHeaderAmount; - } - - return 'col-4 col-lg-2 float-right'; - } - - protected function getClassHeaderPaidAt($classHeaderPaidAt) - { - if (!empty($classHeaderPaidAt)) { - return $classHeaderPaidAt; - } - - return 'col-4 col-lg-2'; - } - - protected function getTextFromAccountTitle($textToAccountTitle) - { - if (!empty($textToAccountTitle)) { - return $textToAccountTitle; - } - - return 'transfers.from_account'; - } - - protected function getTextFromAccountNumber($textFromAccountNumber) - { - if (!empty($textFromAccountNumber)) { - return $textFromAccountNumber; - } - - return 'accounts.number'; - } - - protected function getTextToAccountTitle($textFromAccountTitle) - { - if (!empty($textFromAccountTitle)) { - return $textFromAccountTitle; - } - - return 'transfers.to_account'; - } - - protected function getTextToAccountNumber($textToAccountNumber) - { - if (!empty($textToAccountNumber)) { - return $textToAccountNumber; - } - - return 'accounts.number'; - } - - protected function getTextDetailTitle($textDetailTitle) - { - if (!empty($textDetailTitle)) { - return $textDetailTitle; - } - - return 'transfers.details'; - } - - protected function getTextDetailDate($textDetailDate) - { - if (!empty($textDetailDate)) { - return $textDetailDate; - } - - return 'general.date'; - } - - protected function getTextDetailPaymentMethod($textDetailPaymentMethod) - { - if (!empty($textDetailPaymentMethod)) { - return $textDetailPaymentMethod; - } - - return 'general.payment_methods'; - } - - protected function getTextDetailReference($textDetailReference) - { - if (!empty($textDetailReference)) { - return $textDetailReference; - } - - return 'general.reference'; - } - - protected function getTextDetailDescription($textDetailDescription) - { - if (!empty($textDetailDescription)) { - return $textDetailDescription; - } - - return 'general.description'; - } - - protected function getTextDetailAmount($textDetailAmount) - { - if (!empty($textDetailAmount)) { - return $textDetailAmount; - } - - return 'general.amount'; - } - - protected function getHistories($histories) - { - if (!empty($histories)) { - return $histories; - } - - $histories[] = $this->transfer; - - return $histories; - } - - protected function getTextHistories($textHistories) - { - if (!empty($textHistories)) { - return $textHistories; - } - - return 'invoices.histories'; - } - - protected function getClassFooterHistories($classFooterHistories) - { - if (!empty($classFooterHistories)) { - return $classFooterHistories; - } - - return 'col-sm-6 col-md-6 col-lg-6 col-xl-6'; - } -} diff --git a/app/Abstracts/View/Components/TransferTemplate.php b/app/Abstracts/View/Components/TransferTemplate.php deleted file mode 100644 index 6f54f4360..000000000 --- a/app/Abstracts/View/Components/TransferTemplate.php +++ /dev/null @@ -1,278 +0,0 @@ -transfer = $transfer; - - $this->payment_methods = ($payment_methods) ?: Modules::getPaymentMethods('all'); - - // From account Hide - $this->hideFromAccount = $hideFromAccount; - $this->hideFromAccountTitle = $hideFromAccountTitle; - $this->hideFromAccountName = $hideFromAccountName; - $this->hideFromAccountNumber = $hideFromAccountNumber; - $this->hideFromAccountBankName = $hideFromAccountBankName; - $this->hideFromAccountBankPhone = $hideFromAccountBankPhone; - $this->hideFromAccountBankAddress = $hideFromAccountBankAddress; - - // From account text - $this->textFromAccountTitle = $this->getTextFromAccountTitle($textFromAccountTitle); - $this->textFromAccountNumber = $this->getTextFromAccountNumber($textFromAccountNumber); - - // To account Hide - $this->hideToAccount = $hideToAccount; - $this->hideToAccountTitle = $hideToAccountTitle; - $this->hideToAccountName = $hideToAccountName; - $this->hideToAccountNumber = $hideToAccountNumber; - $this->hideToAccountBankName = $hideToAccountBankName; - $this->hideToAccountBankPhone = $hideToAccountBankPhone; - $this->hideToAccountBankAddress = $hideToAccountBankAddress; - - // To account text - $this->textToAccountTitle = $this->getTextToAccountTitle($textToAccountTitle); - $this->textToAccountNumber = $this->getTextToAccountNumber($textToAccountNumber); - - // Detail Information Hide checker - $this->hideDetails = $hideDetails; - $this->hideDetailTitle = $hideDetailTitle; - $this->hideDetailDate = $hideDetailDate; - $this->hideDetailPaymentMethod = $hideDetailPaymentMethod; - $this->hideDetailReference = $hideDetailReference; - $this->hideDetailDescription = $hideDetailDescription; - $this->hideDetailAmount = $hideDetailAmount; - - // Related Information Text - $this->textDetailTitle = $this->getTextDetailTitle($textDetailTitle); - $this->textDetailDate = $this->getTextDetailDate($textDetailDate); - $this->textDetailPaymentMethod = $this->getTextDetailPaymentMethod($textDetailPaymentMethod); - $this->textDetailReference = $this->getTextDetailReference($textDetailReference); - $this->textDetailDescription = $this->getTextDetailDescription($textDetailDescription); - $this->textDetailAmount = $this->getTextDetailAmount($textDetailAmount); - } - - protected function getTextFromAccountTitle($textToAccountTitle) - { - if (!empty($textToAccountTitle)) { - return $textToAccountTitle; - } - - return 'transfers.from_account'; - } - - protected function getTextFromAccountNumber($textFromAccountNumber) - { - if (!empty($textFromAccountNumber)) { - return $textFromAccountNumber; - } - - return 'accounts.number'; - } - - protected function getTextToAccountTitle($textFromAccountTitle) - { - if (!empty($textFromAccountTitle)) { - return $textFromAccountTitle; - } - - return 'transfers.to_account'; - } - - protected function getTextToAccountNumber($textToAccountNumber) - { - if (!empty($textToAccountNumber)) { - return $textToAccountNumber; - } - - return 'accounts.number'; - } - - protected function getTextDetailTitle($textDetailTitle) - { - if (!empty($textDetailTitle)) { - return $textDetailTitle; - } - - return 'transfers.details'; - } - - protected function getTextDetailDate($textDetailDate) - { - if (!empty($textDetailDate)) { - return $textDetailDate; - } - - return 'general.date'; - } - - protected function getTextDetailPaymentMethod($textDetailPaymentMethod) - { - if (!empty($textDetailPaymentMethod)) { - return $textDetailPaymentMethod; - } - - return 'general.payment_methods'; - } - - protected function getTextDetailReference($textDetailReference) - { - if (!empty($textDetailReference)) { - return $textDetailReference; - } - - return 'general.reference'; - } - - protected function getTextDetailDescription($textDetailDescription) - { - if (!empty($textDetailDescription)) { - return $textDetailDescription; - } - - return 'general.description'; - } - - protected function getTextDetailAmount($textDetailAmount) - { - if (!empty($textDetailAmount)) { - return $textDetailAmount; - } - - return 'general.amount'; - } -} diff --git a/app/Abstracts/View/Components/Transfers/Show.php b/app/Abstracts/View/Components/Transfers/Show.php new file mode 100644 index 000000000..fd06b53a9 --- /dev/null +++ b/app/Abstracts/View/Components/Transfers/Show.php @@ -0,0 +1,46 @@ +model = $model; + $this->transfer = $this->getTransfer($model, $transfer); + $this->template = ! empty($template) ? $template : setting('transfer.template'); + + // Set Parent data + $this->setParentData(); + } + + protected function getTransfer($model, $transfer) + { + if (! empty($model)) { + return $model; + } + + if (! empty($transfer)) { + return $transfer; + } + + return false; + } +} diff --git a/app/Abstracts/View/Components/Transfers/Template.php b/app/Abstracts/View/Components/Transfers/Template.php new file mode 100644 index 000000000..4e3b161b4 --- /dev/null +++ b/app/Abstracts/View/Components/Transfers/Template.php @@ -0,0 +1,46 @@ +model = $model; + $this->transfer = $this->getTransfer($model, $transfer); + $this->template = ! empty($template) ? $template : setting('transfer.template'); + + // Set Parent data + $this->setParentData(); + } + + protected function getTransfer($model, $transfer) + { + if (! empty($model)) { + return $model; + } + + if (! empty($transfer)) { + return $transfer; + } + + return false; + } +} diff --git a/app/Abstracts/Widget.php b/app/Abstracts/Widget.php index 82bbefd6b..92620a984 100644 --- a/app/Abstracts/Widget.php +++ b/app/Abstracts/Widget.php @@ -2,8 +2,11 @@ namespace App\Abstracts; +use App\Models\Common\Report; use App\Traits\Charts; use App\Utilities\Date; +use App\Utilities\Reports; +use Illuminate\Support\Str; abstract class Widget { @@ -14,11 +17,15 @@ abstract class Widget public $default_name = ''; public $default_settings = [ - 'width' => 'col-md-4', + 'width' => 'w-full lg:w-2/4 px-12 my-8', ]; + public $description = ''; + + public $report_class = ''; + public $views = [ - 'header' => 'partials.widgets.standard_header', + 'header' => 'components.widgets.header', ]; public function __construct($model = null) @@ -36,6 +43,47 @@ abstract class Widget return $this->default_settings; } + public function getDescription() + { + return trans($this->description); + } + + public function getReportUrl(): string + { + $empty_url = ''; + + if (empty($this->report_class)) { + return $empty_url; + } + + if (Reports::isModule($this->report_class) && Reports::isModuleDisabled($this->report_class)) { + $alias = Reports::getModuleAlias($this->report_class); + + return route('apps.app.show', [ + 'alias' => $alias, + 'utm_source' => 'widget', + 'utm_medium' => 'app', + 'utm_campaign' => Str::snake(Str::camel($alias)), + ]); + } + + if (! class_exists($this->report_class)) { + return $empty_url; + } + + if (Reports::cannotRead($this->report_class)) { + return $empty_url; + } + + $model = Report::where('class', $this->report_class)->first(); + + if (! $model instanceof Report) { + return route('reports.create'); + } + + return route('reports.show', $model->id); + } + public function getViews() { return $this->views; diff --git a/app/Builders/Category.php b/app/Builders/Category.php new file mode 100644 index 000000000..bee4c7707 --- /dev/null +++ b/app/Builders/Category.php @@ -0,0 +1,73 @@ +withChildren('sub_categories', function ($list, $parent, $relation, $level, $addChildren) { + $parent->load($relation); + $parent->level = $level; + + $list->push($parent); + + if ($parent->$relation->count() == 0) { + return; + } + + foreach ($parent->$relation as $item) { + $addChildren($list, $item, $relation, $level + 1, $addChildren); + } + }); + } + + /** + * Get the categories excluding their children. + * + * @param array|string $columns + * @return \Illuminate\Support\Collection + */ + public function getWithoutChildren($columns = ['*']) + { + return parent::get($columns); + } + + /** + * Paginate the given query. + * + * @param int|null $perPage + * @param array $columns + * @param string $pageName + * @param int|null $page + * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator + * + * @throws \InvalidArgumentException + */ + public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null) + { + $page = $page ?: Paginator::resolveCurrentPage($pageName); + + $perPage = $perPage ?: $this->model->getPerPage(); + + $results = ($total = $this->toBase()->getCountForPagination()) + ? $this->forPage($page, $perPage)->getWithoutChildren($columns) + : $this->model->newCollection(); + + return $this->paginator($results, $total, $perPage, $page, [ + 'path' => Paginator::resolveCurrentPath(), + 'pageName' => $pageName, + ]); + } +} diff --git a/app/BulkActions/Auth/Permissions.php b/app/BulkActions/Auth/Permissions.php deleted file mode 100644 index 26c2b7bc6..000000000 --- a/app/BulkActions/Auth/Permissions.php +++ /dev/null @@ -1,19 +0,0 @@ - [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-auth-permissions', - ], - ]; -} diff --git a/app/BulkActions/Auth/Roles.php b/app/BulkActions/Auth/Roles.php deleted file mode 100644 index 6ece570de..000000000 --- a/app/BulkActions/Auth/Roles.php +++ /dev/null @@ -1,19 +0,0 @@ - [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-auth-roles', - ], - ]; -} diff --git a/app/BulkActions/Auth/Users.php b/app/BulkActions/Auth/Users.php index e4e778927..a19a2d515 100644 --- a/app/BulkActions/Auth/Users.php +++ b/app/BulkActions/Auth/Users.php @@ -11,21 +11,31 @@ class Users extends BulkAction { public $model = User::class; + public $text = 'general.users'; + + public $path = [ + 'group' => 'auth', + 'type' => 'users', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-auth-users', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-auth-users', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-auth-users', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-auth-users', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-auth-users', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-auth-users', ], ]; diff --git a/app/BulkActions/Banking/Accounts.php b/app/BulkActions/Banking/Accounts.php index da36ea671..33cc30319 100644 --- a/app/BulkActions/Banking/Accounts.php +++ b/app/BulkActions/Banking/Accounts.php @@ -11,21 +11,31 @@ class Accounts extends BulkAction { public $model = Account::class; + public $text = 'general.accounts'; + + public $path = [ + 'group' => 'banking', + 'type' => 'accounts', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-banking-accounts', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-banking-accounts', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-banking-accounts', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-banking-accounts', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-banking-accounts', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-banking-accounts', ], ]; diff --git a/app/BulkActions/Banking/Reconciliations.php b/app/BulkActions/Banking/Reconciliations.php index b8d3916bd..ad1e70c2a 100644 --- a/app/BulkActions/Banking/Reconciliations.php +++ b/app/BulkActions/Banking/Reconciliations.php @@ -10,21 +10,31 @@ class Reconciliations extends BulkAction { public $model = Reconciliation::class; + public $text = 'general.reconciliations'; + + public $path = [ + 'group' => 'banking', + 'type' => 'reconciliations', + ]; + public $actions = [ - 'reconcile' => [ - 'name' => 'reconciliations.reconcile', - 'message' => 'bulk_actions.message.reconcile', - 'permission' => 'update-banking-reconciliations', + 'reconcile' => [ + 'icon' => 'published_with_changes', + 'name' => 'reconciliations.reconcile', + 'message' => 'bulk_actions.message.reconcile', + 'permission' => 'update-banking-reconciliations', ], - 'unreconcile' => [ - 'name' => 'reconciliations.unreconcile', - 'message' => 'bulk_actions.message.unreconcile', - 'permission' => 'update-banking-reconciliations', + 'unreconcile' => [ + 'icon' => 'layers_clear', + 'name' => 'reconciliations.unreconcile', + 'message' => 'bulk_actions.message.unreconcile', + 'permission' => 'update-banking-reconciliations', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-banking-reconciliations', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-banking-reconciliations', ], ]; diff --git a/app/BulkActions/Banking/Transactions.php b/app/BulkActions/Banking/Transactions.php index eb53cc14d..64441b9a2 100644 --- a/app/BulkActions/Banking/Transactions.php +++ b/app/BulkActions/Banking/Transactions.php @@ -10,16 +10,25 @@ class Transactions extends BulkAction { public $model = Transaction::class; + public $text = 'general.transactions'; + + public $path = [ + 'group' => 'banking', + 'type' => 'transactions', + ]; + public $actions = [ - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-banking-transactions', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-banking-transactions', ], - 'export' => [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download', + 'export' => [ + 'icon' => 'file_download', + 'name' => 'general.export', + 'message' => 'bulk_actions.message.export', + 'type' => 'download', ], ]; diff --git a/app/BulkActions/Banking/Transfers.php b/app/BulkActions/Banking/Transfers.php index d3c91c108..8c8f912e9 100644 --- a/app/BulkActions/Banking/Transfers.php +++ b/app/BulkActions/Banking/Transfers.php @@ -11,16 +11,25 @@ class Transfers extends BulkAction { public $model = Transfer::class; + public $text = 'general.transfers'; + + public $path = [ + 'group' => 'banking', + 'type' => 'transfers', + ]; + public $actions = [ - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-banking-transfers', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-banking-transfers', ], - 'export' => [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download', + 'export' => [ + 'icon' => 'file_download', + 'name' => 'general.export', + 'message' => 'bulk_actions.message.export', + 'type' => 'download', ], ]; diff --git a/app/BulkActions/Common/Companies.php b/app/BulkActions/Common/Companies.php index 6c9b49981..437beab02 100644 --- a/app/BulkActions/Common/Companies.php +++ b/app/BulkActions/Common/Companies.php @@ -11,16 +11,25 @@ class Companies extends BulkAction { public $model = Company::class; + public $text = 'general.companies'; + + public $path = [ + 'group' => 'common', + 'type' => 'companies', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-common-companies', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-common-companies', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-common-companies', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-common-companies', ], ]; diff --git a/app/BulkActions/Common/Dashboards.php b/app/BulkActions/Common/Dashboards.php index 3967c121b..fbb288022 100644 --- a/app/BulkActions/Common/Dashboards.php +++ b/app/BulkActions/Common/Dashboards.php @@ -11,21 +11,31 @@ class Dashboards extends BulkAction { public $model = Dashboard::class; + public $text = 'general.dashboards'; + + public $path = [ + 'group' => 'common', + 'type' => 'dashboards', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-common-dashboards', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-common-dashboards', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-common-dashboards', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-common-dashboards', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-common-dashboards', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-common-dashboards', ], ]; diff --git a/app/BulkActions/Common/Items.php b/app/BulkActions/Common/Items.php index b2e704247..e4c419445 100644 --- a/app/BulkActions/Common/Items.php +++ b/app/BulkActions/Common/Items.php @@ -11,30 +11,41 @@ class Items extends BulkAction { public $model = Item::class; + public $text = 'general.items'; + + public $path = [ + 'group' => 'common', + 'type' => 'items', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'path' => ['group' => 'common', 'type' => 'items'], - 'type' => '*', - 'permission' => 'update-common-items', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'path' => ['group' => 'common', 'type' => 'items'], + 'type' => '*', + 'permission' => 'update-common-items', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'path' => ['group' => 'common', 'type' => 'items'], - 'type' => '*', - 'permission' => 'update-common-items', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'path' => ['group' => 'common', 'type' => 'items'], + 'type' => '*', + 'permission' => 'update-common-items', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-common-items', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-common-items', ], - 'export' => [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download', + 'export' => [ + 'icon' => 'file_download', + 'name' => 'general.export', + 'message' => 'bulk_actions.message.export', + 'type' => 'download', ], ]; diff --git a/app/BulkActions/Purchases/Bills.php b/app/BulkActions/Purchases/Bills.php index e3f220692..7000eb289 100644 --- a/app/BulkActions/Purchases/Bills.php +++ b/app/BulkActions/Purchases/Bills.php @@ -15,46 +15,39 @@ class Bills extends BulkAction { public $model = Document::class; - public $actions = [ - 'paid' => [ - 'name' => 'bills.mark_paid', - 'message' => 'bulk_actions.message.paid', - 'permission' => 'update-purchases-bills', - ], - 'received' => [ - 'name' => 'bills.mark_received', - 'message' => 'bulk_actions.message.received', - 'permission' => 'update-purchases-bills', - ], - 'cancelled' => [ - 'name' => 'general.cancel', - 'message' => 'bulk_actions.message.cancelled', - 'permission' => 'update-purchases-bills', - ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-purchases-bills', - ], - 'export' => [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download', - ], + public $text = 'general.bills'; + + public $path = [ + 'group' => 'purchases', + 'type' => 'bills', ]; - public function paid($request) - { - $bills = $this->getSelectedRecords($request); - - foreach ($bills as $bill) { - if ($bill->status == 'paid') { - continue; - } - - $this->dispatch(new CreateBankingDocumentTransaction($bill, ['type' => 'expense'])); - } - } + public $actions = [ + 'received' => [ + 'icon' => 'send', + 'name' => 'bills.mark_received', + 'message' => 'bulk_actions.message.received', + 'permission' => 'update-purchases-bills', + ], + 'cancelled' => [ + 'icon' => 'cancel', + 'name' => 'general.cancel', + 'message' => 'bulk_actions.message.cancelled', + 'permission' => 'update-purchases-bills', + ], + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-purchases-bills', + ], + 'export' => [ + 'icon' => 'file_download', + 'name' => 'general.export', + 'message' => 'bulk_actions.message.export', + 'type' => 'download', + ], + ]; public function received($request) { diff --git a/app/BulkActions/Purchases/Payments.php b/app/BulkActions/Purchases/Payments.php deleted file mode 100644 index 862f1cc30..000000000 --- a/app/BulkActions/Purchases/Payments.php +++ /dev/null @@ -1,37 +0,0 @@ - [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download', - ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-purchases-payments', - ], - ]; - - public function destroy($request) - { - $this->deleteTransactions($request); - } - - public function export($request) - { - $selected = $this->getSelectedInput($request); - - return $this->exportExcel(new Export($selected), trans_choice('general.payments', 2)); - } -} diff --git a/app/BulkActions/Purchases/Vendors.php b/app/BulkActions/Purchases/Vendors.php index 92b39286a..8271347f5 100644 --- a/app/BulkActions/Purchases/Vendors.php +++ b/app/BulkActions/Purchases/Vendors.php @@ -10,26 +10,37 @@ class Vendors extends BulkAction { public $model = Contact::class; + public $text = 'general.vendors'; + + public $path = [ + 'group' => 'purchases', + 'type' => 'vendors', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-purchases-vendors', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-purchases-vendors', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-purchases-vendors', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-purchases-vendors', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-purchases-vendors', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-purchases-vendors', ], - 'export' => [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download', + 'export' => [ + 'icon' => 'file_download', + 'name' => 'general.export', + 'message' => 'bulk_actions.message.export', + 'type' => 'download', ], ]; diff --git a/app/BulkActions/Sales/Customers.php b/app/BulkActions/Sales/Customers.php index 8e7f57ed5..acde4026e 100644 --- a/app/BulkActions/Sales/Customers.php +++ b/app/BulkActions/Sales/Customers.php @@ -10,26 +10,37 @@ class Customers extends BulkAction { public $model = Contact::class; + public $text = 'general.customers'; + + public $path = [ + 'group' => 'sales', + 'type' => 'customers', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-sales-customers', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-sales-customers', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-sales-customers', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-sales-customers', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-sales-customers', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-sales-customers', ], - 'export' => [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download', + 'export' => [ + 'icon' => 'file_download', + 'name' => 'general.export', + 'message' => 'bulk_actions.message.export', + 'type' => 'download', ], ]; diff --git a/app/BulkActions/Sales/Invoices.php b/app/BulkActions/Sales/Invoices.php index 59c94814e..e70a04b53 100644 --- a/app/BulkActions/Sales/Invoices.php +++ b/app/BulkActions/Sales/Invoices.php @@ -15,46 +15,39 @@ class Invoices extends BulkAction { public $model = Document::class; - public $actions = [ - 'paid' => [ - 'name' => 'invoices.mark_paid', - 'message' => 'bulk_actions.message.paid', - 'permission' => 'update-sales-invoices', - ], - 'sent' => [ - 'name' => 'invoices.mark_sent', - 'message' => 'bulk_actions.message.sent', - 'permission' => 'update-sales-invoices', - ], - 'cancelled' => [ - 'name' => 'general.cancel', - 'message' => 'bulk_actions.message.cancelled', - 'permission' => 'update-sales-invoices', - ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-sales-invoices', - ], - 'export' => [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download', - ], + public $text = 'general.invoices'; + + public $path = [ + 'group' => 'sales', + 'type' => 'invoices', ]; - public function paid($request) - { - $invoices = $this->getSelectedRecords($request); - - foreach ($invoices as $invoice) { - if ($invoice->status == 'paid') { - continue; - } - - event(new PaymentReceived($invoice, ['type' => 'income'])); - } - } + public $actions = [ + 'sent' => [ + 'icon' => 'send', + 'name' => 'invoices.mark_sent', + 'message' => 'bulk_actions.message.sent', + 'permission' => 'update-sales-invoices', + ], + 'cancelled' => [ + 'icon' => 'cancel', + 'name' => 'general.cancel', + 'message' => 'bulk_actions.message.cancelled', + 'permission' => 'update-sales-invoices', + ], + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-sales-invoices', + ], + 'export' => [ + 'icon' => 'file_download', + 'name' => 'general.export', + 'message' => 'bulk_actions.message.export', + 'type' => 'download', + ], + ]; public function sent($request) { diff --git a/app/BulkActions/Sales/Revenues.php b/app/BulkActions/Sales/Revenues.php deleted file mode 100644 index 199ce6431..000000000 --- a/app/BulkActions/Sales/Revenues.php +++ /dev/null @@ -1,37 +0,0 @@ - [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-sales-revenues', - ], - 'export' => [ - 'name' => 'general.export', - 'message' => 'bulk_actions.message.export', - 'type' => 'download', - ], - ]; - - public function destroy($request) - { - $this->deleteTransactions($request); - } - - public function export($request) - { - $selected = $this->getSelectedInput($request); - - return $this->exportExcel(new Export($selected), trans_choice('general.revenues', 2)); - } -} diff --git a/app/BulkActions/Settings/Categories.php b/app/BulkActions/Settings/Categories.php index 3e82cbdf2..ed63dd003 100644 --- a/app/BulkActions/Settings/Categories.php +++ b/app/BulkActions/Settings/Categories.php @@ -11,21 +11,31 @@ class Categories extends BulkAction { public $model = Category::class; + public $text = 'general.categories'; + + public $path = [ + 'group' => 'settings', + 'type' => 'categories', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-settings-categories', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-settings-categories', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-settings-categories', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-settings-categories', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-settings-categories', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-settings-categories', ], ]; diff --git a/app/BulkActions/Settings/Currencies.php b/app/BulkActions/Settings/Currencies.php index 8f0f11913..70cd976db 100644 --- a/app/BulkActions/Settings/Currencies.php +++ b/app/BulkActions/Settings/Currencies.php @@ -11,21 +11,31 @@ class Currencies extends BulkAction { public $model = Currency::class; + public $text = 'general.currencies'; + + public $path = [ + 'group' => 'settings', + 'type' => 'currencies', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-settings-currencies', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-settings-currencies', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-settings-currencies', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-settings-currencies', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-settings-currencies', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-settings-currencies', ], ]; diff --git a/app/BulkActions/Settings/Taxes.php b/app/BulkActions/Settings/Taxes.php index a3f21bf85..a6d699bf7 100644 --- a/app/BulkActions/Settings/Taxes.php +++ b/app/BulkActions/Settings/Taxes.php @@ -11,21 +11,31 @@ class Taxes extends BulkAction { public $model = Tax::class; + public $text = 'general.taxes'; + + public $path = [ + 'group' => 'settings', + 'type' => 'taxes', + ]; + public $actions = [ - 'enable' => [ - 'name' => 'general.enable', - 'message' => 'bulk_actions.message.enable', - 'permission' => 'update-settings-taxes', + 'enable' => [ + 'icon' => 'check_circle', + 'name' => 'general.enable', + 'message' => 'bulk_actions.message.enable', + 'permission' => 'update-settings-taxes', ], - 'disable' => [ - 'name' => 'general.disable', - 'message' => 'bulk_actions.message.disable', - 'permission' => 'update-settings-taxes', + 'disable' => [ + 'icon' => 'hide_source', + 'name' => 'general.disable', + 'message' => 'bulk_actions.message.disable', + 'permission' => 'update-settings-taxes', ], - 'delete' => [ - 'name' => 'general.delete', - 'message' => 'bulk_actions.message.delete', - 'permission' => 'delete-settings-taxes', + 'delete' => [ + 'icon' => 'delete', + 'name' => 'general.delete', + 'message' => 'bulk_actions.message.delete', + 'permission' => 'delete-settings-taxes', ], ]; diff --git a/app/Console/Commands/BillReminder.php b/app/Console/Commands/BillReminder.php index 8b6a78535..85c69e6e1 100644 --- a/app/Console/Commands/BillReminder.php +++ b/app/Console/Commands/BillReminder.php @@ -8,6 +8,7 @@ use App\Models\Document\Document; use App\Notifications\Purchase\Bill as Notification; use App\Utilities\Date; use Illuminate\Console\Command; +use Illuminate\Database\Eloquent\Builder; class BillReminder extends Command { @@ -35,22 +36,29 @@ class BillReminder extends Command // Disable model cache config(['laravel-model-caching.enabled' => false]); + $today = Date::today(); + + $start_date = $today->copy()->subWeek()->toDateString() . ' 00:00:00'; + $end_date = $today->copy()->addMonth()->toDateString() . ' 23:59:59'; + // Get all companies - $companies = Company::enabled()->with('bills')->cursor(); + $companies = Company::whereHas('bills', function (Builder $query) use ($start_date, $end_date) { + $query->allCompanies(); + $query->whereBetween('due_at', [$start_date, $end_date]); + $query->accrued(); + $query->notPaid(); + }) + ->enabled() + ->cursor(); foreach ($companies as $company) { - // Has company bills - if (!$company->bills->count()) { - continue; - } - $this->info('Sending bill reminders for ' . $company->name . ' company.'); // Set company $company->makeCurrent(); // Don't send reminders if disabled - if (!setting('schedule.send_bill_reminder')) { + if (! setting('schedule.send_bill_reminder')) { $this->info('Bill reminders disabled by ' . $company->name . '.'); continue; @@ -74,9 +82,11 @@ class BillReminder extends Command $date = Date::today()->addDays($day)->toDateString(); // Get upcoming bills - $bills = Document::bill()->with('contact')->accrued()->notPaid()->due($date)->cursor(); + $bills = Document::with('contact')->bill()->accrued()->notPaid()->due($date)->cursor(); foreach ($bills as $bill) { + $this->info($bill->document_number . ' bill reminded.'); + try { event(new DocumentReminded($bill, Notification::class)); } catch (\Throwable $e) { diff --git a/app/Console/Commands/Install.php b/app/Console/Commands/Install.php index f18bec765..a1d83e68a 100644 --- a/app/Console/Commands/Install.php +++ b/app/Console/Commands/Install.php @@ -2,9 +2,10 @@ namespace App\Console\Commands; -use Session; use App\Utilities\Installer; use Illuminate\Console\Command; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Session; class Install extends Command { @@ -74,15 +75,17 @@ class Install extends Command Installer::createDefaultEnvFile(); $this->line('Creating database tables'); - if (!$this->createDatabaseTables()) { + if (! $this->createDatabaseTables()) { return self::CMD_ERROR; } - $this->line('Creating company'); - Installer::createCompany($this->company_name, $this->company_email, $this->locale); + DB::transaction(function () { + $this->line('Creating company'); + Installer::createCompany($this->company_name, $this->company_email, $this->locale); - $this->line('Creating admin'); - Installer::createUser($this->admin_email, $this->admin_password, $this->locale); + $this->line('Creating admin'); + Installer::createUser($this->admin_email, $this->admin_password, $this->locale); + }); $this->line('Applying the final touches'); Installer::finalTouches(); diff --git a/app/Console/Commands/InvoiceReminder.php b/app/Console/Commands/InvoiceReminder.php index b068941de..283bd43f2 100644 --- a/app/Console/Commands/InvoiceReminder.php +++ b/app/Console/Commands/InvoiceReminder.php @@ -8,6 +8,7 @@ use App\Models\Document\Document; use App\Notifications\Sale\Invoice as Notification; use App\Utilities\Date; use Illuminate\Console\Command; +use Illuminate\Database\Eloquent\Builder; class InvoiceReminder extends Command { @@ -35,22 +36,29 @@ class InvoiceReminder extends Command // Disable model cache config(['laravel-model-caching.enabled' => false]); + $today = Date::today(); + + $start_date = $today->copy()->subMonth()->toDateString() . ' 00:00:00'; + $end_date = $today->copy()->addWeek()->toDateString() . ' 23:59:59'; + // Get all companies - $companies = Company::enabled()->with('invoices')->cursor(); + $companies = Company::whereHas('invoices', function (Builder $query) use ($start_date, $end_date) { + $query->allCompanies(); + $query->whereBetween('due_at', [$start_date, $end_date]); + $query->accrued(); + $query->notPaid(); + }) + ->enabled() + ->cursor(); foreach ($companies as $company) { - // Has company invoices - if (!$company->invoices->count()) { - continue; - } - $this->info('Sending invoice reminders for ' . $company->name . ' company.'); // Set company $company->makeCurrent(); // Don't send reminders if disabled - if (!setting('schedule.send_invoice_reminder')) { + if (! setting('schedule.send_invoice_reminder')) { $this->info('Invoice reminders disabled by ' . $company->name . '.'); continue; @@ -74,9 +82,11 @@ class InvoiceReminder extends Command $date = Date::today()->subDays($day)->toDateString(); // Get upcoming invoices - $invoices = Document::invoice()->with('contact')->accrued()->notPaid()->due($date)->cursor(); + $invoices = Document::with('contact')->invoice()->accrued()->notPaid()->due($date)->cursor(); foreach ($invoices as $invoice) { + $this->info($invoice->document_number . ' invoice reminded.'); + try { event(new DocumentReminded($invoice, Notification::class)); } catch (\Throwable $e) { diff --git a/app/Console/Commands/RecurringCheck.php b/app/Console/Commands/RecurringCheck.php index 297e5d4ee..54edd5ddb 100644 --- a/app/Console/Commands/RecurringCheck.php +++ b/app/Console/Commands/RecurringCheck.php @@ -12,6 +12,9 @@ use App\Models\Common\Recurring; use App\Models\Document\Document; use App\Utilities\Date; use Illuminate\Console\Command; +use Illuminate\Database\Eloquent\Builder; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Str; class RecurringCheck extends Command { @@ -36,25 +39,40 @@ class RecurringCheck extends Command */ public function handle() { + // Bind to container + app()->instance(static::class, $this); + // Disable model cache config(['laravel-model-caching.enabled' => false]); // Get all recurring - $recurring = Recurring::allCompanies()->with('company')->get(); + $recurring = Recurring::with('company') + /*->whereHas('recurable', function (Builder $query) { + $query->allCompanies(); + })*/ + ->active() + ->allCompanies() + ->cursor(); - $this->info('Creating recurring records ' . $recurring->count()); + //$this->info('Total recurring: ' . $recurring->count()); + + $today = Date::today(); foreach ($recurring as $recur) { if (empty($recur->company)) { + $this->info('Missing company.'); + + $recur->delete(); + continue; } + $this->info('Creating records for ' . $recur->id . ' recurring...'); + $company_name = !empty($recur->company->name) ? $recur->company->name : 'Missing Company Name : ' . $recur->company->id; - $this->info('Creating recurring records for ' . $company_name . ' company...'); - // Check if company is disabled - if (!$recur->company->enabled) { + if (! $recur->company->enabled) { $this->info($company_name . ' company is disabled. Skipping...'); if (Date::parse($recur->company->updated_at)->format('Y-m-d') > Date::now()->subMonth(3)->format('Y-m-d')) { @@ -75,7 +93,7 @@ class RecurringCheck extends Command } } - if (!$has_active_users) { + if (! $has_active_users) { $this->info('No active users for ' . $company_name . ' company. Skipping...'); $recur->delete(); @@ -85,31 +103,46 @@ class RecurringCheck extends Command company($recur->company_id)->makeCurrent(); - $today = Date::today(); + if (! $model = $recur->recurable) { + $this->info('Missing model.'); + + $recur->delete(); - if (!$model = $recur->recurable) { continue; } - $schedules = $recur->getRecurringSchedule(); - $children_count = $this->getChildrenCount($model); + + $schedules = $recur->getRecurringSchedule(); $schedule_count = $schedules->count(); // All recurring created, including today if ($children_count > ($schedule_count - 1)) { + $this->info('All recurring created.'); + + $recur->update(['status' => Recurring::COMPLETE_STATUS]); + continue; } // Recur only today if ($children_count == ($schedule_count - 1)) { + $this->info('Recur only today.'); + $this->recur($model, $recur->recurable_type, $today); + $recur->update(['status' => Recurring::COMPLETE_STATUS]); + continue; } - // Recur all schedules, previously failed + // Don't create records for the future + $schedules = $schedules->endsBefore($recur->getRecurringRuleTomorrowDate()); + + // Recur all schedules, including the previously failed ones foreach ($schedules as $schedule) { + $this->info('Recur all schedules.'); + $schedule_date = Date::parse($schedule->getStart()->format('Y-m-d')); $this->recur($model, $recur->recurable_type, $schedule_date); @@ -117,13 +150,16 @@ class RecurringCheck extends Command } Company::forgetCurrent(); + + // Remove from container + app()->forgetInstance(static::class); } protected function recur($model, $type, $schedule_date) { - \DB::transaction(function () use ($model, $type, $schedule_date) { - /** @var Document $clone */ - if (!$clone = $this->getClone($model, $schedule_date)) { + DB::transaction(function () use ($model, $type, $schedule_date) { + /** @var Document|Transaction $clone */ + if (! $clone = $this->getClone($model, $schedule_date)) { return; } @@ -185,13 +221,12 @@ class RecurringCheck extends Command $clone = $model->duplicate(); - $date_field = $this->getDateField($model); - // Days between issued and due date - $diff_days = Date::parse($clone->due_at)->diffInDays(Date::parse($clone->$date_field)); + $diff_days = Date::parse($model->due_at)->diffInDays(Date::parse($model->issued_at)); + $clone->type = $this->getRealType($clone->type); $clone->parent_id = $model->id; - $clone->$date_field = $schedule_date->format('Y-m-d'); + $clone->issued_at = $schedule_date->format('Y-m-d'); $clone->due_at = $schedule_date->copy()->addDays($diff_days)->format('Y-m-d'); $clone->created_from = 'core::recurring'; $clone->save(); @@ -213,6 +248,7 @@ class RecurringCheck extends Command $clone = $model->duplicate(); + $clone->type = $this->getRealType($clone->type); $clone->parent_id = $model->id; $clone->paid_at = $schedule_date->format('Y-m-d'); $clone->created_from = 'core::recurring'; @@ -230,9 +266,7 @@ class RecurringCheck extends Command return true; } - $table = $this->getTable($model); - - $already_cloned = \DB::table($table) + $already_cloned = DB::table($model->getTable()) ->where('parent_id', $model->id) ->whereDate($date_field, $schedule_date) ->value('id'); @@ -247,9 +281,7 @@ class RecurringCheck extends Command protected function getChildrenCount($model) { - $table = $this->getTable($model); - - return \DB::table($table) + return DB::table($model->getTable()) ->where('parent_id', $model->id) ->count(); } @@ -265,14 +297,8 @@ class RecurringCheck extends Command } } - protected function getTable($model) + public function getRealType(string $recurring_type): string { - if ($model instanceof Transaction) { - return 'transactions'; - } - - if ($model instanceof Document) { - return 'documents'; - } + return Str::replace('-recurring', '', $recurring_type); } } diff --git a/app/Console/Commands/ReportCache.php b/app/Console/Commands/ReportCache.php deleted file mode 100644 index c11dffc0e..000000000 --- a/app/Console/Commands/ReportCache.php +++ /dev/null @@ -1,83 +0,0 @@ - false]); - - // Get all companies - $companies = Company::enabled()->withCount('reports')->cursor(); - - foreach ($companies as $company) { - // Has company reports - if (!$company->reports_count) { - continue; - } - - $this->info('Calculating reports for ' . $company->name . ' company.'); - - // Set company - $company->makeCurrent(); - - $this->cacheReportsOfCurrentCompany(); - } - - Company::forgetCurrent(); - } - - protected function cacheReportsOfCurrentCompany() - { - $reports = Report::orderBy('name')->get(); - - foreach ($reports as $report) { - try { - $class = Utility::getClassInstance($report, false); - - if (empty($class)) { - continue; - } - - $ttl = 3600 * 6; // 6 hours - - Cache::forget('reports.totals.' . $report->id); - - Cache::remember('reports.totals.' . $report->id, $ttl, function () use ($class) { - return $class->getGrandTotal(); - }); - } catch (\Throwable $e) { - $this->error($e->getMessage()); - - report($e); - } - } - } -} diff --git a/app/Console/Commands/SampleData.php b/app/Console/Commands/SampleData.php old mode 100755 new mode 100644 index 43cf3d266..37e26387f --- a/app/Console/Commands/SampleData.php +++ b/app/Console/Commands/SampleData.php @@ -12,7 +12,7 @@ class SampleData extends Command * * @var string */ - protected $signature = 'sample-data:seed {--count=100 : total records for each item}'; + protected $signature = 'sample-data:seed {--count=100 : total records for each item} {--company=1 : the company id}'; /** * The console command description. diff --git a/app/Console/Commands/UpdateDb.php b/app/Console/Commands/UpdateDb.php new file mode 100644 index 000000000..3ed805318 --- /dev/null +++ b/app/Console/Commands/UpdateDb.php @@ -0,0 +1,43 @@ +argument('alias'); + $company_id = $this->argument('company'); + $new = $this->argument('new'); + $old = $this->argument('old'); + + company($company_id)->makeCurrent(); + + // Disable model cache during update + config(['laravel-model-caching.enabled' => false]); + + event(new UpdateFinished($alias, $new, $old)); + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index aaf88ec16..88648f393 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -29,7 +29,6 @@ class Kernel extends ConsoleKernel $schedule_time = config('app.schedule_time'); - $schedule->command('report:cache')->everySixHours(); $schedule->command('reminder:invoice')->dailyAt($schedule_time); $schedule->command('reminder:bill')->dailyAt($schedule_time); $schedule->command('recurring:check')->dailyAt($schedule_time); diff --git a/app/Console/Stubs/Modules/component.stub b/app/Console/Stubs/Modules/component.stub index 916f91861..a5100a344 100644 --- a/app/Console/Stubs/Modules/component.stub +++ b/app/Console/Stubs/Modules/component.stub @@ -2,7 +2,7 @@ namespace $NAMESPACE$; -use Illuminate\View\Component; +use App\Abstracts\View\Component; class $CLASS$ extends Component { diff --git a/app/Console/Stubs/Modules/package.stub b/app/Console/Stubs/Modules/package.stub index d3cc7469b..bbbc4984d 100644 --- a/app/Console/Stubs/Modules/package.stub +++ b/app/Console/Stubs/Modules/package.stub @@ -2,16 +2,16 @@ "private": true, "scripts": { "dev": "npm run development", - "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch-poll": "npm run watch -- --watch-poll", - "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", + "development": "mix", + "watch": "mix watch", + "watch-poll": "mix watch -- --watch-options-poll=1000", + "hot": "mix watch --hot", "prod": "npm run production", - "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" + "production": "mix --production" }, "devDependencies": { "cross-env": "^5.2.1", - "laravel-mix": "^4.1.4", - "laravel-mix-merge-manifest": "^0.1.2" + "laravel-mix": "^6.0.39", + "resolve-url-loader": "^5.0.0" } } diff --git a/app/Console/Stubs/Modules/scaffold/provider.stub b/app/Console/Stubs/Modules/scaffold/provider.stub index ed514d200..da0ecbc97 100644 --- a/app/Console/Stubs/Modules/scaffold/provider.stub +++ b/app/Console/Stubs/Modules/scaffold/provider.stub @@ -14,6 +14,7 @@ class $NAME$ extends Provider */ public function register() { + //$this->loadConfig(); $this->loadRoutes(); } @@ -28,7 +29,6 @@ class $NAME$ extends Provider $this->loadViewComponents(); $this->loadTranslations(); $this->loadMigrations(); - //$this->loadConfig(); } /** diff --git a/app/Console/Stubs/Modules/views/index.stub b/app/Console/Stubs/Modules/views/index.stub index 048aef542..ad091aa34 100644 --- a/app/Console/Stubs/Modules/views/index.stub +++ b/app/Console/Stubs/Modules/views/index.stub @@ -1,9 +1,9 @@ -@extends('layouts.admin') + + +

Hello World

-@section('content') -

Hello World

- -

- This view is loaded from module: {!! config('$ALIAS$.name') !!} -

-@stop +

+ This view is loaded from module: {!! config('$ALIAS$.name') !!} +

+
+
diff --git a/app/Console/Stubs/Modules/webpack.stub b/app/Console/Stubs/Modules/webpack.stub index b66badad5..cd90d2588 100644 --- a/app/Console/Stubs/Modules/webpack.stub +++ b/app/Console/Stubs/Modules/webpack.stub @@ -11,5 +11,10 @@ const mix = require('laravel-mix'); | */ -mix.js('Resources/assets/js/$ALIAS$.js', 'Resources/assets/js/$ALIAS$.min.js') - .sass('./../../resources/assets/sass/argon.scss', './../../public/css'); +mix.options({ + terser: { + extractComments: false, + } + }) + .js('Resources/assets/js/$ALIAS$.js', 'Resources/assets/js/$ALIAS$.min.js') + .vue(); diff --git a/app/Events/Auth/InvitationCreated.php b/app/Events/Auth/InvitationCreated.php new file mode 100644 index 000000000..07741f8a3 --- /dev/null +++ b/app/Events/Auth/InvitationCreated.php @@ -0,0 +1,20 @@ +invitation = $invitation; + } +} diff --git a/app/Events/Auth/RoleCreated.php b/app/Events/Auth/RoleCreated.php new file mode 100644 index 000000000..5648d4527 --- /dev/null +++ b/app/Events/Auth/RoleCreated.php @@ -0,0 +1,24 @@ +role = $role; + $this->request = $request; + } +} diff --git a/app/Events/Auth/RoleCreating.php b/app/Events/Auth/RoleCreating.php new file mode 100644 index 000000000..1cb3bf757 --- /dev/null +++ b/app/Events/Auth/RoleCreating.php @@ -0,0 +1,22 @@ +request = $request; + } +} diff --git a/app/Events/Auth/RoleDeleted.php b/app/Events/Auth/RoleDeleted.php new file mode 100644 index 000000000..fe7fc0c61 --- /dev/null +++ b/app/Events/Auth/RoleDeleted.php @@ -0,0 +1,20 @@ +role = $role; + } +} diff --git a/app/Events/Auth/RoleDeleting.php b/app/Events/Auth/RoleDeleting.php new file mode 100644 index 000000000..b885c8364 --- /dev/null +++ b/app/Events/Auth/RoleDeleting.php @@ -0,0 +1,20 @@ +role = $role; + } +} diff --git a/app/Events/Auth/RoleUpdated.php b/app/Events/Auth/RoleUpdated.php new file mode 100644 index 000000000..376384066 --- /dev/null +++ b/app/Events/Auth/RoleUpdated.php @@ -0,0 +1,24 @@ +role = $role; + $this->request = $request; + } +} diff --git a/app/Events/Auth/RoleUpdating.php b/app/Events/Auth/RoleUpdating.php new file mode 100644 index 000000000..a86580e25 --- /dev/null +++ b/app/Events/Auth/RoleUpdating.php @@ -0,0 +1,24 @@ +role = $role; + $this->request = $request; + } +} diff --git a/app/Events/Auth/UserDeleted.php b/app/Events/Auth/UserDeleted.php new file mode 100644 index 000000000..d6676b79a --- /dev/null +++ b/app/Events/Auth/UserDeleted.php @@ -0,0 +1,20 @@ +user = $user; + } +} diff --git a/app/Events/Auth/UserDeleting.php b/app/Events/Auth/UserDeleting.php new file mode 100644 index 000000000..01e71251d --- /dev/null +++ b/app/Events/Auth/UserDeleting.php @@ -0,0 +1,20 @@ +user = $user; + } +} diff --git a/app/Events/Banking/TransactionCreated.php b/app/Events/Banking/TransactionCreated.php index a7f3f7d88..70a7cc27d 100644 --- a/app/Events/Banking/TransactionCreated.php +++ b/app/Events/Banking/TransactionCreated.php @@ -3,6 +3,7 @@ namespace App\Events\Banking; use App\Abstracts\Event; +use App\Models\Banking\Transaction; class TransactionCreated extends Event { @@ -13,7 +14,7 @@ class TransactionCreated extends Event * * @param $transaction */ - public function __construct($transaction) + public function __construct(Transaction $transaction) { $this->transaction = $transaction; } diff --git a/app/Events/Document/PaymentReceived.php b/app/Events/Document/PaymentReceived.php index 52be83b5a..98854bdc7 100644 --- a/app/Events/Document/PaymentReceived.php +++ b/app/Events/Document/PaymentReceived.php @@ -3,9 +3,12 @@ namespace App\Events\Document; use App\Abstracts\Event; +use App\Traits\Transactions; class PaymentReceived extends Event { + use Transactions; + public $document; public $request; @@ -18,6 +21,11 @@ class PaymentReceived extends Event public function __construct($document, $request = []) { $this->document = $document; + + if (empty($request['number'])) { + $request['number'] = $this->getNextTransactionNumber(); + } + $this->request = $request; } } diff --git a/app/Events/Menu/NewwCreated.php b/app/Events/Menu/NewwCreated.php new file mode 100644 index 000000000..522005d22 --- /dev/null +++ b/app/Events/Menu/NewwCreated.php @@ -0,0 +1,20 @@ +menu = $menu; + } +} diff --git a/app/Events/Menu/NotificationsCreated.php b/app/Events/Menu/NotificationsCreated.php new file mode 100644 index 000000000..de65397f5 --- /dev/null +++ b/app/Events/Menu/NotificationsCreated.php @@ -0,0 +1,20 @@ +notifications = $notifications; + } +} diff --git a/app/Events/Menu/ProfileCreated.php b/app/Events/Menu/ProfileCreated.php new file mode 100644 index 000000000..b020cf31f --- /dev/null +++ b/app/Events/Menu/ProfileCreated.php @@ -0,0 +1,20 @@ +menu = $menu; + } +} diff --git a/app/Events/Menu/SettingsCreated.php b/app/Events/Menu/SettingsCreated.php new file mode 100644 index 000000000..62027386d --- /dev/null +++ b/app/Events/Menu/SettingsCreated.php @@ -0,0 +1,20 @@ +menu = $menu; + } +} diff --git a/app/Events/Module/Disabling.php b/app/Events/Module/Disabling.php new file mode 100644 index 000000000..b8abb0058 --- /dev/null +++ b/app/Events/Module/Disabling.php @@ -0,0 +1,24 @@ +alias = $alias; + $this->company_id = $company_id; + } +} diff --git a/app/Events/Module/SettingShowing.php b/app/Events/Module/SettingShowing.php deleted file mode 100644 index bbaf1a1f1..000000000 --- a/app/Events/Module/SettingShowing.php +++ /dev/null @@ -1,20 +0,0 @@ -modules = $modules; - } -} diff --git a/app/Events/Module/Uninstalling.php b/app/Events/Module/Uninstalling.php new file mode 100644 index 000000000..39b5b971b --- /dev/null +++ b/app/Events/Module/Uninstalling.php @@ -0,0 +1,24 @@ +alias = $alias; + $this->company_id = $company_id; + } +} diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 663e80e44..8915373ed 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -2,11 +2,16 @@ namespace App\Exceptions; +use App\Exceptions\Http\Resource as ResourceException; use Illuminate\Auth\AuthenticationException; use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; use Illuminate\Http\Exceptions\ThrottleRequestsException; +use Illuminate\Http\Response; +use Illuminate\Support\Str; +use Illuminate\Validation\ValidationException; use Symfony\Component\Debug\Exception\FatalThrowableError; +use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Throwable; @@ -55,8 +60,12 @@ class Handler extends ExceptionHandler */ public function render($request, Throwable $exception) { + if ($request->isApi()) { + return $this->handleApiExceptions($request, $exception); + } + if (config('app.debug') === false) { - return $this->handleExceptions($request, $exception); + return $this->handleWebExceptions($request, $exception); } return parent::render($request, $exception); @@ -81,7 +90,7 @@ class Handler extends ExceptionHandler : redirect()->to($exception->redirectTo() ?? route('login')); } - private function handleExceptions($request, $exception) + protected function handleWebExceptions($request, $exception) { if ($exception instanceof NotFoundHttpException) { // ajax 404 json feedback @@ -137,4 +146,142 @@ class Handler extends ExceptionHandler return parent::render($request, $exception); } + + protected function handleApiExceptions($request, $exception): Response + { + $replacements = $this->prepareApiReplacements($exception); + + $response = config('api.error_format'); + + array_walk_recursive($response, function (&$value, $key) use ($replacements) { + if (Str::startsWith($value, ':') && isset($replacements[$value])) { + $value = $replacements[$value]; + } + }); + + $response = $this->recursivelyRemoveEmptyApiReplacements($response); + + return new Response($response, $this->getStatusCode($exception), $this->getHeaders($exception)); + } + + /** + * Prepare the replacements array by gathering the keys and values. + * + * @param Throwable $exception + * + * @return array + */ + protected function prepareApiReplacements(Throwable $exception): array + { + $code = $this->getStatusCode($exception); + + if (! $message = $exception->getMessage()) { + $message = sprintf('%d %s', $code, Response::$statusTexts[$code]); + } + + $replacements = [ + ':message' => $message, + ':status_code' => $code, + ]; + + if ($exception instanceof ResourceException && $exception->hasErrors()) { + $replacements[':errors'] = $exception->getErrors(); + } + + if ($exception instanceof ValidationException) { + $replacements[':errors'] = $exception->errors(); + $replacements[':status_code'] = $exception->status; + } + + if ($code = $exception->getCode()) { + $replacements[':code'] = $code; + } + + if (config('api.debug')) { + $replacements[':debug'] = [ + 'line' => $exception->getLine(), + 'file' => $exception->getFile(), + 'class' => get_class($exception), + 'trace' => explode("\n", $exception->getTraceAsString()), + ]; + + // Attach trace of previous exception, if exists + if (! is_null($exception->getPrevious())) { + $currentTrace = $replacements[':debug']['trace']; + + $replacements[':debug']['trace'] = [ + 'previous' => explode("\n", $exception->getPrevious()->getTraceAsString()), + 'current' => $currentTrace, + ]; + } + } + + return $replacements; + } + + /** + * Recursively remove any empty replacement values in the response array. + * + * @param array $input + * + * @return array + */ + protected function recursivelyRemoveEmptyApiReplacements(array $input) + { + foreach ($input as &$value) { + if (is_array($value)) { + $value = $this->recursivelyRemoveEmptyApiReplacements($value); + } + } + + return array_filter($input, function ($value) { + if (is_string($value)) { + return ! Str::startsWith($value, ':'); + } + + return true; + }); + } + + /** + * Get the status code from the exception. + * + * @param Throwable $exception + * + * @return int + */ + protected function getStatusCode(Throwable $exception): int + { + $code = null; + + if ($exception instanceof ValidationException) { + $code = $exception->status; + } elseif ($exception instanceof HttpExceptionInterface) { + $code = $exception->getStatusCode(); + } else { + // By default throw 500 + $code = 500; + } + + // Be extra defensive + if ($code < 100 || $code > 599) { + $code = 500; + } + + return $code; + } + + /** + * Get the headers from the exception. + * + * @param Throwable $exception + * + * @return array + */ + protected function getHeaders(Throwable $exception): array + { + return ($exception instanceof HttpExceptionInterface) + ? $exception->getHeaders() + : []; + } } diff --git a/app/Exceptions/Http/Resource.php b/app/Exceptions/Http/Resource.php new file mode 100644 index 000000000..44b0957d9 --- /dev/null +++ b/app/Exceptions/Http/Resource.php @@ -0,0 +1,59 @@ +errors = new MessageBag; + } else { + $this->errors = is_array($errors) ? new MessageBag($errors) : $errors; + } + + parent::__construct(422, $message, $previous, $headers, $code); + } + + /** + * Get the errors message bag. + * + * @return \Illuminate\Support\MessageBag + */ + public function getErrors() + { + return $this->errors; + } + + /** + * Determine if message bag has any errors. + * + * @return bool + */ + public function hasErrors() + { + return ! $this->errors->isEmpty(); + } +} diff --git a/app/Exports/Banking/Transactions.php b/app/Exports/Banking/Transactions.php index 12ddc3b54..a712fdc0d 100644 --- a/app/Exports/Banking/Transactions.php +++ b/app/Exports/Banking/Transactions.php @@ -11,7 +11,7 @@ class Transactions extends Export implements WithColumnFormatting { public function collection() { - return Model::with('account', 'category', 'contact', 'document')->collectForExport($this->ids, ['paid_at' => 'desc']); + return Model::with('account', 'category', 'contact', 'document')->isNotRecurring()->collectForExport($this->ids, ['paid_at' => 'desc']); } public function map($model): array @@ -28,6 +28,7 @@ class Transactions extends Export implements WithColumnFormatting { return [ 'type', + 'number', 'paid_at', 'amount', 'currency_code', diff --git a/app/Exports/Common/Sheets/Items.php b/app/Exports/Common/Sheets/Items.php index 3f3a3ed0d..57fef15e7 100644 --- a/app/Exports/Common/Sheets/Items.php +++ b/app/Exports/Common/Sheets/Items.php @@ -23,6 +23,7 @@ class Items extends Export { return [ 'name', + 'type', 'description', 'sale_price', 'purchase_price', diff --git a/app/Exports/Purchases/Payments.php b/app/Exports/Purchases/Payments.php deleted file mode 100644 index d60550006..000000000 --- a/app/Exports/Purchases/Payments.php +++ /dev/null @@ -1,51 +0,0 @@ -expense()->collectForExport($this->ids, ['paid_at' => 'desc']); - } - - public function map($model): array - { - $model->account_name = $model->account->name; - $model->bill_number = $model->bill->document_number ?? 0; - $model->contact_email = $model->contact->email; - $model->category_name = $model->category->name; - - return parent::map($model); - } - - public function fields(): array - { - return [ - 'paid_at', - 'amount', - 'currency_code', - 'currency_rate', - 'account_name', - 'bill_number', - 'contact_email', - 'category_name', - 'description', - 'payment_method', - 'reference', - 'reconciled', - ]; - } - - public function columnFormats(): array - { - return [ - 'A' => NumberFormat::FORMAT_DATE_YYYYMMDD, - ]; - } -} diff --git a/app/Exports/Purchases/Sheets/BillTransactions.php b/app/Exports/Purchases/Sheets/BillTransactions.php index c0ea7d917..c70b0e48b 100644 --- a/app/Exports/Purchases/Sheets/BillTransactions.php +++ b/app/Exports/Purchases/Sheets/BillTransactions.php @@ -26,6 +26,7 @@ class BillTransactions extends Export implements WithColumnFormatting $model->account_name = $model->account->name; $model->category_name = $model->category->name; $model->contact_email = $model->contact->email; + $model->transaction_number = $model->number; return parent::map($model); } @@ -34,6 +35,7 @@ class BillTransactions extends Export implements WithColumnFormatting { return [ 'bill_number', + 'transaction_number', 'paid_at', 'amount', 'currency_code', diff --git a/app/Exports/Purchases/Sheets/Bills.php b/app/Exports/Purchases/Sheets/Bills.php index d903b8cee..14afd2526 100644 --- a/app/Exports/Purchases/Sheets/Bills.php +++ b/app/Exports/Purchases/Sheets/Bills.php @@ -11,7 +11,7 @@ class Bills extends Export implements WithColumnFormatting { public function collection() { - return Model::with('category')->bill()->collectForExport($this->ids, ['document_number' => 'desc']); + return Model::with('category')->bill()->isNotRecurring()->collectForExport($this->ids, ['document_number' => 'desc']); } public function map($model): array diff --git a/app/Exports/Sales/Revenues.php b/app/Exports/Sales/Revenues.php deleted file mode 100644 index da284b120..000000000 --- a/app/Exports/Sales/Revenues.php +++ /dev/null @@ -1,51 +0,0 @@ -income()->collectForExport($this->ids, ['paid_at' => 'desc']); - } - - public function map($model): array - { - $model->account_name = $model->account->name; - $model->invoice_number = $model->invoice->document_number ?? 0; - $model->contact_email = $model->contact->email; - $model->category_name = $model->category->name; - - return parent::map($model); - } - - public function fields(): array - { - return [ - 'paid_at', - 'amount', - 'currency_code', - 'currency_rate', - 'account_name', - 'invoice_number', - 'contact_email', - 'category_name', - 'description', - 'payment_method', - 'reference', - 'reconciled', - ]; - } - - public function columnFormats(): array - { - return [ - 'A' => NumberFormat::FORMAT_DATE_YYYYMMDD, - ]; - } -} diff --git a/app/Exports/Sales/Sheets/InvoiceTransactions.php b/app/Exports/Sales/Sheets/InvoiceTransactions.php index 5a422ae9d..060fd4ce2 100644 --- a/app/Exports/Sales/Sheets/InvoiceTransactions.php +++ b/app/Exports/Sales/Sheets/InvoiceTransactions.php @@ -26,6 +26,7 @@ class InvoiceTransactions extends Export implements WithColumnFormatting $model->account_name = $model->account->name; $model->category_name = $model->category->name; $model->contact_email = $model->contact->email; + $model->transaction_number = $model->number; return parent::map($model); } @@ -34,6 +35,7 @@ class InvoiceTransactions extends Export implements WithColumnFormatting { return [ 'invoice_number', + 'transaction_number', 'paid_at', 'amount', 'currency_code', diff --git a/app/Exports/Sales/Sheets/Invoices.php b/app/Exports/Sales/Sheets/Invoices.php index b1f45ed8b..bf88d5537 100644 --- a/app/Exports/Sales/Sheets/Invoices.php +++ b/app/Exports/Sales/Sheets/Invoices.php @@ -11,7 +11,7 @@ class Invoices extends Export implements WithColumnFormatting { public function collection() { - return Model::with('category')->invoice()->collectForExport($this->ids, ['document_number' => 'desc']); + return Model::with('category')->invoice()->isNotRecurring()->collectForExport($this->ids, ['document_number' => 'desc']); } public function map($model): array diff --git a/app/Exports/Settings/Taxes.php b/app/Exports/Settings/Taxes.php new file mode 100644 index 000000000..92057dd89 --- /dev/null +++ b/app/Exports/Settings/Taxes.php @@ -0,0 +1,24 @@ +ids); + } + + public function fields(): array + { + return [ + 'name', + 'type', + 'rate', + 'enabled', + ]; + } +} diff --git a/app/Http/Controllers/Api/Auth/Permissions.php b/app/Http/Controllers/Api/Auth/Permissions.php deleted file mode 100644 index 76b242ae5..000000000 --- a/app/Http/Controllers/Api/Auth/Permissions.php +++ /dev/null @@ -1,81 +0,0 @@ -response->paginator($permissions, new Transformer()); - } - - /** - * Display the specified resource. - * - * @param Permission $permission - * @return \Dingo\Api\Http\Response - */ - public function show(Permission $permission) - { - return $this->item($permission, new Transformer()); - } - - /** - * Store a newly created resource in storage. - * - * @param $request - * @return \Dingo\Api\Http\Response - */ - public function store(Request $request) - { - $permission = $this->dispatch(new CreatePermission($request)); - - return $this->response->created(route('api.permissions.show', $permission->id), $this->item($permission, new Transformer())); - } - - /** - * Update the specified resource in storage. - * - * @param $permission - * @param $request - * @return \Dingo\Api\Http\Response - */ - public function update(Permission $permission, Request $request) - { - $permission = $this->dispatch(new UpdatePermission($permission, $request)); - - return $this->item($permission->fresh(), new Transformer()); - } - - /** - * Remove the specified resource from storage. - * - * @param Permission $permission - * @return \Dingo\Api\Http\Response - */ - public function destroy(Permission $permission) - { - try { - $this->dispatch(new DeletePermission($permission)); - - return $this->response->noContent(); - } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); - } - } -} diff --git a/app/Http/Controllers/Api/Auth/Roles.php b/app/Http/Controllers/Api/Auth/Roles.php deleted file mode 100644 index fc88fc5ab..000000000 --- a/app/Http/Controllers/Api/Auth/Roles.php +++ /dev/null @@ -1,81 +0,0 @@ -collect(); - - return $this->response->paginator($roles, new Transformer()); - } - - /** - * Display the specified resource. - * - * @param Role $role - * @return \Dingo\Api\Http\Response - */ - public function show(Role $role) - { - return $this->item($role, new Transformer()); - } - - /** - * Store a newly created resource in storage. - * - * @param $request - * @return \Dingo\Api\Http\Response - */ - public function store(Request $request) - { - $role = $this->dispatch(new CreateRole($request)); - - return $this->response->created(route('api.roles.show', $role->id), $this->item($role, new Transformer())); - } - - /** - * Update the specified resource in storage. - * - * @param $role - * @param $request - * @return \Dingo\Api\Http\Response - */ - public function update(Role $role, Request $request) - { - $role = $this->dispatch(new UpdateRole($role, $request)); - - return $this->item($role->fresh(), new Transformer()); - } - - /** - * Remove the specified resource from storage. - * - * @param Role $role - * @return \Dingo\Api\Http\Response - */ - public function destroy(Role $role) - { - try { - $this->dispatch(new DeleteRole($role)); - - return $this->response->noContent(); - } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); - } - } -} diff --git a/app/Http/Controllers/Api/Auth/Users.php b/app/Http/Controllers/Api/Auth/Users.php index 0610b6c64..3ab71a555 100644 --- a/app/Http/Controllers/Api/Auth/Users.php +++ b/app/Http/Controllers/Api/Auth/Users.php @@ -4,31 +4,32 @@ namespace App\Http\Controllers\Api\Auth; use App\Abstracts\Http\ApiController; use App\Http\Requests\Auth\User as Request; +use App\Http\Resources\Auth\User as Resource; use App\Jobs\Auth\CreateUser; use App\Jobs\Auth\DeleteUser; use App\Jobs\Auth\UpdateUser; use App\Models\Auth\User; -use App\Transformers\Auth\User as Transformer; class Users extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $users = User::with('companies', 'permissions', 'roles')->collect(); - return $this->response->paginator($users, new Transformer()); + return Resource::collection($users); } /** * Display the specified resource. * * @param int|string $id - * @return \Dingo\Api\Http\Response + * + * @return \Illuminate\Http\JsonResponse */ public function show($id) { @@ -39,20 +40,21 @@ class Users extends ApiController $user = User::with('companies', 'permissions', 'roles')->where('email', $id)->first(); } - return $this->item($user, new Transformer()); + return new Resource($user); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $user = $this->dispatch(new CreateUser($request)); - return $this->response->created(route('api.users.show', $user->id), $this->item($user, new Transformer())); + return $this->created(route('api.users.show', $user->id), new Resource($user)); } /** @@ -60,55 +62,60 @@ class Users extends ApiController * * @param $user * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(User $user, Request $request) { $user = $this->dispatch(new UpdateUser($user, $request)); - return $this->item($user->fresh(), new Transformer()); + return new Resource($user->fresh()); } /** * Enable the specified resource in storage. * * @param User $user - * @return \Dingo\Api\Http\Response + * + * @return \Illuminate\Http\JsonResponse */ public function enable(User $user) { $user = $this->dispatch(new UpdateUser($user, request()->merge(['enabled' => 1]))); - return $this->item($user->fresh(), new Transformer()); + return new Resource($user->fresh()); } /** * Disable the specified resource in storage. * * @param User $user - * @return \Dingo\Api\Http\Response + * + * @return \Illuminate\Http\JsonResponse */ public function disable(User $user) { $user = $this->dispatch(new UpdateUser($user, request()->merge(['enabled' => 0]))); - return $this->item($user->fresh(), new Transformer()); + return new Resource($user->fresh()); } /** * Remove the specified resource from storage. * * @param User $user - * @return \Dingo\Api\Http\Response + * + * @throws \Symfony\Component\HttpKernel\Exception\HttpException + * + * @return \Illuminate\Http\Response */ public function destroy(User $user) { try { $this->dispatch(new DeleteUser($user)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Banking/Accounts.php b/app/Http/Controllers/Api/Banking/Accounts.php index 6471ef077..a1b6b982a 100644 --- a/app/Http/Controllers/Api/Banking/Accounts.php +++ b/app/Http/Controllers/Api/Banking/Accounts.php @@ -4,31 +4,31 @@ namespace App\Http\Controllers\Api\Banking; use App\Abstracts\Http\ApiController; use App\Http\Requests\Banking\Account as Request; +use App\Http\Resources\Banking\Account as Resource; use App\Jobs\Banking\CreateAccount; use App\Jobs\Banking\DeleteAccount; use App\Jobs\Banking\UpdateAccount; use App\Models\Banking\Account; -use App\Transformers\Banking\Account as Transformer; class Accounts extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $accounts = Account::collect(); - return $this->response->paginator($accounts, new Transformer()); + return Resource::collection($accounts); } /** * Display the specified resource. * * @param $id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show($id) { @@ -39,20 +39,20 @@ class Accounts extends ApiController $account = Account::where('number', $id)->first(); } - return $this->item($account, new Transformer()); + return new Resource($account); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $account = $this->dispatch(new CreateAccount($request)); - return $this->response->created(route('api.accounts.show', $account->id), $this->item($account, new Transformer())); + return $this->created(route('api.accounts.show', $account->id), new Resource($account)); } /** @@ -60,16 +60,16 @@ class Accounts extends ApiController * * @param $account * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Account $account, Request $request) { try { $account = $this->dispatch(new UpdateAccount($account, $request)); - return $this->item($account->fresh(), new Transformer()); + return new Resource($account->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -77,29 +77,29 @@ class Accounts extends ApiController * Enable the specified resource in storage. * * @param Account $account - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function enable(Account $account) { $account = $this->dispatch(new UpdateAccount($account, request()->merge(['enabled' => 1]))); - return $this->item($account->fresh(), new Transformer()); + return new Resource($account->fresh()); } /** * Disable the specified resource in storage. * * @param Account $account - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function disable(Account $account) { try { $account = $this->dispatch(new UpdateAccount($account, request()->merge(['enabled' => 0]))); - return $this->item($account->fresh(), new Transformer()); + return new Resource($account->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -107,16 +107,16 @@ class Accounts extends ApiController * Remove the specified resource from storage. * * @param Account $account - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Account $account) { try { $this->dispatch(new DeleteAccount($account)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Banking/Reconciliations.php b/app/Http/Controllers/Api/Banking/Reconciliations.php index e4f2e2936..2d1ad2c58 100644 --- a/app/Http/Controllers/Api/Banking/Reconciliations.php +++ b/app/Http/Controllers/Api/Banking/Reconciliations.php @@ -4,48 +4,48 @@ namespace App\Http\Controllers\Api\Banking; use App\Abstracts\Http\ApiController; use App\Http\Requests\Banking\Reconciliation as Request; +use App\Http\Resources\Banking\Reconciliation as Resource; use App\Jobs\Banking\CreateReconciliation; use App\Jobs\Banking\DeleteReconciliation; use App\Jobs\Banking\UpdateReconciliation; use App\Models\Banking\Reconciliation; -use App\Transformers\Banking\Reconciliation as Transformer; class Reconciliations extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { - $items = Reconciliation::with('account')->collect(); + $reconciliations = Reconciliation::with('account')->collect(); - return $this->response->paginator($items, new Transformer()); + return Resource::collection($reconciliations); } /** * Display the specified resource. * * @param $reconciliation - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show(Reconciliation $reconciliation) { - return $this->item($reconciliation, new Transformer()); + return new Resource($reconciliation); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $reconciliation = $this->dispatch(new CreateReconciliation($request)); - return $this->response->created(route('api.reconciliations.show', $reconciliation->id), $this->item($reconciliation, new Transformer())); + return $this->created(route('api.reconciliations.show', $reconciliation->id), new Resource($reconciliation)); } /** @@ -53,29 +53,29 @@ class Reconciliations extends ApiController * * @param $reconciliation * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Reconciliation $reconciliation, Request $request) { $reconciliation = $this->dispatch(new UpdateReconciliation($reconciliation, $request)); - return $this->item($reconciliation->fresh(), new Transformer()); + return new Resource($reconciliation->fresh()); } /** * Remove the specified resource from storage. * * @param Reconciliation $reconciliation - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Reconciliation $reconciliation) { try { $this->dispatch(new DeleteReconciliation($reconciliation)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Banking/Transactions.php b/app/Http/Controllers/Api/Banking/Transactions.php index 6861130ea..bde2c502d 100644 --- a/app/Http/Controllers/Api/Banking/Transactions.php +++ b/app/Http/Controllers/Api/Banking/Transactions.php @@ -4,48 +4,48 @@ namespace App\Http\Controllers\Api\Banking; use App\Abstracts\Http\ApiController; use App\Http\Requests\Banking\Transaction as Request; +use App\Http\Resources\Banking\Transaction as Resource; use App\Jobs\Banking\CreateTransaction; use App\Jobs\Banking\DeleteTransaction; use App\Jobs\Banking\UpdateTransaction; use App\Models\Banking\Transaction; -use App\Transformers\Banking\Transaction as Transformer; class Transactions extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $transactions = Transaction::with('account', 'category', 'contact')->collect(['paid_at'=> 'desc']); - return $this->response->paginator($transactions, new Transformer()); + return Resource::collection($transactions); } /** * Display the specified resource. * * @param Transaction $transaction - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show(Transaction $transaction) { - return $this->item($transaction, new Transformer()); + return new Resource($transaction); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $transaction = $this->dispatch(new CreateTransaction($request)); - return $this->response->created(route('api.transactions.show', $transaction->id), $this->item($transaction, new Transformer())); + return $this->created(route('api.transactions.show', $transaction->id), new Resource($transaction)); } /** @@ -53,29 +53,29 @@ class Transactions extends ApiController * * @param $transaction * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Transaction $transaction, Request $request) { $transaction = $this->dispatch(new UpdateTransaction($transaction, $request)); - return $this->item($transaction->fresh(), new Transformer()); + return new Resource($transaction->fresh()); } /** * Remove the specified resource from storage. * * @param Transaction $transaction - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Transaction $transaction) { try { $this->dispatch(new DeleteTransaction($transaction)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Banking/Transfers.php b/app/Http/Controllers/Api/Banking/Transfers.php index 841926940..e74022a2a 100644 --- a/app/Http/Controllers/Api/Banking/Transfers.php +++ b/app/Http/Controllers/Api/Banking/Transfers.php @@ -4,18 +4,18 @@ namespace App\Http\Controllers\Api\Banking; use App\Abstracts\Http\ApiController; use App\Http\Requests\Banking\Transfer as Request; +use App\Http\Resources\Banking\Transfer as Resource; use App\Jobs\Banking\CreateTransfer; use App\Jobs\Banking\UpdateTransfer; use App\Jobs\Banking\DeleteTransfer; use App\Models\Banking\Transfer; -use App\Transformers\Banking\Transfer as Transformer; class Transfers extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { @@ -51,31 +51,31 @@ class Transfers extends ApiController $transfers->setCollection(collect($items)); } - return $this->response->paginator($transfers, new Transformer()); + return Resource::collection($transfers); } /** * Display the specified resource. * * @param Transfer $transfer - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show(Transfer $transfer) { - return $this->item($transfer, new Transformer()); + return new Resource($transfer); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $transfer = $this->dispatch(new CreateTransfer($request)); - return $this->response->created(route('api.transfers.show', $transfer->id), $this->item($transfer, new Transformer())); + return $this->created(route('api.transfers.show', $transfer->id), new Resource($transfer)); } /** @@ -83,29 +83,29 @@ class Transfers extends ApiController * * @param $transfer * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Transfer $transfer, Request $request) { $transfer = $this->dispatch(new UpdateTransfer($transfer, $request)); - return $this->item($transfer->fresh(), new Transformer()); + return new Resource($transfer->fresh()); } /** * Remove the specified resource from storage. * * @param Transfer $transfer - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Transfer $transfer) { try { $this->dispatch(new DeleteTransfer($transfer)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Common/Companies.php b/app/Http/Controllers/Api/Common/Companies.php index 022b09842..98c7cf0c8 100644 --- a/app/Http/Controllers/Api/Common/Companies.php +++ b/app/Http/Controllers/Api/Common/Companies.php @@ -4,13 +4,13 @@ namespace App\Http\Controllers\Api\Common; use App\Abstracts\Http\ApiController; use App\Http\Requests\Common\Company as Request; +use App\Http\Resources\Common\Company as Resource; use App\Jobs\Common\CreateCompany; use App\Jobs\Common\DeleteCompany; use App\Jobs\Common\UpdateCompany; use App\Models\Common\Company; -use App\Transformers\Common\Company as Transformer; use App\Traits\Users; -use Dingo\Api\Http\Response; +use Illuminate\Http\Response; class Companies extends ApiController { @@ -19,20 +19,20 @@ class Companies extends ApiController /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $companies = user()->companies()->collect(); - return $this->response->paginator($companies, new Transformer()); + return Resource::collection($companies); } /** * Display the specified resource. * * @param Company $company - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show(Company $company) { @@ -40,9 +40,9 @@ class Companies extends ApiController // Check if user can access company $this->canAccess($company); - return $this->item($company, new Transformer()); + return new Resource($company); } catch (\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -50,13 +50,13 @@ class Companies extends ApiController * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $company = $this->dispatch(new CreateCompany($request)); - return $this->response->created(route('api.companies.show', $company->id), $this->item($company, new Transformer())); + return $this->created(route('api.companies.show', $company->id), new Resource($company)); } /** @@ -64,16 +64,16 @@ class Companies extends ApiController * * @param $company * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Company $company, Request $request) { try { $company = $this->dispatch(new UpdateCompany($company, $request)); - return $this->item($company->fresh(), new Transformer()); + return new Resource($company->fresh()); } catch (\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -81,16 +81,16 @@ class Companies extends ApiController * Enable the specified resource in storage. * * @param Company $company - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function enable(Company $company) { try { $company = $this->dispatch(new UpdateCompany($company, request()->merge(['enabled' => 1]))); - return $this->item($company->fresh(), new Transformer()); + return new Resource($company->fresh()); } catch (\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -98,16 +98,16 @@ class Companies extends ApiController * Disable the specified resource in storage. * * @param Company $company - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function disable(Company $company) { try { $company = $this->dispatch(new UpdateCompany($company, request()->merge(['enabled' => 0]))); - return $this->item($company->fresh(), new Transformer()); + return new Resource($company->fresh()); } catch (\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -115,16 +115,16 @@ class Companies extends ApiController * Remove the specified resource from storage. * * @param Company $company - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Company $company) { try { $this->dispatch(new DeleteCompany($company)); - return $this->response->noContent(); + return $this->noContent(); } catch (\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -133,16 +133,16 @@ class Companies extends ApiController * * @param Company $company * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function canAccess(Company $company) { - if (!empty($company) && $this->isUserCompany($company->id)) { + if (! empty($company) && $this->isUserCompany($company->id)) { return new Response(''); } $message = trans('companies.error.not_user_company'); - $this->response->errorUnauthorized($message); + $this->errorUnauthorized($message); } } diff --git a/app/Http/Controllers/Api/Common/Contacts.php b/app/Http/Controllers/Api/Common/Contacts.php index 8a5a00790..ad7799b84 100644 --- a/app/Http/Controllers/Api/Common/Contacts.php +++ b/app/Http/Controllers/Api/Common/Contacts.php @@ -4,12 +4,12 @@ namespace App\Http\Controllers\Api\Common; use App\Abstracts\Http\ApiController; use App\Http\Requests\Common\Contact as Request; +use App\Http\Resources\Common\Contact as Resource; use App\Jobs\Common\CreateContact; use App\Jobs\Common\DeleteContact; use App\Jobs\Common\UpdateContact; use App\Models\Common\Contact; use App\Traits\Uploads; -use App\Transformers\Common\Contact as Transformer; class Contacts extends ApiController { @@ -18,20 +18,20 @@ class Contacts extends ApiController /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $contacts = Contact::collect(); - return $this->response->paginator($contacts, new Transformer()); + return Resource::collection($contacts); } /** * Display the specified resource. * * @param int|string $id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show($id) { @@ -42,20 +42,20 @@ class Contacts extends ApiController $contact = Contact::where('email', $id)->first(); } - return $this->item($contact, new Transformer()); + return new Resource($contact); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $contact = $this->dispatch(new CreateContact($request)); - return $this->response->created(route('api.contacts.show', $contact->id), $this->item($contact, new Transformer())); + return $this->created(route('api.contacts.show', $contact->id), new Resource($contact)); } /** @@ -63,42 +63,42 @@ class Contacts extends ApiController * * @param $contact * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Contact $contact, Request $request) { $contact = $this->dispatch(new UpdateContact($contact, $request)); - return $this->item($contact->fresh(), new Transformer()); + return new Resource($contact->fresh()); } /** * Enable the specified resource in storage. * * @param Contact $contact - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function enable(Contact $contact) { $contact = $this->dispatch(new UpdateContact($contact, request()->merge(['enabled' => 1]))); - return $this->item($contact->fresh(), new Transformer()); + return new Resource($contact->fresh()); } /** * Disable the specified resource in storage. * * @param Contact $contact - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function disable(Contact $contact) { try { $contact = $this->dispatch(new UpdateContact($contact, request()->merge(['enabled' => 0]))); - return $this->item($contact->fresh(), new Transformer()); + return new Resource($contact->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -106,16 +106,16 @@ class Contacts extends ApiController * Remove the specified resource from storage. * * @param Contact $contact - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Contact $contact) { try { $this->dispatch(new DeleteContact($contact)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Common/Dashboards.php b/app/Http/Controllers/Api/Common/Dashboards.php index 0dba14271..30d7bdd1d 100644 --- a/app/Http/Controllers/Api/Common/Dashboards.php +++ b/app/Http/Controllers/Api/Common/Dashboards.php @@ -4,13 +4,13 @@ namespace App\Http\Controllers\Api\Common; use App\Abstracts\Http\ApiController; use App\Http\Requests\Common\Dashboard as Request; +use App\Http\Resources\Common\Dashboard as Resource; use App\Jobs\Common\CreateDashboard; use App\Jobs\Common\DeleteDashboard; use App\Jobs\Common\UpdateDashboard; use App\Models\Common\Dashboard; -use App\Transformers\Common\Dashboard as Transformer; use App\Traits\Users; -use Dingo\Api\Http\Response; +use Illuminate\Http\Response; class Dashboards extends ApiController { @@ -19,20 +19,20 @@ class Dashboards extends ApiController /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $dashboards = user()->dashboards()->with('widgets')->collect(); - return $this->response->paginator($dashboards, new Transformer()); + return Resource::collection($dashboards); } /** * Display the specified resource. * * @param int|string $id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show($id) { @@ -42,9 +42,9 @@ class Dashboards extends ApiController // Check if user can access dashboard $this->canAccess($dashboard); - return $this->item($dashboard, new Transformer()); + return new Resource($dashboard); } catch (\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -52,13 +52,13 @@ class Dashboards extends ApiController * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $dashboard = $this->dispatch(new CreateDashboard($request)); - return $this->response->created(route('api.dashboards.show', $dashboard->id), $this->item($dashboard, new Transformer())); + return $this->created(route('api.dashboards.show', $dashboard->id), new Resource($dashboard)); } /** @@ -66,16 +66,16 @@ class Dashboards extends ApiController * * @param $dashboard * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Dashboard $dashboard, Request $request) { try { $dashboard = $this->dispatch(new UpdateDashboard($dashboard, $request)); - return $this->item($dashboard->fresh(), new Transformer()); + return new Resource($dashboard->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -83,16 +83,16 @@ class Dashboards extends ApiController * Enable the specified resource in storage. * * @param Dashboard $dashboard - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function enable(Dashboard $dashboard) { try { $dashboard = $this->dispatch(new UpdateDashboard($dashboard, request()->merge(['enabled' => 1]))); - return $this->item($dashboard->fresh(), new Transformer()); + return new Resource($dashboard->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -100,16 +100,16 @@ class Dashboards extends ApiController * Disable the specified resource in storage. * * @param Dashboard $dashboard - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function disable(Dashboard $dashboard) { try { $dashboard = $this->dispatch(new UpdateDashboard($dashboard, request()->merge(['enabled' => 0]))); - return $this->item($dashboard->fresh(), new Transformer()); + return new Resource($dashboard->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -117,16 +117,16 @@ class Dashboards extends ApiController * Remove the specified resource from storage. * * @param Dashboard $dashboard - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Dashboard $dashboard) { try { $this->dispatch(new DeleteDashboard($dashboard)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -135,7 +135,7 @@ class Dashboards extends ApiController * * @param Dashboard $dashboard * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function canAccess($dashboard) { @@ -145,6 +145,6 @@ class Dashboards extends ApiController $message = trans('dashboards.error.not_user_dashboard'); - $this->response->errorUnauthorized($message); + $this->errorUnauthorized($message); } } diff --git a/app/Http/Controllers/Api/Common/Items.php b/app/Http/Controllers/Api/Common/Items.php index bbe05a16a..bdfc80a76 100644 --- a/app/Http/Controllers/Api/Common/Items.php +++ b/app/Http/Controllers/Api/Common/Items.php @@ -4,50 +4,50 @@ namespace App\Http\Controllers\Api\Common; use App\Abstracts\Http\ApiController; use App\Http\Requests\Common\Item as Request; +use App\Http\Resources\Common\Item as Resource; use App\Jobs\Common\CreateItem; use App\Jobs\Common\DeleteItem; use App\Jobs\Common\UpdateItem; use App\Models\Common\Item; -use App\Transformers\Common\Item as Transformer; class Items extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $items = Item::with('category', 'taxes')->collect(); - return $this->response->paginator($items, new Transformer()); + return Resource::collection($items); } /** * Display the specified resource. * * @param int|string $id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show($id) { $item = Item::with('category', 'taxes')->find($id); - return $this->item($item, new Transformer()); + return new Resource($item); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $item = $this->dispatch(new CreateItem($request)); - return $this->response->created(route('api.items.show', $item->id), $this->item($item, new Transformer())); + return $this->created(route('api.items.show', $item->id), new Resource($item)); } /** @@ -55,55 +55,55 @@ class Items extends ApiController * * @param $item * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Item $item, Request $request) { $item = $this->dispatch(new UpdateItem($item, $request)); - return $this->item($item->fresh(), new Transformer()); + return new Resource($item->fresh()); } /** * Enable the specified resource in storage. * * @param Item $item - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function enable(Item $item) { $item = $this->dispatch(new UpdateItem($item, request()->merge(['enabled' => 1]))); - return $this->item($item->fresh(), new Transformer()); + return new Resource($item->fresh()); } /** * Disable the specified resource in storage. * * @param Item $item - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function disable(Item $item) { $item = $this->dispatch(new UpdateItem($item, request()->merge(['enabled' => 0]))); - return $this->item($item->fresh(), new Transformer()); + return new Resource($item->fresh()); } /** * Remove the specified resource from storage. * * @param Item $item - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Item $item) { try { $this->dispatch(new DeleteItem($item)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Common/Ping.php b/app/Http/Controllers/Api/Common/Ping.php index be1fd45a9..c0c46adae 100644 --- a/app/Http/Controllers/Api/Common/Ping.php +++ b/app/Http/Controllers/Api/Common/Ping.php @@ -3,13 +3,10 @@ namespace App\Http\Controllers\Api\Common; use App\Abstracts\Http\ApiController; -use Date; -use Dingo\Api\Routing\Helpers; +use App\Utilities\Date; class Ping extends ApiController { - use Helpers; - /** * Instantiate a new controller instance. */ @@ -23,9 +20,9 @@ class Ping extends ApiController * * @return \Illuminate\Http\JsonResponse */ - public function index() + public function pong() { - return $this->response->array([ + return response()->json([ 'status' => 'ok', 'timestamp' => Date::now(), ]); diff --git a/app/Http/Controllers/Api/Common/Reports.php b/app/Http/Controllers/Api/Common/Reports.php index 0a402e90b..d8358f504 100644 --- a/app/Http/Controllers/Api/Common/Reports.php +++ b/app/Http/Controllers/Api/Common/Reports.php @@ -4,48 +4,48 @@ namespace App\Http\Controllers\Api\Common; use App\Abstracts\Http\ApiController; use App\Http\Requests\Common\Report as Request; +use App\Http\Resources\Common\Report as Resource; use App\Jobs\Common\CreateReport; use App\Jobs\Common\DeleteReport; use App\Jobs\Common\UpdateReport; use App\Models\Common\Report; -use App\Transformers\Common\Report as Transformer; class Reports extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $reports = Report::collect(); - return $this->response->paginator($reports, new Transformer()); + return Resource::collection($reports); } /** * Display the specified resource. * * @param Report $report - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show(Report $report) { - return $this->item($report, new Transformer()); + return new Resource($report); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $report = $this->dispatch(new CreateReport($request)); - return $this->response->created(route('api.reports.show', $report->id), $this->item($report, new Transformer())); + return $this->created(route('api.reports.show', $report->id), new Resource($report)); } /** @@ -53,29 +53,29 @@ class Reports extends ApiController * * @param $report * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Report $report, Request $request) { $report = $this->dispatch(new UpdateReport($report, $request)); - return $this->item($report->fresh(), new Transformer()); + return new Resource($report->fresh()); } /** * Remove the specified resource from storage. * * @param Report $report - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Report $report) { try { $this->dispatch(new DeleteReport($report)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Common/Translations.php b/app/Http/Controllers/Api/Common/Translations.php index 172de67f7..c3a16a282 100644 --- a/app/Http/Controllers/Api/Common/Translations.php +++ b/app/Http/Controllers/Api/Common/Translations.php @@ -4,7 +4,6 @@ namespace App\Http\Controllers\Api\Common; use App\Abstracts\Http\ApiController; use App\Models\Module\Module; -use Dingo\Api\Http\Response; use Illuminate\Filesystem\Filesystem; use Illuminate\Support\Facades\App; use Illuminate\Support\Str; @@ -16,7 +15,7 @@ class Translations extends ApiController * * @param string $locale * @param string $file - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function file($locale, $file) { @@ -34,7 +33,7 @@ class Translations extends ApiController * Display the specified resource. * * @param string $locale - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function all($locale) { diff --git a/app/Http/Controllers/Api/Document/DocumentTransactions.php b/app/Http/Controllers/Api/Document/DocumentTransactions.php index 59f61f372..d62351fec 100644 --- a/app/Http/Controllers/Api/Document/DocumentTransactions.php +++ b/app/Http/Controllers/Api/Document/DocumentTransactions.php @@ -4,11 +4,11 @@ namespace App\Http\Controllers\Api\Document; use App\Abstracts\Http\ApiController; use App\Http\Requests\Banking\Transaction as Request; +use App\Http\Resources\Banking\Transaction as Resource; use App\Jobs\Banking\CreateBankingDocumentTransaction; use App\Jobs\Banking\DeleteTransaction; use App\Models\Banking\Transaction; use App\Models\Document\Document; -use App\Transformers\Banking\Transaction as Transformer; class DocumentTransactions extends ApiController { @@ -28,13 +28,13 @@ class DocumentTransactions extends ApiController * Display a listing of the resource. * * @param $document_id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index($document_id) { $transactions = Transaction::documentId($document_id)->get(); - return $this->response->collection($transactions, new Transformer()); + return Resource::collection($transactions); } /** @@ -42,13 +42,13 @@ class DocumentTransactions extends ApiController * * @param $document_id * @param $id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show($document_id, $id) { $transaction = Transaction::documentId($document_id)->find($id); - return $this->item($transaction, new Transformer()); + return new Resource($transaction); } /** @@ -56,7 +56,7 @@ class DocumentTransactions extends ApiController * * @param $document_id * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store($document_id, Request $request) { @@ -64,7 +64,7 @@ class DocumentTransactions extends ApiController $transaction = $this->dispatch(new CreateBankingDocumentTransaction($document, $request)); - return $this->response->created(route('api.documents.transactions.show', [$document_id, $transaction->id]), $this->item($transaction, new Transformer())); + return $this->created(route('api.documents.transactions.show', [$document_id, $transaction->id]), new Resource($transaction)); } /** @@ -72,7 +72,7 @@ class DocumentTransactions extends ApiController * * @param $document_id * @param $id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy($document_id, $id) { @@ -80,6 +80,6 @@ class DocumentTransactions extends ApiController $this->dispatch(new DeleteTransaction($transaction)); - return $this->response->noContent(); + return $this->noContent(); } } diff --git a/app/Http/Controllers/Api/Document/Documents.php b/app/Http/Controllers/Api/Document/Documents.php index 032934af8..95c8a635c 100644 --- a/app/Http/Controllers/Api/Document/Documents.php +++ b/app/Http/Controllers/Api/Document/Documents.php @@ -4,31 +4,31 @@ namespace App\Http\Controllers\Api\Document; use App\Abstracts\Http\ApiController; use App\Http\Requests\Document\Document as Request; +use App\Http\Resources\Document\Document as Resource; use App\Jobs\Document\CreateDocument; use App\Jobs\Document\DeleteDocument; use App\Jobs\Document\UpdateDocument; use App\Models\Document\Document; -use App\Transformers\Document\Document as Transformer; class Documents extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $documents = Document::with('contact', 'histories', 'items', 'transactions')->collect(['issued_at'=> 'desc']); - return $this->response->paginator($documents, new Transformer()); + return Resource::collection($documents); } /** * Display the specified resource. * * @param $id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show($id) { @@ -39,7 +39,7 @@ class Documents extends ApiController $document = Document::where('document_number', $id)->first(); } - return $this->item($document, new Transformer()); + return new Resource($document); } /** @@ -47,13 +47,13 @@ class Documents extends ApiController * * @param $request * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $document = $this->dispatch(new CreateDocument($request)); - return $this->response->created(route('api.documents.show', $document->id), $this->item($document, new Transformer())); + return $this->created(route('api.documents.show', $document->id), new Resource($document)); } /** @@ -62,13 +62,13 @@ class Documents extends ApiController * @param $document * @param $request * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Document $document, Request $request) { $document = $this->dispatch(new UpdateDocument($document, $request)); - return $this->item($document->fresh(), new Transformer()); + return new Resource($document->fresh()); } /** @@ -76,16 +76,16 @@ class Documents extends ApiController * * @param Document $document * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Document $document) { try { $this->dispatch(new DeleteDocument($document)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Settings/Categories.php b/app/Http/Controllers/Api/Settings/Categories.php index 35fe3b831..6aea5a64d 100644 --- a/app/Http/Controllers/Api/Settings/Categories.php +++ b/app/Http/Controllers/Api/Settings/Categories.php @@ -4,48 +4,48 @@ namespace App\Http\Controllers\Api\Settings; use App\Abstracts\Http\ApiController; use App\Http\Requests\Setting\Category as Request; +use App\Http\Resources\Setting\Category as Resource; use App\Jobs\Setting\CreateCategory; use App\Jobs\Setting\DeleteCategory; use App\Jobs\Setting\UpdateCategory; use App\Models\Setting\Category; -use App\Transformers\Setting\Category as Transformer; class Categories extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { - $categories = Category::collect(); + $categories = Category::withSubCategory()->collect(); - return $this->response->paginator($categories, new Transformer()); + return Resource::collection($categories); } /** * Display the specified resource. * * @param Category $category - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show(Category $category) { - return $this->item($category, new Transformer()); + return new Resource($category); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $category = $this->dispatch(new CreateCategory($request)); - return $this->response->created(route('api.categories.show', $category->id), $this->item($category, new Transformer())); + return $this->created(route('api.categories.show', $category->id), new Resource($category)); } /** @@ -53,16 +53,16 @@ class Categories extends ApiController * * @param $category * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Category $category, Request $request) { try { $category = $this->dispatch(new UpdateCategory($category, $request)); - return $this->item($category->fresh(), new Transformer()); + return new Resource($category->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -70,29 +70,29 @@ class Categories extends ApiController * Enable the specified resource in storage. * * @param Category $category - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function enable(Category $category) { $category = $this->dispatch(new UpdateCategory($category, request()->merge(['enabled' => 1]))); - return $this->item($category->fresh(), new Transformer()); + return new Resource($category->fresh()); } /** * Disable the specified resource in storage. * * @param Category $category - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function disable(Category $category) { try { $category = $this->dispatch(new UpdateCategory($category, request()->merge(['enabled' => 0]))); - return $this->item($category->fresh(), new Transformer()); + return new Resource($category->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -100,16 +100,16 @@ class Categories extends ApiController * Remove the specified resource from storage. * * @param Category $category - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Category $category) { try { $this->dispatch(new DeleteCategory($category)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Settings/Currencies.php b/app/Http/Controllers/Api/Settings/Currencies.php index f518074c9..a646340df 100644 --- a/app/Http/Controllers/Api/Settings/Currencies.php +++ b/app/Http/Controllers/Api/Settings/Currencies.php @@ -4,31 +4,31 @@ namespace App\Http\Controllers\Api\Settings; use App\Abstracts\Http\ApiController; use App\Http\Requests\Setting\Currency as Request; +use App\Http\Resources\Setting\Currency as Resource; use App\Jobs\Setting\CreateCurrency; use App\Jobs\Setting\DeleteCurrency; use App\Jobs\Setting\UpdateCurrency; use App\Models\Setting\Currency; -use App\Transformers\Setting\Currency as Transformer; class Currencies extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $currencies = Currency::collect(); - return $this->response->paginator($currencies, new Transformer()); + return Resource::collection($currencies); } /** * Display the specified resource. * * @param int|string $id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show($id) { @@ -39,20 +39,20 @@ class Currencies extends ApiController $currency = Currency::where('code', $id)->first(); } - return $this->item($currency, new Transformer()); + return new Resource($currency); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $currency = $this->dispatch(new CreateCurrency($request)); - return $this->response->created(route('api.currencies.show', $currency->id), $this->item($currency, new Transformer())); + return $this->created(route('api.currencies.show', $currency->id), new Resource($currency)); } /** @@ -60,16 +60,16 @@ class Currencies extends ApiController * * @param $currency * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Currency $currency, Request $request) { try { $currency = $this->dispatch(new UpdateCurrency($currency, $request)); - return $this->item($currency->fresh(), new Transformer()); + return new Resource($currency->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -77,29 +77,29 @@ class Currencies extends ApiController * Enable the specified resource in storage. * * @param Currency $currency - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function enable(Currency $currency) { $currency = $this->dispatch(new UpdateCurrency($currency, request()->merge(['enabled' => 1]))); - return $this->item($currency->fresh(), new Transformer()); + return new Resource($currency->fresh()); } /** * Disable the specified resource in storage. * * @param Currency $currency - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function disable(Currency $currency) { try { $currency = $this->dispatch(new UpdateCurrency($currency, request()->merge(['enabled' => 0]))); - return $this->item($currency->fresh(), new Transformer()); + return new Resource($currency->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -107,16 +107,16 @@ class Currencies extends ApiController * Remove the specified resource from storage. * * @param Currency $currency - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Currency $currency) { try { $this->dispatch(new DeleteCurrency($currency)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Api/Settings/Settings.php b/app/Http/Controllers/Api/Settings/Settings.php index 9cc95e6c1..33d091bfa 100644 --- a/app/Http/Controllers/Api/Settings/Settings.php +++ b/app/Http/Controllers/Api/Settings/Settings.php @@ -4,14 +4,11 @@ namespace App\Http\Controllers\Api\Settings; use App\Abstracts\Http\ApiController; use App\Http\Requests\Setting\Setting as Request; +use App\Http\Resources\Setting\Setting as Resource; use App\Models\Setting\Setting; -use App\Transformers\Setting\Setting as Transformer; -use Dingo\Api\Routing\Helpers; class Settings extends ApiController { - use Helpers; - /** * Instantiate a new controller instance. */ @@ -26,20 +23,20 @@ class Settings extends ApiController /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $settings = Setting::all(); - return $this->response->collection($settings, new Transformer()); + return Resource::collection($settings); } /** * Display the specified resource. * * @param int|string $id - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show($id) { @@ -50,20 +47,20 @@ class Settings extends ApiController $setting = Setting::where('key', $id)->first(); } - return $this->item($setting, new Transformer()); + return new Resource($setting); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $setting = Setting::create($request->all()); - return $this->response->created(route('api.settings.show', $setting->id), $this->item($setting, new Transformer())); + return $this->created(route('api.settings.show', $setting->id), new Resource($setting)); } /** @@ -71,25 +68,25 @@ class Settings extends ApiController * * @param $setting * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Setting $setting, Request $request) { $setting->update($request->all()); - return $this->item($setting->fresh(), new Transformer()); + return new Resource($setting->fresh()); } /** * Remove the specified resource from storage. * * @param Setting $setting - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Setting $setting) { $setting->delete(); - return $this->response->noContent(); + return $this->noContent(); } } diff --git a/app/Http/Controllers/Api/Settings/Taxes.php b/app/Http/Controllers/Api/Settings/Taxes.php index 279768643..f98d47ced 100644 --- a/app/Http/Controllers/Api/Settings/Taxes.php +++ b/app/Http/Controllers/Api/Settings/Taxes.php @@ -4,48 +4,48 @@ namespace App\Http\Controllers\Api\Settings; use App\Abstracts\Http\ApiController; use App\Http\Requests\Setting\Tax as Request; +use App\Http\Resources\Setting\Tax as Resource; use App\Jobs\Setting\CreateTax; use App\Jobs\Setting\DeleteTax; use App\Jobs\Setting\UpdateTax; use App\Models\Setting\Tax; -use App\Transformers\Setting\Tax as Transformer; class Taxes extends ApiController { /** * Display a listing of the resource. * - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function index() { $taxes = Tax::collect(); - return $this->response->paginator($taxes, new Transformer()); + return Resource::collection($taxes); } /** * Display the specified resource. * * @param Tax $tax - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function show(Tax $tax) { - return $this->item($tax, new Transformer()); + return new Resource($tax); } /** * Store a newly created resource in storage. * * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $tax = $this->dispatch(new CreateTax($request)); - return $this->response->created(route('api.taxes.show', $tax->id), $this->item($tax, new Transformer())); + return $this->created(route('api.taxes.show', $tax->id), new Resource($tax)); } /** @@ -53,16 +53,16 @@ class Taxes extends ApiController * * @param $tax * @param $request - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function update(Tax $tax, Request $request) { try { $tax = $this->dispatch(new UpdateTax($tax, $request)); - return $this->item($tax->fresh(), new Transformer()); + return new Resource($tax->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -70,29 +70,29 @@ class Taxes extends ApiController * Enable the specified resource in storage. * * @param Tax $tax - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function enable(Tax $tax) { $tax = $this->dispatch(new UpdateTax($tax, request()->merge(['enabled' => 1]))); - return $this->item($tax->fresh(), new Transformer()); + return new Resource($tax->fresh()); } /** * Disable the specified resource in storage. * * @param Tax $tax - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function disable(Tax $tax) { try { $tax = $this->dispatch(new UpdateTax($tax, request()->merge(['enabled' => 0]))); - return $this->item($tax->fresh(), new Transformer()); + return new Resource($tax->fresh()); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } @@ -100,16 +100,16 @@ class Taxes extends ApiController * Remove the specified resource from storage. * * @param Tax $tax - * @return \Dingo\Api\Http\Response + * @return \Illuminate\Http\Response */ public function destroy(Tax $tax) { try { $this->dispatch(new DeleteTax($tax)); - return $this->response->noContent(); + return $this->noContent(); } catch(\Exception $e) { - $this->response->errorUnauthorized($e->getMessage()); + $this->errorUnauthorized($e->getMessage()); } } } diff --git a/app/Http/Controllers/Auth/Login.php b/app/Http/Controllers/Auth/Login.php index 85ce3202a..dfb935499 100644 --- a/app/Http/Controllers/Auth/Login.php +++ b/app/Http/Controllers/Auth/Login.php @@ -36,7 +36,7 @@ class Login extends Controller public function store(Request $request) { // Attempt to login - if (!auth()->attempt($request->only('email', 'password'), $request->get('remember', false))) { + if (! auth()->attempt($request->only('email', 'password'), $request->get('remember', false))) { return response()->json([ 'status' => null, 'success' => false, @@ -51,7 +51,7 @@ class Login extends Controller $user = user(); // Check if user is enabled - if (!$user->enabled) { + if (! $user->enabled) { $this->logout(); return response()->json([ @@ -69,7 +69,7 @@ class Login extends Controller }); // Logout if no company assigned - if (!$company) { + if (! $company) { $this->logout(); return response()->json([ @@ -95,7 +95,7 @@ class Login extends Controller 'status' => null, 'success' => true, 'error' => false, - 'message' => null, + 'message' => trans('auth.login_redirect'), 'data' => null, 'redirect' => url($path), ]); @@ -108,7 +108,7 @@ class Login extends Controller 'status' => null, 'success' => true, 'error' => false, - 'message' => null, + 'message' => trans('auth.login_redirect'), 'data' => null, 'redirect' => redirect()->intended($url)->getTargetUrl(), ]); @@ -128,6 +128,9 @@ class Login extends Controller // Session destroy is required if stored in database if (config('session.driver') == 'database') { $request = app('Illuminate\Http\Request'); + + $request->session()->invalidate(); + $request->session()->regenerateToken(); $request->session()->getHandler()->destroy($request->session()->getId()); } } diff --git a/app/Http/Controllers/Auth/Permissions.php b/app/Http/Controllers/Auth/Permissions.php deleted file mode 100644 index e5f69f113..000000000 --- a/app/Http/Controllers/Auth/Permissions.php +++ /dev/null @@ -1,130 +0,0 @@ -response('auth.permissions.index', compact('permissions')); - } - - /** - * Show the form for creating a new resource. - * - * @return Response - */ - public function create() - { - return view('auth.permissions.create'); - } - - /** - * Store a newly created resource in storage. - * - * @param Request $request - * - * @return Response - */ - public function store(Request $request) - { - $response = $this->ajaxDispatch(new CreatePermission($request)); - - if ($response['success']) { - $response['redirect'] = route('permissions.index'); - - $message = trans('messages.success.added', ['type' => trans_choice('general.permissions', 1)]); - - flash($message)->success(); - } else { - $response['redirect'] = route('permissions.create'); - - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Show the form for editing the specified resource. - * - * @param Permission $permission - * - * @return Response - */ - public function edit(Permission $permission) - { - return view('auth.permissions.edit', compact('permission')); - } - - /** - * Update the specified resource in storage. - * - * @param Permission $permission - * @param Request $request - * - * @return Response - */ - public function update(Permission $permission, Request $request) - { - $response = $this->ajaxDispatch(new UpdatePermission($permission, $request)); - - if ($response['success']) { - $response['redirect'] = route('permissions.index'); - - $message = trans('messages.success.updated', ['type' => $permission->display_name]); - - flash($message)->success(); - } else { - $response['redirect'] = route('permissions.edit', $permission->id); - - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Remove the specified resource from storage. - * - * @param Permission $permission - * - * @return Response - */ - public function destroy(Permission $permission) - { - $response = $this->ajaxDispatch(new DeletePermission($permission)); - - $response['redirect'] = route('permissions.index'); - - if ($response['success']) { - $message = trans('messages.success.deleted', ['type' => $permission->display_name]); - - flash($message)->success(); - } else { - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } -} diff --git a/app/Http/Controllers/Auth/Register.php b/app/Http/Controllers/Auth/Register.php new file mode 100644 index 000000000..808cbce1f --- /dev/null +++ b/app/Http/Controllers/Auth/Register.php @@ -0,0 +1,84 @@ +middleware('guest'); + } + + public function create($token) + { + $invitation = UserInvitation::token($token)->first(); + + if ($invitation) { + return view('auth.register.create', ['token' => $token]); + } + + abort(403); + } + + public function store(Request $request) + { + $invitation = UserInvitation::token($request->get('token'))->first(); + + $user = $invitation->user; + + $this->dispatch(new DeleteInvitation($invitation)); + + event(new Registered($user)); + + if ($response = $this->registered($request, $user)) { + return $response; + } + } + + /** + * The user has been registered. + * + * @param \Illuminate\Http\Request $request + * @param mixed $user + * @return mixed + */ + protected function registered(Request $request, $user) + { + $user->forceFill([ + 'password' => $request->password, + 'remember_token' => Str::random(60), + ])->save(); + + $this->guard()->login($user); + + $message = trans('messages.success.connected', ['type' => trans_choice('general.users', 1)]); + + flash($message)->success(); + + return response()->json([ + 'redirect' => url($this->redirectPath()), + ]); + } +} diff --git a/app/Http/Controllers/Auth/Reset.php b/app/Http/Controllers/Auth/Reset.php index 21e349582..993e3e736 100644 --- a/app/Http/Controllers/Auth/Reset.php +++ b/app/Http/Controllers/Auth/Reset.php @@ -90,7 +90,7 @@ class Reset extends Controller }); // Logout if no company assigned - if (!$company) { + if (! $company) { $this->guard()->logout(); return response()->json([ diff --git a/app/Http/Controllers/Auth/Roles.php b/app/Http/Controllers/Auth/Roles.php deleted file mode 100644 index 5af5cf09b..000000000 --- a/app/Http/Controllers/Auth/Roles.php +++ /dev/null @@ -1,155 +0,0 @@ -response('auth.roles.index', compact('roles')); - } - - /** - * Show the form for viewing the specified resource. - * - * @return Response - */ - public function show() - { - return redirect()->route('roles.index'); - } - - /** - * Show the form for creating a new resource. - * - * @return Response - */ - public function create() - { - $permissions = []; - $actions = ['read', 'create', 'update', 'delete']; - - foreach ($actions as $action) { - $permissions[$action] = Permission::action($action)->get()->sortBy('title')->all(); - } - - return view('auth.roles.create', compact('actions', 'permissions')); - } - - /** - * Store a newly created resource in storage. - * - * @param Request $request - * - * @return Response - */ - public function store(Request $request) - { - $response = $this->ajaxDispatch(new CreateRole($request)); - - if ($response['success']) { - $response['redirect'] = route('roles.index'); - - $message = trans('messages.success.added', ['type' => trans_choice('general.roles', 1)]); - - flash($message)->success(); - } else { - $response['redirect'] = route('roles.create'); - - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Show the form for editing the specified resource. - * - * @param Role $role - * - * @return Response - */ - public function edit(Role $role) - { - $permissions = []; - $actions = ['read', 'create', 'update', 'delete']; - - foreach ($actions as $action) { - $permissions[$action] = Permission::action($action)->get()->sortBy('title')->all(); - } - - return view('auth.roles.edit', compact('role', 'actions', 'permissions')); - } - - /** - * Update the specified resource in storage. - * - * @param Role $role - * @param Request $request - * - * @return Response - */ - public function update(Role $role, Request $request) - { - $response = $this->ajaxDispatch(new UpdateRole($role, $request)); - - if ($response['success']) { - $response['redirect'] = route('roles.index'); - - $message = trans('messages.success.updated', ['type' => $role->display_name]); - - flash($message)->success(); - } else { - $response['redirect'] = route('roles.edit', $role->id); - - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Remove the specified resource from storage. - * - * @param Role $role - * - * @return Response - */ - public function destroy(Role $role) - { - $response = $this->ajaxDispatch(new DeleteRole($role)); - - $response['redirect'] = route('roles.index'); - - if ($response['success']) { - $message = trans('messages.success.deleted', ['type' => $role->display_name]); - - flash($message)->success(); - } else { - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } -} diff --git a/app/Http/Controllers/Auth/Users.php b/app/Http/Controllers/Auth/Users.php index d006b8d34..65ede27f9 100644 --- a/app/Http/Controllers/Auth/Users.php +++ b/app/Http/Controllers/Auth/Users.php @@ -5,17 +5,19 @@ namespace App\Http\Controllers\Auth; use App\Abstracts\Http\Controller; use App\Events\Auth\LandingPageShowing; use App\Http\Requests\Auth\User as Request; +use App\Jobs\Auth\CreateInvitation; use App\Jobs\Auth\CreateUser; use App\Jobs\Auth\DeleteUser; use App\Jobs\Auth\UpdateUser; -use App\Models\Auth\User; use App\Models\Auth\Role; +use App\Models\Auth\User; +use App\Traits\Cloud; use App\Traits\Uploads; use Illuminate\Http\Request as BaseRequest; class Users extends Controller { - use Uploads; + use Cloud, Uploads; public function __construct() { @@ -66,11 +68,13 @@ class Users extends Controller $roles = Role::all()->reject(function ($r) { return $r->hasPermission('read-client-portal'); - }); + })->pluck('display_name', 'id'); $companies = user()->companies()->take(setting('default.select_limit'))->get()->sortBy('name')->pluck('name', 'id'); - return view('auth.users.create', compact('roles', 'companies', 'landing_pages')); + $roles_url = $this->getCloudRolesPageUrl(); + + return view('auth.users.create', compact('roles', 'companies', 'landing_pages', 'roles_url')); } /** @@ -87,7 +91,7 @@ class Users extends Controller if ($response['success']) { $response['redirect'] = route('users.index'); - $message = trans('messages.success.added', ['type' => trans_choice('general.users', 1)]); + $message = trans('messages.success.invited', ['type' => trans_choice('general.users', 1)]); flash($message)->success(); } else { @@ -125,29 +129,33 @@ class Users extends Controller // Show only roles with customer permission $roles = Role::all()->reject(function ($r) { return !$r->hasPermission('read-client-portal'); - }); + })->pluck('display_name', 'id'); } else { // Don't show roles with customer permission $roles = Role::all()->reject(function ($r) { return $r->hasPermission('read-client-portal'); - }); + })->pluck('display_name', 'id'); } $companies = user()->companies()->take(setting('default.select_limit'))->get()->sortBy('name')->pluck('name', 'id'); if ($user->company_ids) { - foreach($user->company_ids as $company_id) { + foreach ($user->company_ids as $company_id) { if ($companies->has($company_id)) { continue; } - $company = \App\Models\Common\Company::find($company_id); + $company = company($company_id); $companies->put($company->id, $company->name); } } - return view('auth.users.edit', compact('user', 'companies', 'roles', 'landing_pages')); + $roles_url = $this->getCloudRolesPageUrl(); + + $route = (request()->route()->getName() == 'profile.edit') ? 'profile.update' : 'users.update'; + + return view('auth.users.edit', compact('user', 'companies', 'roles', 'landing_pages', 'roles_url', 'route')); } /** @@ -297,7 +305,7 @@ class Users extends Controller $column = $request['column']; $value = $request['value']; - if (!empty($column) && !empty($value)) { + if (! empty($column) && ! empty($value)) { switch ($column) { case 'id': $user = User::find((int) $value); @@ -310,14 +318,40 @@ class Users extends Controller } $data = $user; - } elseif (!empty($column) && empty($value)) { + } elseif (! empty($column) && empty($value)) { $data = trans('validation.required', ['attribute' => $column]); } return response()->json([ 'errors' => ($user) ? false : true, 'success' => ($user) ? true : false, - 'data' => $data + 'data' => $data, ]); } + + /** + * Process request for reinviting the specified resource. + * + * @param User $user + * + * @return Response + */ + public function invite(User $user) + { + $response = $this->ajaxDispatch(new CreateInvitation($user, company())); + + $response['redirect'] = route('users.index'); + + if ($response['success']) { + $message = trans('messages.success.invited', ['type' => trans_choice('general.users', 1)]); + + flash($message)->success(); + } else { + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } } diff --git a/app/Http/Controllers/Banking/Accounts.php b/app/Http/Controllers/Banking/Accounts.php index 03f3b4e75..b70154893 100644 --- a/app/Http/Controllers/Banking/Accounts.php +++ b/app/Http/Controllers/Banking/Accounts.php @@ -36,7 +36,7 @@ class Accounts extends Controller public function show(Account $account) { // Handle transactions - $transactions = Transaction::with('account', 'category')->where('account_id', $account->id)->collect('paid_at'); + $transactions = Transaction::with('account', 'category')->where('account_id', $account->id)->isNotRecurring()->collect('paid_at'); $transfers = Transfer::with('expense_transaction', 'income_transaction')->get()->filter(function ($transfer) use($account) { if ($transfer->expense_account->id == $account->id || $transfer->income_account->id == $account->id) { @@ -53,6 +53,7 @@ class Accounts extends Controller return view('banking.accounts.show', compact('account', 'transactions', 'transfers')); } + /** * Show the form for creating a new resource. * @@ -60,11 +61,9 @@ class Accounts extends Controller */ public function create() { - $currencies = Currency::enabled()->pluck('name', 'code'); - $currency = Currency::where('code', '=', setting('default.currency'))->first(); - return view('banking.accounts.create', compact('currencies', 'currency')); + return view('banking.accounts.create', compact('currency')); } /** @@ -122,13 +121,11 @@ class Accounts extends Controller */ public function edit(Account $account) { - $currencies = Currency::enabled()->pluck('name', 'code'); - $account->default_account = ($account->id == setting('default.account')) ? 1 : 0; $currency = Currency::where('code', '=', $account->currency_code)->first(); - return view('banking.accounts.edit', compact('account', 'currencies', 'currency')); + return view('banking.accounts.edit', compact('account', 'currency')); } /** @@ -222,18 +219,18 @@ class Accounts extends Controller return response()->json($response); } - public function createRevenue(Account $account) + public function createIncome(Account $account) { $data['account_id'] = $account->id; - return redirect()->route('revenues.create')->withInput($data); + return redirect()->route('transactions.create', ['type' => 'income'])->withInput($data); } - public function createPayment(Account $account) + public function createExpense(Account $account) { $data['account_id'] = $account->id; - return redirect()->route('payments.create')->withInput($data); + return redirect()->route('transactions.create', ['type' => 'expense'])->withInput($data); } public function createTransfer(Account $account) diff --git a/app/Http/Controllers/Banking/Reconciliations.php b/app/Http/Controllers/Banking/Reconciliations.php index 1cab4ff6c..28fd8f03a 100644 --- a/app/Http/Controllers/Banking/Reconciliations.php +++ b/app/Http/Controllers/Banking/Reconciliations.php @@ -11,7 +11,7 @@ use App\Jobs\Banking\UpdateReconciliation; use App\Models\Banking\Account; use App\Models\Banking\Reconciliation; use App\Models\Banking\Transaction; -use Date; +use App\Utilities\Date; class Reconciliations extends Controller { @@ -24,9 +24,7 @@ class Reconciliations extends Controller { $reconciliations = Reconciliation::with('account')->collect(); - $accounts = collect(Account::enabled()->orderBy('name')->pluck('name', 'id')); - - return $this->response('banking.reconciliations.index', compact('reconciliations', 'accounts')); + return $this->response('banking.reconciliations.index', compact('reconciliations')); } /** @@ -46,8 +44,6 @@ class Reconciliations extends Controller */ public function create() { - $accounts = Account::enabled()->pluck('name', 'id'); - $account_id = request('account_id', setting('default.account')); $started_at = request('started_at', Date::now()->firstOfMonth()->toDateString()); $ended_at = request('ended_at', Date::now()->endOfMonth()->toDateString()); @@ -60,7 +56,7 @@ class Reconciliations extends Controller $opening_balance = $this->getOpeningBalance($account, $started_at); - return view('banking.reconciliations.create', compact('accounts', 'account', 'currency', 'opening_balance', 'transactions')); + return view('banking.reconciliations.create', compact('account', 'currency', 'opening_balance', 'transactions')); } /** diff --git a/app/Http/Controllers/Banking/RecurringTransactions.php b/app/Http/Controllers/Banking/RecurringTransactions.php new file mode 100644 index 000000000..6bbcb8c29 --- /dev/null +++ b/app/Http/Controllers/Banking/RecurringTransactions.php @@ -0,0 +1,222 @@ +middleware('permission:create-banking-transactions')->only('create', 'store', 'duplicate', 'import'); + $this->middleware('permission:read-banking-transactions')->only('index', 'show', 'edit', 'export'); + $this->middleware('permission:update-banking-transactions')->only('update', 'enable', 'disable'); + $this->middleware('permission:delete-banking-transactions')->only('destroy'); + } + + /** + * Display a listing of the resource. + * + * @return Response + */ + public function index() + { + $transactions = Transaction::with('category', 'recurring')->isRecurring()->collect(['paid_at'=> 'desc']); + + return $this->response('banking.recurring_transactions.index', compact('transactions')); + } + + /** + * Show the form for viewing the specified resource. + * + * @return Response + */ + public function show(Transaction $recurring_transaction) + { + $recurring_transaction->load(['category', 'recurring', 'children']); + + $title = ($recurring_transaction->type == 'income-recurring') ? trans_choice('general.recurring_incomes', 1) : trans_choice('general.recurring_expenses', 1); + + return view('banking.recurring_transactions.show', compact('recurring_transaction', 'title')); + } + + /** + * Show the form for creating a new resource. + * + * @return Response + */ + public function create() + { + $type = request()->get('type', 'income-recurring'); + $real_type = request()->get('real_type', $this->getRealTypeOfRecurringTransaction($type)); + $contact_type = config('type.transaction.' . $real_type . '.contact_type'); + + $number = $this->getNextTransactionNumber('-recurring'); + + $account_currency_code = Account::where('id', setting('default.account'))->pluck('currency_code')->first(); + + $currency = Currency::where('code', $account_currency_code)->first(); + + return view('banking.recurring_transactions.create', compact( + 'type', + 'real_type', + 'number', + 'contact_type', + 'account_currency_code', + 'currency' + )); + } + + /** + * Store a newly created resource in storage. + * + * @param Request $request + * + * @return Response + */ + public function store(Request $request) + { + $response = $this->ajaxDispatch(new CreateTransaction($request->merge(['paid_at' => $request->get('recurring_started_at')]))); + + if ($response['success']) { + $response['redirect'] = route('recurring-transactions.show', $response['data']->id); + + $message = trans('messages.success.added', ['type' => trans_choice('general.transactions', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = route('recurring-transactions.create'); + + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } + + /** + * Duplicate the specified resource. + * + * @param Transaction $recurring_transaction + * + * @return Response + */ + public function duplicate(Transaction $recurring_transaction) + { + $clone = $recurring_transaction->duplicate(); + + $message = trans('messages.success.duplicated', ['type' => trans_choice('general.transactions', 1)]); + + flash($message)->success(); + + return redirect()->route('recurring-transactions.edit', $clone->id); + } + + /** + * Show the form for editing the specified resource. + * + * @param Transaction $recurring_transaction + * + * @return Response + */ + public function edit(Transaction $recurring_transaction) + { + $type = $recurring_transaction->type; + $real_type = request()->get('real_type', $this->getRealTypeOfRecurringTransaction($type)); + $contact_type = config('type.transaction.' . $real_type . '.contact_type'); + + $number = $this->getNextTransactionNumber('-recurring'); + + $currency = Currency::where('code', $recurring_transaction->currency_code)->first(); + + $date_format = $this->getCompanyDateFormat(); + + return view('banking.recurring_transactions.edit', compact( + 'type', + 'real_type', + 'number', + 'contact_type', + 'recurring_transaction', + 'currency', + 'date_format' + )); + } + + /** + * Update the specified resource in storage. + * + * @param Transaction $recurring_transaction + * @param Request $request + * + * @return Response + */ + public function update(Transaction $recurring_transaction, Request $request) + { + $response = $this->ajaxDispatch(new UpdateTransaction($recurring_transaction, $request->merge(['paid_at' => $request->get('recurring_started_at')]))); + + if ($response['success']) { + $response['redirect'] = route('recurring-transactions.show', $recurring_transaction->id); + + $message = trans('messages.success.updated', ['type' => trans_choice('general.transactions', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = route('recurring-transactions.edit', $recurring_transaction->id); + + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } + + /** + * End recurring template. + * + * @return Response + */ + public function end(Transaction $recurring_transaction) + { + $response = $this->ajaxDispatch(new UpdateTransaction($recurring_transaction, [ + 'recurring_frequency' => $recurring_transaction->recurring->frequency, + 'recurring_interval' => $recurring_transaction->recurring->interval, + 'recurring_started_at' => $recurring_transaction->recurring->started_at, + 'recurring_limit' => $recurring_transaction->recurring->limit, + 'recurring_limit_count' => $recurring_transaction->recurring->limit_count, + 'recurring_limit_date' => $recurring_transaction->recurring->limit_date, + 'created_from' => $recurring_transaction->created_from, + 'created_by' => $recurring_transaction->created_by, + 'recurring_status' => Recurring::END_STATUS, + ])); + + if ($response['success']) { + $message = trans('messages.success.ended', ['type' => trans_choice('general.recurring_transactions', 1)]); + + flash($message)->success(); + } else { + $message = $response['message']; + + flash($message)->error()->important(); + } + + return redirect()->route('recurring-transactions.index'); + } +} diff --git a/app/Http/Controllers/Banking/Transactions.php b/app/Http/Controllers/Banking/Transactions.php index 9641dc223..1e8ab4709 100644 --- a/app/Http/Controllers/Banking/Transactions.php +++ b/app/Http/Controllers/Banking/Transactions.php @@ -3,16 +3,31 @@ namespace App\Http\Controllers\Banking; use App\Abstracts\Http\Controller; +use App\Events\Banking\TransactionPrinting; +use App\Events\Banking\TransactionSent; use App\Exports\Banking\Transactions as Export; +use App\Http\Requests\Banking\Transaction as Request; +use App\Http\Requests\Banking\TransactionConnect; use App\Http\Requests\Common\Import as ImportRequest; use App\Imports\Banking\Transactions as Import; +use App\Jobs\Banking\CreateTransaction; use App\Jobs\Banking\DeleteTransaction; +use App\Jobs\Banking\MatchBankingDocumentTransaction; +use App\Jobs\Banking\SplitTransaction; +use App\Jobs\Banking\UpdateTransaction; use App\Models\Banking\Account; use App\Models\Banking\Transaction; -use App\Models\Setting\Category; +use App\Models\Document\Document; +use App\Models\Setting\Currency; +use App\Notifications\Banking\Transaction as Notification; +use App\Traits\Currencies; +use App\Traits\DateTime; +use App\Traits\Transactions as TransactionsTrait; class Transactions extends Controller { + use Currencies, DateTime, TransactionsTrait; + /** * Display a listing of the resource. * @@ -20,17 +35,115 @@ class Transactions extends Controller */ public function index() { - $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); + $transactions = Transaction::with('account', 'category', 'contact')->isNotRecurring()->collect(['paid_at'=> 'desc']); - $types = collect(['expense' => trans_choice('general.expenses', 1), 'income' => trans_choice('general.incomes', 1)]) - ->prepend(trans('general.all_type', ['type' => trans_choice('general.types', 2)]), ''); + $totals = [ + 'income' => 0, + 'expense' => 0, + 'profit' => 0, + ]; - $request_type = !request()->has('type') ? ['income', 'expense'] : request('type'); - $categories = Category::enabled()->type($request_type)->orderBy('name')->pluck('name', 'id'); + $transactions->each(function ($transaction) use (&$totals) { + if ($transaction->isNotIncome() && $transaction->isNotExpense()) { + return; + } - $transactions = Transaction::with('account', 'category', 'contact')->collect(['paid_at'=> 'desc']); + $totals[$transaction->type] += $transaction->getAmountConvertedToDefault(); + }); - return $this->response('banking.transactions.index', compact('transactions', 'accounts', 'types', 'categories')); + $totals['profit'] = $totals['income'] - $totals['expense']; + + $translations = $this->getTranslationsForConnect('income'); + + return $this->response('banking.transactions.index', compact( + 'transactions', + 'translations', + 'totals' + )); + } + + /** + * Show the form for viewing the specified resource. + * + * @return Response + */ + public function show(Transaction $transaction) + { + $title = ($transaction->type == 'income') ? trans_choice('general.receipts', 1) : trans('transactions.payment_made'); + + return view('banking.transactions.show', compact('transaction', 'title')); + } + + /** + * Show the form for creating a new resource. + * + * @return Response + */ + public function create() + { + $type = request()->get('type', 'income'); + + $number = $this->getNextTransactionNumber(); + + $contact_type = config('type.transaction.' . $type . '.contact_type'); + + $account_currency_code = Account::where('id', setting('default.account'))->pluck('currency_code')->first(); + + $currency = Currency::where('code', $account_currency_code)->first(); + + return view('banking.transactions.create', compact( + 'type', + 'number', + 'contact_type', + 'account_currency_code', + 'currency' + )); + } + + /** + * Store a newly created resource in storage. + * + * @param Request $request + * + * @return Response + */ + public function store(Request $request) + { + $response = $this->ajaxDispatch(new CreateTransaction($request)); + + if ($response['success']) { + $response['redirect'] = route('transactions.show', $response['data']->id); + + $message = trans('messages.success.added', ['type' => trans_choice('general.transactions', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = route('transactions.create'); + + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } + + /** + * Duplicate the specified resource. + * + * @param Transaction $transaction + * + * @return Response + */ + public function duplicate(Transaction $transaction) + { + $clone = $transaction->duplicate(); + + $message = trans('messages.success.duplicated', ['type' => trans_choice('general.transactions', 1)]); + + flash($message)->success(); + + return redirect()->route('transactions.edit', $clone->id); } /** @@ -57,6 +170,60 @@ class Transactions extends Controller return response()->json($response); } + /** + * Show the form for editing the specified resource. + * + * @param Transaction $transaction + * + * @return Response + */ + public function edit(Transaction $transaction) + { + $type = $transaction->type; + $contact_type = config('type.transaction.' . $type . '.contact_type'); + + $currency = Currency::where('code', $transaction->currency_code)->first(); + + $date_format = $this->getCompanyDateFormat(); + + return view('banking.transactions.edit', compact( + 'type', + 'contact_type', + 'transaction', + 'currency', + 'date_format' + )); + } + + /** + * Update the specified resource in storage. + * + * @param Transaction $transaction + * @param Request $request + * + * @return Response + */ + public function update(Transaction $transaction, Request $request) + { + $response = $this->ajaxDispatch(new UpdateTransaction($transaction, $request)); + + if ($response['success']) { + $response['redirect'] = route('transactions.show', $transaction->id); + + $message = trans('messages.success.updated', ['type' => trans_choice('general.transactions', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = route('transactions.edit', $transaction->id); + + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } + /** * Remove the specified resource from storage. * @@ -92,4 +259,100 @@ class Transactions extends Controller { return $this->exportExcel(new Export, trans_choice('general.transactions', 2)); } + + /** + * Download the PDF file of transaction. + * + * @param Transaction $transaction + * + * @return Response + */ + public function emailTransaction(Transaction $transaction) + { + if (empty($transaction->contact->email)) { + return redirect()->back(); + } + + // Notify the customer/vendor + $transaction->contact->notify(new Notification($transaction, config('type.transaction.' . $transaction->type . '.email_template'), true)); + + event(new TransactionSent($transaction)); + + flash(trans('documents.messages.email_sent', ['type' => trans_choice('general.transactions', 1)]))->success(); + + return redirect()->back(); + } + + /** + * Print the transaction. + * + * @param Transaction $transaction + * + * @return Response + */ + public function printTransaction(Transaction $transaction) + { + event(new TransactionPrinting($transaction)); + + $view = view('banking.transactions.print_default', compact('transaction')); + + return mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); + } + + /** + * Download the PDF file of transaction. + * + * @param Transaction $transaction + * + * @return Response + */ + public function pdfTransaction(Transaction $transaction) + { + event(new TransactionPrinting($transaction)); + + $currency_style = true; + + $view = view('banking.transactions.print_default', compact('transaction', 'currency_style'))->render(); + $html = mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); + + $pdf = app('dompdf.wrapper'); + $pdf->loadHTML($html); + + //$pdf->setPaper('A4', 'portrait'); + + $file_name = $this->getTransactionFileName($transaction); + + return $pdf->download($file_name); + } + + public function connect(Transaction $transaction, TransactionConnect $request) + { + $total_items = count($request->data['items']); + + if ($total_items == 1) { + $document = Document::find($request->data['items'][0]['document_id']); + + if (!is_null($document)) { + $response = $this->ajaxDispatch(new MatchBankingDocumentTransaction($document, $transaction)); + } + } + + if ($total_items > 1) { + $response = $this->ajaxDispatch(new SplitTransaction($transaction, $request->data)); + } + + $response['redirect'] = route('transactions.index'); + + if ($response['success']) { + $message = trans('messages.success.connected', ['type' => trans_choice('general.transactions', 1)]); + + flash($message)->success(); + } else { + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } } diff --git a/app/Http/Controllers/Banking/Transfers.php b/app/Http/Controllers/Banking/Transfers.php index a5fb9aa48..78118edc3 100644 --- a/app/Http/Controllers/Banking/Transfers.php +++ b/app/Http/Controllers/Banking/Transfers.php @@ -13,8 +13,6 @@ use App\Jobs\Banking\DeleteTransfer; use App\Models\Banking\Account; use App\Models\Banking\Transfer; use App\Models\Setting\Currency; -use App\Utilities\Modules; -use Date; use Illuminate\Support\Str; class Transfers extends Controller @@ -52,13 +50,9 @@ class Transfers extends Controller { $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); - $payment_methods = Modules::getPaymentMethods(); - $currency = Currency::where('code', setting('default.currency'))->first(); - $file_types = $this->prepeareFileTypes(); - - return view('banking.transfers.create', compact('accounts', 'payment_methods', 'currency', 'file_types')); + return view('banking.transfers.create', compact('accounts', 'currency')); } /** @@ -142,15 +136,11 @@ class Transfers extends Controller { $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); - $payment_methods = Modules::getPaymentMethods(); + $currency_code = ($transfer->expense_transaction->account) ? $transfer->expense_transaction->account->currency_code : setting('default.currency'); - $account = $transfer->expense_transaction->account; + $currency = Currency::where('code', $currency_code)->first(); - $currency = Currency::where('code', $account->currency_code)->first(); - - $file_types = $this->prepeareFileTypes(); - - return view('banking.transfers.edit', compact('transfer', 'accounts', 'payment_methods', 'currency', 'file_types')); + return view('banking.transfers.edit', compact('transfer', 'accounts', 'currency')); } /** @@ -259,19 +249,4 @@ class Transfers extends Controller return $pdf->download($file_name); } - - protected function prepeareFileTypes() - { - $file_type_mimes = explode(',', config('filesystems.mimes')); - - $file_types = []; - - foreach ($file_type_mimes as $mime) { - $file_types[] = '.' . $mime; - } - - $file_types = implode(',', $file_types); - - return $file_types; - } } diff --git a/app/Http/Controllers/Common/BulkActions.php b/app/Http/Controllers/Common/BulkActions.php index 28fe4af67..c48298996 100644 --- a/app/Http/Controllers/Common/BulkActions.php +++ b/app/Http/Controllers/Common/BulkActions.php @@ -20,7 +20,9 @@ class BulkActions extends Controller */ public function action($group, $type, Request $request) { - if ($request->get('handle', '*') == '*') { + $handle = $request->get('handle', '*'); + + if ($handle == '*') { return response()->json([ 'success' => false, 'redirect' => true, @@ -32,17 +34,20 @@ class BulkActions extends Controller // Check is module $module = module($group); + $page = ucfirst($type); if ($module instanceof \Akaunting\Module\Module) { $tmp = explode('.', $type); $file_name = !empty($tmp[1]) ? Str::studly($tmp[0]) . '\\' . Str::studly($tmp[1]) : Str::studly($tmp[0]); $bulk_actions = app('Modules\\' . $module->getStudlyName() . '\BulkActions\\' . $file_name); + + $page = ucfirst($file_name); } else { $bulk_actions = app('App\BulkActions\\' . ucfirst($group) . '\\' . ucfirst($type)); } - if (isset($bulk_actions->actions[$request->get('handle')]['permission']) && !user()->can($bulk_actions->actions[$request->get('handle')]['permission'])) { + if (isset($bulk_actions->actions[$handle]['permission']) && !user()->can($bulk_actions->actions[$handle]['permission'])) { flash(trans('errors.message.403'))->error()->important(); return response()->json([ @@ -54,11 +59,21 @@ class BulkActions extends Controller ]); } - $result = $bulk_actions->{$request->get('handle')}($request); + $result = $bulk_actions->{$handle}($request); + + $message = trans($bulk_actions->messages['general'], ['type' => $handle, 'count' => count($request->get('selected'))]); + + if (array_key_exists($handle, $bulk_actions->messages)) { + $message = trans($bulk_actions->messages[$handle], ['type' => $page]); + } + + if (! empty($result) && ($result instanceof \Symfony\Component\HttpFoundation\BinaryFileResponse)) { + flash($message)->success(); - if (!empty($result) && ($result instanceof \Symfony\Component\HttpFoundation\BinaryFileResponse)) { return $result; - } elseif (!empty($result) && ($result instanceof RedirectResponse)) { + } elseif (! empty($result) && ($result instanceof RedirectResponse)) { + flash($message)->success(); + return response()->json([ 'success' => true, 'redirect' => $result->getTargetUrl(), @@ -67,6 +82,8 @@ class BulkActions extends Controller 'message' => '' ]); } else { + flash($message)->success(); + return response()->json([ 'success' => true, 'redirect' => true, diff --git a/app/Http/Controllers/Common/Companies.php b/app/Http/Controllers/Common/Companies.php index 4a1a49738..821a9e53e 100644 --- a/app/Http/Controllers/Common/Companies.php +++ b/app/Http/Controllers/Common/Companies.php @@ -8,7 +8,6 @@ use App\Jobs\Common\CreateCompany; use App\Jobs\Common\DeleteCompany; use App\Jobs\Common\UpdateCompany; use App\Models\Common\Company; -use App\Models\Setting\Currency; use App\Traits\Uploads; use App\Traits\Users; @@ -45,9 +44,7 @@ class Companies extends Controller */ public function create() { - $currencies = Currency::enabled()->pluck('name', 'code'); - - return view('common.companies.create', compact('currencies')); + return view('common.companies.create'); } /** @@ -95,9 +92,7 @@ class Companies extends Controller return redirect()->route('companies.index'); } - $currencies = Currency::enabled()->pluck('name', 'code'); - - return view('common.companies.edit', compact('company', 'currencies')); + return view('common.companies.edit', compact('company')); } /** @@ -214,7 +209,7 @@ class Companies extends Controller event(new \App\Events\Common\CompanySwitched($company, $old_company_id)); // Check wizard - if (!setting('wizard.completed', false)) { + if (! setting('wizard.completed', false)) { return redirect()->route('wizard.edit', ['company_id' => $company->id]); } } diff --git a/app/Http/Controllers/Common/Dashboards.php b/app/Http/Controllers/Common/Dashboards.php index 22f7418dc..28609f41c 100644 --- a/app/Http/Controllers/Common/Dashboards.php +++ b/app/Http/Controllers/Common/Dashboards.php @@ -71,14 +71,16 @@ class Dashboards extends Controller return Widgets::canShow($widget->class); }); + $user_dashboards = user()->dashboards()->enabled()->get(); + $date_picker_shortcuts = $this->getDatePickerShortcuts(); - if (!request()->has('start_date')) { + if (! request()->has('start_date')) { request()->merge(['start_date' => $date_picker_shortcuts[trans('reports.this_year')]['start']]); request()->merge(['end_date' => $date_picker_shortcuts[trans('reports.this_year')]['end']]); } - return view('common.dashboards.show', compact('dashboard', 'widgets', 'date_picker_shortcuts')); + return view('common.dashboards.show', compact('dashboard', 'widgets', 'user_dashboards', 'date_picker_shortcuts')); } /** @@ -88,7 +90,11 @@ class Dashboards extends Controller */ public function create() { - $users = company()->users()->get()->sortBy('name'); + $users = company()->users()->get()->reject(function ($user) { + if ($user->cannot('read-admin-panel')) { + return true; + } + })->sortBy('name'); return view('common.dashboards.create', compact('users')); } @@ -133,7 +139,11 @@ class Dashboards extends Controller return redirect()->route('dashboards.index'); } - $users = company()->users()->get()->sortBy('name'); + $users = company()->users()->get()->reject(function ($user) { + if ($user->cannot('read-admin-panel')) { + return true; + } + })->sortBy('name'); return view('common.dashboards.edit', compact('dashboard', 'users')); } diff --git a/app/Http/Controllers/Common/Import.php b/app/Http/Controllers/Common/Import.php index b0e405581..fd47a6aee 100644 --- a/app/Http/Controllers/Common/Import.php +++ b/app/Http/Controllers/Common/Import.php @@ -38,9 +38,11 @@ class Import extends Controller 'role' => 'form', 'class' => 'form-loading-button', 'novalidate' => true, + 'route' => '', + 'url' => '', ]; - if (!empty($route)) { + if (! empty($route)) { $form_params['route'] = $route; } else { $form_params['url'] = $path . '/import'; diff --git a/app/Http/Controllers/Common/Items.php b/app/Http/Controllers/Common/Items.php index c9907c83c..7a6a244d6 100644 --- a/app/Http/Controllers/Common/Items.php +++ b/app/Http/Controllers/Common/Items.php @@ -6,14 +6,11 @@ use App\Abstracts\Http\Controller; use App\Exports\Common\Items as Export; use App\Http\Requests\Common\Item as Request; use App\Http\Requests\Common\Import as ImportRequest; -use App\Http\Requests\Common\TotalItem as TotalRequest; use App\Imports\Common\Items as Import; use App\Jobs\Common\CreateItem; use App\Jobs\Common\DeleteItem; use App\Jobs\Common\UpdateItem; use App\Models\Common\Item; -use App\Models\Setting\Category; -use App\Models\Setting\Currency; use App\Models\Setting\Tax; use App\Traits\Uploads; @@ -28,7 +25,7 @@ class Items extends Controller */ public function index() { - $items = Item::with('category', 'media')->collect(); + $items = Item::with('category', 'media', 'taxes')->collect(); return $this->response('common.items.index', compact('items')); } @@ -50,11 +47,9 @@ class Items extends Controller */ public function create() { - $categories = Category::item()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - $taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id'); - return view('common.items.create', compact('categories', 'taxes')); + return view('common.items.create', compact('taxes')); } /** @@ -135,15 +130,9 @@ class Items extends Controller */ public function edit(Item $item) { - $categories = Category::item()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - - if ($item->category && !$categories->has($item->category_id)) { - $categories->put($item->category->id, $item->category->name); - } - $taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id'); - return view('common.items.edit', compact('item', 'categories', 'taxes')); + return view('common.items.edit', compact('item', 'taxes')); } /** diff --git a/app/Http/Controllers/Common/Notifications.php b/app/Http/Controllers/Common/Notifications.php deleted file mode 100644 index 0e72e8ab6..000000000 --- a/app/Http/Controllers/Common/Notifications.php +++ /dev/null @@ -1,101 +0,0 @@ -unreadNotifications; - - foreach ($notifications as $notification) { - $notification->markAsRead(); - } - - // Hide New Apps Notifications - $module_notifications = $this->getNotifications('new-apps'); - - foreach ($module_notifications as $module_notification) { - $prefix = 'notifications.' . user()->id . '.' . $module_notification->alias; - - setting()->set([ - $prefix . '.name' => $module_notification->name, - $prefix . '.message' => $module_notification->alias, - $prefix . '.date' => Date::now(), - $prefix . '.status' => '0', - ]); - } - - setting()->save(); - - $message = trans('messages.success.clear_all', ['type' => Str::lower(trans_choice('general.notifications', 2))]); - - flash($message)->success(); - - return redirect()->route('dashboard'); - } - - /** - * Disable the specified resource. - * - * @param Company $company - * - * @return Response - */ - public function disable(Request $request) - { - $id = $request['id']; - $path = str_replace('#', '/', $request['path']); - - $notifications = $this->getNotifications($path); - - foreach ($notifications as $notification) { - if ($notification->id == $id) { - $prefix = 'notifications.' . $path . '.' . $id; - - setting()->set([ - $prefix . '.name' => $notification->name, - $prefix . '.message' => $notification->message, - $prefix . '.date' => Date::now(), - $prefix . '.status' => '0', - ]); - - setting()->save(); - - break; - } - } - - return response()->json([ - 'message' => trans('messages.success.disabled', [ - 'type' => Str::lower(trans_choice('general.notifications', 2)) - ]), - 'success' => true, - 'error' => false, - 'data' => null, - ]); - } -} diff --git a/app/Http/Controllers/Common/Reports.php b/app/Http/Controllers/Common/Reports.php index 1aa468798..59eb20052 100644 --- a/app/Http/Controllers/Common/Reports.php +++ b/app/Http/Controllers/Common/Reports.php @@ -9,7 +9,6 @@ use App\Jobs\Common\DeleteReport; use App\Jobs\Common\UpdateReport; use App\Models\Common\Report; use App\Utilities\Reports as Utility; -use Illuminate\Support\Facades\Cache; class Reports extends Controller { @@ -37,7 +36,7 @@ class Reports extends Controller $reports = Report::orderBy('name')->get(); foreach ($reports as $report) { - if (!Utility::canShow($report->class)) { + if (Utility::cannotShow($report->class)) { continue; } @@ -47,17 +46,20 @@ class Reports extends Controller continue; } - $ttl = 3600 * 6; // 6 hours - - $totals[$report->id] = Cache::remember('reports.totals.' . $report->id, $ttl, function () use ($class) { - return $class->getGrandTotal(); - }); - $icons[$report->id] = $class->getIcon(); - $categories[$class->getCategory()][] = $report; + + if (empty($categories[$class->getCategory()])) { + $categories[$class->getCategory()] = [ + 'name' => $class->getCategory(), + 'description' => $class->getCategoryDescription(), + 'reports' => [$report], + ]; + } else { + $categories[$class->getCategory()]['reports'][] = $report; + } } - return $this->response('common.reports.index', compact('categories', 'totals', 'icons')); + return $this->response('common.reports.index', compact('categories', 'icons')); } /** @@ -68,15 +70,12 @@ class Reports extends Controller */ public function show(Report $report) { - if (!Utility::canShow($report->class)) { + if (Utility::cannotShow($report->class)) { abort(403); } $class = Utility::getClassInstance($report); - // Update cache - Cache::put('reports.totals.' . $report->id, $class->getGrandTotal()); - return $class->show(); } @@ -215,7 +214,7 @@ class Reports extends Controller */ public function print(Report $report) { - if (!Utility::canShow($report->class)) { + if (Utility::cannotShow($report->class)) { abort(403); } @@ -230,7 +229,7 @@ class Reports extends Controller */ public function export(Report $report) { - if (!Utility::canShow($report->class)) { + if (Utility::cannotShow($report->class)) { abort(403); } @@ -257,7 +256,7 @@ class Reports extends Controller $fields = (new $class())->getFields(); - $html = view('partials.reports.fields', compact('fields'))->render(); + $html = view('components.reports.fields', compact('fields'))->render(); return response()->json([ 'success' => true, @@ -266,23 +265,4 @@ class Reports extends Controller 'html' => $html, ]); } - - /** - * Clear the cache of the resource. - * - * @return Response - */ - public function clear(Report $report) - { - $data = Utility::getClassInstance($report)->getGrandTotal(); - - Cache::put('reports.totals.' . $report->id, $data); - - return response()->json([ - 'success' => true, - 'error' => false, - 'data' => $data, - 'message' => '', - ]); - } } diff --git a/app/Http/Controllers/Common/Uploads.php b/app/Http/Controllers/Common/Uploads.php index 894f597d7..c29ce9159 100644 --- a/app/Http/Controllers/Common/Uploads.php +++ b/app/Http/Controllers/Common/Uploads.php @@ -82,7 +82,7 @@ class Uploads extends Controller $file = $media; - $html = view('partials.media.file', compact('file', 'column_name', 'options'))->render(); + $html = view('components.media.file', compact('file', 'column_name', 'options'))->render(); return response()->json([ 'success' => true, diff --git a/app/Http/Controllers/Install/Settings.php b/app/Http/Controllers/Install/Settings.php index 3966d9b87..9f646cc9a 100644 --- a/app/Http/Controllers/Install/Settings.php +++ b/app/Http/Controllers/Install/Settings.php @@ -3,9 +3,9 @@ namespace App\Http\Controllers\Install; use App\Http\Requests\Install\Setting as Request; -use App\Http\Requests\Install\Setting; use App\Utilities\Installer; use Illuminate\Routing\Controller; +use Illuminate\Support\Facades\DB; class Settings extends Controller { @@ -22,17 +22,19 @@ class Settings extends Controller /** * Store a newly created resource in storage. * - * @param Setting $request + * @param $request * * @return Response */ - public function store(Setting $request) + public function store(Request $request) { - // Create company - Installer::createCompany($request->get('company_name'), $request->get('company_email'), session('locale')); + DB::transaction(function () use ($request) { + // Create company + Installer::createCompany($request->get('company_name'), $request->get('company_email'), session('locale')); - // Create user - Installer::createUser($request->get('user_email'), $request->get('user_password'), session('locale')); + // Create user + Installer::createUser($request->get('user_email'), $request->get('user_password'), session('locale')); + }); // Make the final touches Installer::finalTouches(); diff --git a/app/Http/Controllers/Modals/Accounts.php b/app/Http/Controllers/Modals/Accounts.php index 4b0162feb..8b31fb474 100644 --- a/app/Http/Controllers/Modals/Accounts.php +++ b/app/Http/Controllers/Modals/Accounts.php @@ -5,7 +5,6 @@ namespace App\Http\Controllers\Modals; use App\Abstracts\Http\Controller; use App\Http\Requests\Banking\Account as Request; use App\Jobs\Banking\CreateAccount; -use App\Models\Banking\Account; use App\Models\Setting\Currency; class Accounts extends Controller @@ -29,11 +28,9 @@ class Accounts extends Controller */ public function create() { - $currencies = Currency::enabled()->pluck('name', 'code'); - $currency = Currency::where('code', '=', setting('default.currency'))->first(); - $html = view('modals.accounts.create', compact('currencies', 'currency'))->render(); + $html = view('modals.accounts.create', compact('currency'))->render(); return response()->json([ 'success' => true, diff --git a/app/Http/Controllers/Modals/Companies.php b/app/Http/Controllers/Modals/Companies.php index ae5f00da6..4e9a7a7ec 100644 --- a/app/Http/Controllers/Modals/Companies.php +++ b/app/Http/Controllers/Modals/Companies.php @@ -14,7 +14,7 @@ class Companies extends Controller { // Add CRUD permission check $this->middleware('permission:read-settings-company')->only('index', 'show', 'edit', 'export'); - $this->middleware('permission:update-settings-settings')->only('update', 'enable', 'disable'); + $this->middleware('permission:update-settings-company')->only('update', 'enable', 'disable'); } /** diff --git a/app/Http/Controllers/Modals/Customers.php b/app/Http/Controllers/Modals/Customers.php index 603b1e0d9..1e5208348 100644 --- a/app/Http/Controllers/Modals/Customers.php +++ b/app/Http/Controllers/Modals/Customers.php @@ -7,7 +7,6 @@ use App\Http\Requests\Common\Contact as Request; use App\Models\Common\Contact; use App\Jobs\Common\CreateContact; use App\Jobs\Common\UpdateContact; -use App\Models\Setting\Currency; class Customers extends Controller { @@ -30,17 +29,13 @@ class Customers extends Controller */ public function create() { - $currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray(); - $contact_selector = false; if (request()->has('contact_selector')) { $contact_selector = request()->get('contact_selector'); } - $rand = rand(); - - $html = view('modals.customers.create', compact('currencies', 'contact_selector', 'rand'))->render(); + $html = view('modals.customers.create', compact('contact_selector'))->render(); return response()->json([ 'success' => true, @@ -80,17 +75,13 @@ class Customers extends Controller */ public function edit(Contact $customer) { - $currencies = Currency::enabled()->pluck('name', 'code'); - $contact_selector = false; if (request()->has('contact_selector')) { $contact_selector = request()->get('contact_selector'); } - $rand = rand(); - - $html = view('modals.customers.edit', compact('customer', 'currencies', 'contact_selector', 'rand'))->render(); + $html = view('modals.customers.edit', compact('customer', 'contact_selector'))->render(); return response()->json([ 'success' => true, diff --git a/app/Http/Controllers/Modals/DocumentItemColumns.php b/app/Http/Controllers/Modals/DocumentItemColumns.php index 7281ce258..d8869956e 100644 --- a/app/Http/Controllers/Modals/DocumentItemColumns.php +++ b/app/Http/Controllers/Modals/DocumentItemColumns.php @@ -15,8 +15,8 @@ class DocumentItemColumns extends Controller public function __construct() { // Add CRUD permission check - $this->middleware('permission:read-settings-settings')->only('index', 'edit'); - $this->middleware('permission:update-settings-settings')->only('update', 'enable', 'disable'); + $this->middleware('permission:read-settings-invoice')->only('index', 'edit'); + $this->middleware('permission:update-settings-invoice')->only('update', 'enable', 'disable'); } /** @@ -31,6 +31,7 @@ class DocumentItemColumns extends Controller $type = request()->get('type', 'invoice'); $item_names = [ + 'hide' => trans('settings.invoice.hide.item_name'), 'settings.invoice.item' => trans('settings.' . $type . '.item'), 'settings.invoice.product' => trans('settings.' . $type . '.product'), 'settings.invoice.service' => trans('settings.' . $type . '.service'), @@ -38,12 +39,14 @@ class DocumentItemColumns extends Controller ]; $price_names = [ + 'hide' => trans('settings.invoice.hide.price'), 'settings.invoice.price' => trans('settings.' . $type . '.price'), 'settings.invoice.rate' => trans('settings.' . $type . '.rate'), 'custom' => trans('settings.invoice.custom'), ]; $quantity_names = [ + 'hide' => trans('settings.invoice.hide.quantity'), 'settings.invoice.quantity' => trans('settings.' . $type . '.quantity'), 'custom' => trans('settings.invoice.custom'), ]; diff --git a/app/Http/Controllers/Modals/DocumentTransactions.php b/app/Http/Controllers/Modals/DocumentTransactions.php index fde3332c1..c493409c8 100644 --- a/app/Http/Controllers/Modals/DocumentTransactions.php +++ b/app/Http/Controllers/Modals/DocumentTransactions.php @@ -5,16 +5,18 @@ namespace App\Http\Controllers\Modals; use App\Abstracts\Http\Controller; use App\Http\Requests\Banking\Transaction as Request; use App\Jobs\Banking\CreateBankingDocumentTransaction; -use App\Models\Banking\Account; +use App\Jobs\Banking\UpdateBankingDocumentTransaction; use App\Models\Banking\Transaction; use App\Models\Document\Document; use App\Models\Setting\Currency; use App\Utilities\Modules; use App\Traits\Uploads; +use App\Traits\Transactions; + class DocumentTransactions extends Controller { - use Uploads; + use Uploads, Transactions; /** * Instantiate a new controller instance. @@ -37,16 +39,12 @@ class DocumentTransactions extends Controller */ public function create(Document $document) { - $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); - - $currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray(); - $currency = Currency::where('code', $document->currency_code)->first(); - $payment_methods = Modules::getPaymentMethods(); - $paid = $document->paid; + $number = $this->getNextTransactionNumber(); + // Get document Totals foreach ($document->totals as $document_total) { $document->{$document_total->code} = $document_total->amount; @@ -56,11 +54,29 @@ class DocumentTransactions extends Controller $document->grand_total = money($total, $currency->code)->getAmount(); - if (!empty($paid)) { + if (! empty($paid)) { $document->grand_total = round($document->total - $paid, $currency->precision); } - $html = view('modals.documents.payment', compact('document', 'accounts', 'currencies', 'currency', 'payment_methods'))->render(); + $buttons = [ + 'cancel' => [ + 'text' => trans('general.cancel'), + 'class' => 'btn-outline-secondary' + ], + 'payment' => [ + 'text' => trans('invoices.accept_payments'), + 'class' => 'long-texts', + 'url' => route('apps.categories.show', 'payment-method') + ], + 'confirm' => [ + 'text' => trans('general.save'), + 'class' => 'disabled:bg-green-100' + ], + ]; + + $route = ['modals.documents.document.transactions.store', $document->id]; + + $html = view('modals.documents.payment', compact('document', 'route', 'currency', 'number'))->render(); return response()->json([ 'success' => true, @@ -69,21 +85,7 @@ class DocumentTransactions extends Controller 'html' => $html, 'data' => [ 'title' => trans('general.title.new', ['type' => trans_choice('general.payments', 1)]), - 'buttons' => [ - 'cancel' => [ - 'text' => trans('general.cancel'), - 'class' => 'btn-outline-secondary' - ], - 'payment' => [ - 'text' => trans('invoices.accept_payments'), - 'class' => 'long-texts', - 'url' => route('apps.categories.show', 'payment-method') - ], - 'confirm' => [ - 'text' => trans('general.save'), - 'class' => 'btn-success' - ] - ] + 'buttons' => $buttons, ] ]); } @@ -101,9 +103,99 @@ class DocumentTransactions extends Controller $response = $this->ajaxDispatch(new CreateBankingDocumentTransaction($document, $request)); if ($response['success']) { - $route = config('type.' . $document->type . '.route.prefix'); + $route = config('type.document.' . $document->type . '.route.prefix'); - if ($alias = config('type.' . $document->type . '.alias')) { + if ($alias = config('type.document.' . $document->type . '.alias')) { + $route = $alias . '.' . $route; + } + + $response['redirect'] = route($route . '.show', $document->id); + + $message = trans('messages.success.added', ['type' => trans_choice('general.payments', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = null; + } + + return response()->json($response); + } + + /** + * Show the form for creating a new resource. + * + * @param Document $document + * + * @return Response + */ + public function edit(Document $document, Transaction $transaction) + { + $currency = Currency::where('code', $document->currency_code)->first(); + + $paid = $document->paid; + + $number = $this->getNextTransactionNumber(); + + // Get document Totals + foreach ($document->totals as $document_total) { + $document->{$document_total->code} = $document_total->amount; + } + + $total = money($document->total, $currency->code, true)->format(); + + $document->grand_total = money($total, $currency->code)->getAmount(); + + if (! empty($paid)) { + $document->grand_total = round($document->total - $paid, $currency->precision); + } + + $buttons = [ + 'cancel' => [ + 'text' => trans('general.cancel'), + 'class' => 'btn-outline-secondary' + ], + 'payment' => [ + 'text' => trans('invoices.accept_payments'), + 'class' => 'long-texts', + 'url' => route('apps.categories.show', 'payment-method') + ], + 'confirm' => [ + 'text' => trans('general.save'), + 'class' => 'disabled:bg-green-100' + ], + ]; + + $route = ['modals.documents.document.transactions.update', $document->id, $transaction->id]; + + $html = view('modals.documents.payment', compact('document', 'transaction', 'route', 'currency', 'number'))->render(); + + return response()->json([ + 'success' => true, + 'error' => false, + 'message' => 'null', + 'html' => $html, + 'data' => [ + 'title' => trans('general.title.edit', ['type' => trans_choice('general.payments', 1)]), + 'buttons' => $buttons, + ] + ]); + } + + /** + * Update the specified resource in storage. + * + * @param $item + * @param $request + * @return Response + */ + public function update(Document $document, Transaction $transaction, Request $request) + { + $response = $this->ajaxDispatch(new UpdateBankingDocumentTransaction($document, $transaction, $request)); + + if ($response['success']) { + $route = config('type.document.' . $document->type . '.route.prefix'); + + if ($alias = config('type.document.' . $document->type . '.alias')) { $route = $alias . '.' . $route; } diff --git a/app/Http/Controllers/Modals/InvoiceEmails.php b/app/Http/Controllers/Modals/InvoiceEmails.php new file mode 100644 index 000000000..ac933be63 --- /dev/null +++ b/app/Http/Controllers/Modals/InvoiceEmails.php @@ -0,0 +1,92 @@ +middleware('permission:create-sales-invoices')->only('create', 'store', 'duplicate', 'import'); + $this->middleware('permission:read-sales-invoices')->only('index', 'show', 'edit', 'export'); + $this->middleware('permission:update-sales-invoices')->only('update', 'enable', 'disable'); + $this->middleware('permission:delete-sales-invoices')->only('destroy'); + } + + /** + * Show the form for creating a new resource. + * + * @param Document $invoice + * + * @return Response + */ + public function create(Document $invoice) + { + $notification = new Notification($invoice, 'invoice_new_customer', true); + + $store_route = 'modals.invoices.emails.store'; + + $html = view('modals.invoices.email', compact('invoice', 'notification', 'store_route'))->render(); + + return response()->json([ + 'success' => true, + 'error' => false, + 'message' => 'null', + 'html' => $html, + 'data' => [ + 'title' => trans('general.title.new', ['type' => trans_choice('general.email', 1)]), + 'buttons' => [ + 'cancel' => [ + 'text' => trans('general.cancel'), + 'class' => 'btn-outline-secondary', + ], + 'confirm' => [ + 'text' => trans('general.send'), + 'class' => 'disabled:bg-green-100', + ] + ] + ] + ]); + } + + /** + * Store a newly created resource in storage. + * + * @param Request $request + * + * @return Response + */ + public function store(Request $request) + { + $response = $this->ajaxDispatch(new SendDocumentAsCustomMail($request, 'invoice_new_customer')); + + if ($response['success']) { + $invoice = Document::find($request->get('document_id')); + + $route = config('type.document.' . $invoice->type . '.route.prefix'); + + if ($alias = config('type.document.' . $invoice->type . '.alias')) { + $route = $alias . '.' . $route; + } + + $response['redirect'] = route($route . '.show', $invoice->id); + + $message = trans('documents.messages.email_sent', ['type' => trans_choice('general.invoices', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = null; + } + + return response()->json($response); + } +} diff --git a/app/Http/Controllers/Modals/InvoiceShare.php b/app/Http/Controllers/Modals/InvoiceShare.php new file mode 100644 index 000000000..28e08593a --- /dev/null +++ b/app/Http/Controllers/Modals/InvoiceShare.php @@ -0,0 +1,81 @@ +middleware('permission:create-sales-invoices')->only('create', 'store', 'duplicate', 'import'); + $this->middleware('permission:read-sales-invoices')->only('index', 'show', 'edit', 'export'); + $this->middleware('permission:update-sales-invoices')->only('update', 'enable', 'disable'); + $this->middleware('permission:delete-sales-invoices')->only('destroy'); + } + + /** + * Show the form for creating a new resource. + * + * @param Document $invoice + * + * @return Response + */ + public function create(Document $invoice) + { + $page = config('type.document.' . $invoice->type . '.route.prefix'); + $alias = config('type.document.' . $invoice->type . '.alias'); + + $route = ''; + + if (! empty($alias)) { + $route .= $alias . '.'; + } + + $preview_route = $route . 'preview.' . $page . '.show'; + $signed_route = $route . 'signed.' . $page . '.show'; + + try { + $previewUrl = route($preview_route, $invoice->id); + } catch (\Exception $e) { + $previewUrl = ''; + } + + try { + route($signed_route, [$this->document->id, 'company_id' => company_id()]); + + $signedUrl = URL::signedRoute($signed_route, [$invoice->id]); + } catch (\Exception $e) { + $signedUrl = URL::signedRoute('signed.invoices.show', [$invoice->id]); + } + + $html = view('modals.invoices.share', compact('invoice', 'previewUrl', 'signedUrl'))->render(); + + return response()->json([ + 'success' => true, + 'error' => false, + 'message' => 'null', + 'html' => $html, + 'data' => [ + 'title' => trans('general.title.new', ['type' => trans('general.share_link')]), + 'success_message' => trans('invoices.share.success_message'), + 'buttons' => [ + 'cancel' => [ + 'text' => trans('general.cancel'), + 'class' => 'btn-outline-secondary', + ], + 'confirm' => [ + 'text' => trans('general.copy_link'), + 'class' => 'disabled:bg-green-100', + ], + ] + ] + ]); + } +} diff --git a/app/Http/Controllers/Modals/InvoiceTemplates.php b/app/Http/Controllers/Modals/InvoiceTemplates.php index 873b2186d..3f70fc51b 100644 --- a/app/Http/Controllers/Modals/InvoiceTemplates.php +++ b/app/Http/Controllers/Modals/InvoiceTemplates.php @@ -12,10 +12,10 @@ class InvoiceTemplates extends Controller public function __construct() { // Add CRUD permission check - $this->middleware('permission:create-settings-settings')->only('create', 'store'); - $this->middleware('permission:read-settings-settings')->only('index', 'edit'); - $this->middleware('permission:update-settings-settings')->only('update', 'enable', 'disable'); - $this->middleware('permission:delete-settings-settings')->only('destroy'); + $this->middleware('permission:create-settings-invoice')->only('create', 'store'); + $this->middleware('permission:read-settings-invoice')->only('index', 'edit'); + $this->middleware('permission:update-settings-invoice')->only('update', 'enable', 'disable'); + $this->middleware('permission:delete-settings-invoice')->only('destroy'); } /** diff --git a/app/Http/Controllers/Modals/Items.php b/app/Http/Controllers/Modals/Items.php index 4449295b5..53c6d71f8 100644 --- a/app/Http/Controllers/Modals/Items.php +++ b/app/Http/Controllers/Modals/Items.php @@ -4,7 +4,6 @@ namespace App\Http\Controllers\Modals; use App\Abstracts\Http\Controller; use App\Jobs\Common\CreateItem; -use App\Models\Setting\Category; use App\Models\Setting\Currency; use App\Models\Setting\Tax; use Illuminate\Http\Request as IRequest; @@ -30,13 +29,11 @@ class Items extends Controller */ public function create(IRequest $request) { - $categories = Category::item()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - $taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id'); $currency = Currency::where('code', setting('default.currency'))->first(); - $html = view('modals.items.create', compact('categories', 'taxes', 'currency'))->render(); + $html = view('modals.items.create', compact('taxes', 'currency'))->render(); return response()->json([ 'success' => true, diff --git a/app/Http/Controllers/Modals/TransactionEmails.php b/app/Http/Controllers/Modals/TransactionEmails.php new file mode 100644 index 000000000..fc202039a --- /dev/null +++ b/app/Http/Controllers/Modals/TransactionEmails.php @@ -0,0 +1,96 @@ +middleware('permission:create-banking-transactions')->only('create', 'store', 'duplicate', 'import'); + $this->middleware('permission:read-banking-transactions')->only('index', 'show', 'edit', 'export'); + $this->middleware('permission:update-banking-transactions')->only('update', 'enable', 'disable'); + $this->middleware('permission:delete-banking-transactions')->only('destroy'); + } + + /** + * Show the form for creating a new resource. + * + * @param Transaction $transaction + * + * @return Response + */ + public function create(Transaction $transaction) + { + $email_template = config('type.transaction.' . $transaction->type . '.email_template'); + + $notification = new Notification($transaction, $email_template, true); + + $store_route = 'modals.transactions.emails.store'; + + $html = view('modals.transactions.email', compact('transaction', 'notification', 'store_route'))->render(); + + return response()->json([ + 'success' => true, + 'error' => false, + 'message' => 'null', + 'html' => $html, + 'data' => [ + 'title' => trans('general.title.new', ['type' => trans_choice('general.email', 1)]), + 'buttons' => [ + 'cancel' => [ + 'text' => trans('general.cancel'), + 'class' => 'btn-outline-secondary', + ], + 'confirm' => [ + 'text' => trans('general.send'), + 'class' => 'disabled:bg-green-100', + ] + ] + ] + ]); + } + + /** + * Store a newly created resource in storage. + * + * @param Request $request + * + * @return Response + */ + public function store(Request $request) + { + $transaction = Transaction::find($request->get('transaction_id')); + + $email_template = config('type.transaction.' . $transaction->type . '.email_template'); + + $response = $this->ajaxDispatch(new SendTransactionAsCustomMail($request, $email_template)); + + if ($response['success']) { + $route = config('type.transaction.' . $transaction->type . '.route.prefix'); + + if ($alias = config('type.transaction.' . $transaction->type . '.alias')) { + $route = $alias . '.' . $route; + } + + $response['redirect'] = route($route . '.show', $transaction->id); + + $message = trans('documents.messages.email_sent', ['type' => trans_choice('general.transactions', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = null; + } + + return response()->json($response); + } +} diff --git a/app/Http/Controllers/Modals/TransactionShare.php b/app/Http/Controllers/Modals/TransactionShare.php new file mode 100644 index 000000000..36a0fcb7c --- /dev/null +++ b/app/Http/Controllers/Modals/TransactionShare.php @@ -0,0 +1,80 @@ +middleware('permission:create-banking-transactions')->only('create', 'store', 'duplicate', 'import'); + $this->middleware('permission:read-banking-transactions')->only('index', 'show', 'edit', 'export'); + $this->middleware('permission:update-banking-transactions')->only('update', 'enable', 'disable'); + $this->middleware('permission:delete-banking-transactions')->only('destroy'); + } + + /** + * Show the form for creating a new resource. + * + * @param Transaction $transaction + * + * @return Response + */ + public function create(Transaction $transaction) + { + $alias = config('type.transaction.' . $transaction->type . '.alias'); + + $route = ''; + + if (! empty($alias)) { + $route .= $alias . '.'; + } + + $preview_route = $route . 'preview.payments.show'; + $signed_route = $route . 'signed.payments.show'; + + try { + $previewUrl = route($preview_route, $transaction->id); + } catch (\Exception $e) { + $previewUrl = ''; + } + + try { + route($signed_route, [$this->document->id, 'company_id' => company_id()]); + + $signedUrl = URL::signedRoute($signed_route, [$transaction->id]); + } catch (\Exception $e) { + $signedUrl = URL::signedRoute('signed.payments.show', [$transaction->id]); + } + + $html = view('modals.transactions.share', compact('transaction', 'previewUrl', 'signedUrl'))->render(); + + return response()->json([ + 'success' => true, + 'error' => false, + 'message' => 'null', + 'html' => $html, + 'data' => [ + 'title' => trans('general.title.new', ['type' => trans('general.share_link')]), + 'success_message' => trans('invoices.share.success_message'), + 'buttons' => [ + 'cancel' => [ + 'text' => trans('general.cancel'), + 'class' => 'btn-outline-secondary', + ], + 'confirm' => [ + 'text' => trans('general.copy_link'), + 'class' => 'disabled:bg-green-100', + ], + ] + ] + ]); + } +} diff --git a/app/Http/Controllers/Modals/TransferTemplates.php b/app/Http/Controllers/Modals/TransferTemplates.php index 449bd1fb6..a52e859fb 100644 --- a/app/Http/Controllers/Modals/TransferTemplates.php +++ b/app/Http/Controllers/Modals/TransferTemplates.php @@ -12,10 +12,10 @@ class TransferTemplates extends Controller public function __construct() { // Add CRUD permission check - $this->middleware('permission:create-settings-settings')->only('create', 'store'); - $this->middleware('permission:read-settings-settings')->only('index', 'edit'); - $this->middleware('permission:update-settings-settings')->only('update', 'enable', 'disable'); - $this->middleware('permission:delete-settings-settings')->only('destroy'); + $this->middleware('permission:create-banking-transfers')->only('create', 'store'); + $this->middleware('permission:read-banking-transfers')->only('index', 'edit'); + $this->middleware('permission:update-banking-transfers')->only('update', 'enable', 'disable'); + $this->middleware('permission:delete-banking-transfers')->only('destroy'); } /** diff --git a/app/Http/Controllers/Modals/Vendors.php b/app/Http/Controllers/Modals/Vendors.php index 271ab4f31..daab05732 100644 --- a/app/Http/Controllers/Modals/Vendors.php +++ b/app/Http/Controllers/Modals/Vendors.php @@ -7,7 +7,6 @@ use App\Http\Requests\Common\Contact as Request; use App\Models\Common\Contact; use App\Jobs\Common\CreateContact; use App\Jobs\Common\UpdateContact; -use App\Models\Setting\Currency; class Vendors extends Controller { @@ -30,17 +29,13 @@ class Vendors extends Controller */ public function create() { - $currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray(); - $contact_selector = false; if (request()->has('contact_selector')) { $contact_selector = request()->get('contact_selector'); } - $rand = rand(); - - $html = view('modals.vendors.create', compact('currencies', 'contact_selector', 'rand'))->render(); + $html = view('modals.vendors.create', compact('contact_selector'))->render(); return response()->json([ 'success' => true, @@ -79,17 +74,13 @@ class Vendors extends Controller */ public function edit(Contact $vendor) { - $currencies = Currency::enabled()->pluck('name', 'code'); - $contact_selector = false; if (request()->has('contact_selector')) { $contact_selector = request()->get('contact_selector'); } - $rand = rand(); - - $html = view('modals.vendors.edit', compact('vendor', 'currencies', 'contact_selector', 'rand'))->render(); + $html = view('modals.vendors.edit', compact('vendor','contact_selector'))->render(); return response()->json([ 'success' => true, diff --git a/app/Http/Controllers/Modules/Home.php b/app/Http/Controllers/Modules/Home.php index 7c684461c..ca97ed77b 100644 --- a/app/Http/Controllers/Modules/Home.php +++ b/app/Http/Controllers/Modules/Home.php @@ -3,13 +3,9 @@ namespace App\Http\Controllers\Modules; use App\Abstracts\Http\Controller; -use App\Traits\Modules; -use App\Models\Module\Module; class Home extends Controller { - use Modules; - /** * Display a listing of the resource. * @@ -17,19 +13,7 @@ class Home extends Controller */ public function index() { - $data = [ - 'query' => [ - 'limit' => 4 - ] - ]; - - $pre_sale = $this->getPreSaleModules($data); - $paid = $this->getPaidModules($data); - $new = $this->getNewModules($data); - $free = $this->getFreeModules($data); - $installed = Module::all()->pluck('enabled', 'alias')->toArray(); - - return $this->response('modules.home.index', compact('pre_sale', 'paid', 'new', 'free', 'installed')); + return $this->response('modules.home.index'); } /** diff --git a/app/Http/Controllers/Modules/Item.php b/app/Http/Controllers/Modules/Item.php index 1d0eaa1bb..6f279a1c7 100644 --- a/app/Http/Controllers/Modules/Item.php +++ b/app/Http/Controllers/Modules/Item.php @@ -276,10 +276,10 @@ class Item extends Controller public function uninstall($alias) { try { - $name = module($alias)->getName(); - $this->dispatch(new UninstallModule($alias, company_id())); + $name = module($alias)->getName(); + $message = trans('modules.uninstalled', ['module' => $name]); flash($message)->success(); @@ -295,9 +295,9 @@ class Item extends Controller public function enable($alias) { try { - $name = module($alias)->getName(); - $this->dispatch(new EnableModule($alias, company_id())); + + $name = module($alias)->getName(); $message = trans('modules.enabled', ['module' => $name]); @@ -314,10 +314,10 @@ class Item extends Controller public function disable($alias) { try { - $name = module($alias)->getName(); - $this->dispatch(new DisableModule($alias, company_id())); + $name = module($alias)->getName(); + $message = trans('modules.disabled', ['module' => $name]); flash($message)->success(); @@ -340,7 +340,7 @@ class Item extends Controller $releases = $this->getModuleReleases($alias, $data); - $html = view('partials.modules.releases', compact('releases'))->render(); + $html = view('components.layouts.modules.releases', compact('releases'))->render(); return response()->json([ 'success' => true, @@ -361,7 +361,7 @@ class Item extends Controller $reviews = $this->getModuleReviews($alias, $data); - $html = view('partials.modules.reviews', compact('reviews'))->render(); + $html = view('components.layouts.modules.reviews', compact('reviews'))->render(); return response()->json([ 'success' => true, diff --git a/app/Http/Controllers/Modules/My.php b/app/Http/Controllers/Modules/My.php index 4cb009d81..0d082359e 100644 --- a/app/Http/Controllers/Modules/My.php +++ b/app/Http/Controllers/Modules/My.php @@ -3,13 +3,9 @@ namespace App\Http\Controllers\Modules; use App\Abstracts\Http\Controller; -use App\Models\Module\Module; -use App\Traits\Modules; class My extends Controller { - use Modules; - /** * Display a listing of the resource. * @@ -17,10 +13,6 @@ class My extends Controller */ public function index() { - $purchased = $this->getMyModules(); - $modules = $this->getInstalledModules(); - $installed = Module::where('company_id', '=', company_id())->pluck('enabled', 'alias')->toArray(); - - return $this->response('modules.my.index', compact('purchased', 'modules', 'installed')); + return $this->response('modules.my.index'); } } diff --git a/app/Http/Controllers/Modules/Tiles.php b/app/Http/Controllers/Modules/Tiles.php index 3c93d91bc..54d2c2ab6 100644 --- a/app/Http/Controllers/Modules/Tiles.php +++ b/app/Http/Controllers/Modules/Tiles.php @@ -3,10 +3,10 @@ namespace App\Http\Controllers\Modules; use App\Traits\Modules; -use Illuminate\Support\Str; -use Illuminate\Http\Request; use App\Models\Module\Module; use App\Abstracts\Http\Controller; +use Illuminate\Support\Str; +use Illuminate\Http\Request; class Tiles extends Controller { @@ -23,13 +23,13 @@ class Tiles extends Controller { $page = request('page', 1); - $request = [ + $data = [ 'query' => [ 'page' => $page, ] ]; - $data = $this->getModulesByCategory($alias, $request); + $data = $this->getModulesByCategory($alias, $data); if (empty($data)) { return redirect()->route('apps.home.index')->send(); @@ -39,7 +39,7 @@ class Tiles extends Controller $modules = !empty($data->modules) ? $data->modules : []; $installed = Module::all()->pluck('enabled', 'alias')->toArray(); - return view('modules.tiles.index', compact('title', 'modules', 'installed')); + return $this->response('modules.tiles.index', compact('modules', 'title', 'installed')); } /** @@ -53,19 +53,19 @@ class Tiles extends Controller { $page = request('page', 1); - $request = [ + $data = [ 'query' => [ 'page' => $page, ] ]; - $data = $this->getModulesByVendor($alias, $request); + $data = $this->getModulesByVendor($alias, $data); $title = !empty($data->vendor) ? $data->vendor->name : Str::studly($alias); $modules = !empty($data->modules) ? $data->modules : []; $installed = Module::all()->pluck('enabled', 'alias')->toArray(); - return view('modules.tiles.index', compact('title', 'modules', 'installed')); + return $this->response('modules.tiles.index', compact('modules', 'title', 'installed')); } /** @@ -87,7 +87,7 @@ class Tiles extends Controller $modules = $this->getPaidModules($data); $installed = Module::all()->pluck('enabled', 'alias')->toArray(); - return view('modules.tiles.index', compact('title', 'modules', 'installed')); + return $this->response('modules.tiles.index', compact('modules', 'title', 'installed')); } /** @@ -109,7 +109,7 @@ class Tiles extends Controller $modules = $this->getNewModules($data); $installed = Module::all()->pluck('enabled', 'alias')->toArray(); - return view('modules.tiles.index', compact('title', 'modules', 'installed')); + return $this->response('modules.tiles.index', compact('modules', 'title', 'installed')); } /** @@ -131,7 +131,7 @@ class Tiles extends Controller $modules = $this->getFreeModules($data); $installed = Module::all()->pluck('enabled', 'alias')->toArray(); - return view('modules.tiles.index', compact('title', 'modules', 'installed')); + return $this->response('modules.tiles.index', compact('modules', 'title','installed')); } /** @@ -141,8 +141,8 @@ class Tiles extends Controller */ public function searchModules(Request $request) { - $keyword = $request['keyword']; - $page = request('page', 1); + $keyword = $request->get('keyword'); + $page = $request->get('page', 1); $data = [ 'query' => [ @@ -157,4 +157,87 @@ class Tiles extends Controller return view('modules.tiles.index', compact('title', 'modules', 'keyword', 'installed')); } + + public function loadMore($type, Request $request) + { + $page = $request->get('page', 1); + + $modules = []; + + $data = [ + 'query' => [ + 'page' => $page, + ] + ]; + + $last_page = 1; + + switch ($type) { + case 'categories': + $alias = $request->get('alias'); + $response = $this->getModulesByCategory($alias, $data); + + $response = !empty($response->modules) ? $response->modules : []; + $last_page = ! empty($response) ? $response->last_page : 1; + + $modules = $this->prepareModules($response); + break; + case 'vendors': + $alias = $request->get('alias'); + $response = $this->getModulesByVendor($alias, $data); + + $response = !empty($response->modules) ? $response->modules : []; + $last_page = ! empty($response) ? $response->last_page : 1; + + $modules = $this->prepareModules($response); + break; + case 'paid': + $response = $this->getPaidModules($data); + + $last_page = $response->last_page; + $modules = $this->prepareModules($response); + break; + case 'new': + $response = $this->getNewModules($data); + + $last_page = $response->last_page; + $modules = $this->prepareModules($response); + + break; + case 'free': + $response = $this->getFreeModules($data); + + $last_page = $response->last_page; + $modules = $this->prepareModules($response); + break; + case 'search': + $data['query']['keyword'] = $request->get('keyword'); + + $response = $this->getSearchModules($data); + + $last_page = $response->last_page; + $modules = $this->prepareModules($response); + break; + } + + $html = view('components.modules.raw_items', compact('modules'))->render(); + + return response()->json([ + 'success' => true, + 'error' => false, + 'message' => 'null', + 'modules' => $modules, + 'last_page' => $last_page, + 'html' => $html, + ]); + } + + protected function prepareModules($response) + { + if (! empty($response->data)) { + return $response->data; + } + + return $response; + } } diff --git a/app/Http/Controllers/Portal/Dashboard.php b/app/Http/Controllers/Portal/Dashboard.php index 797554f90..a28ea4f29 100644 --- a/app/Http/Controllers/Portal/Dashboard.php +++ b/app/Http/Controllers/Portal/Dashboard.php @@ -5,7 +5,6 @@ namespace App\Http\Controllers\Portal; use App\Models\Document\Document; use App\Traits\Charts; use App\Traits\DateTime; -use App\Utilities\Chartjs; use Date; class Dashboard @@ -38,82 +37,10 @@ class Dashboard //$invoices = Document::invoice()->accrued()->where('contact_id', $contact->id)->get(); $invoices = Document::invoice()->accrued()->whereBetween('due_at', [$start, $end])->where('contact_id', $contact->id)->get(); - - $start_month = $start->month; - $end_month = $end->month; - - // look cashFlow widget - $end_month = $end->diffInMonths($start); - $start_month = 0; - // Monthly - $labels = []; - - $s = clone $start; - - for ($j = $end_month; $j >= $start_month; $j--) { - $labels[$end_month - $j] = $s->format('M Y'); - - $s->addMonth(); - } - + $amounts = $this->calculateAmounts($invoices, $start, $end); - $grand = array_sum($amounts['unpaid']) + array_sum($amounts['paid']) + array_sum($amounts['overdue']); - - $totals = [ - 'paid' => money(array_sum($amounts['paid']), setting('default.currency'), true), - 'unpaid' => money(array_sum($amounts['unpaid']), setting('default.currency'), true), - 'overdue' => money(array_sum($amounts['overdue']), setting('default.currency'), true), - ]; - - $progress = [ - 'paid' => !empty($grand) ? (100 / $grand) * array_sum($amounts['paid']) : '0', - 'unpaid' => !empty($grand) ? (100 / $grand) * array_sum($amounts['unpaid']) : '0', - 'overdue' => !empty($grand) ? (100 / $grand) * array_sum($amounts['overdue']) : '0', - ]; - - $chart = new Chartjs(); - $chart->type('line') - ->width(0) - ->height(300) - ->options($this->getLineChartOptions()) - ->labels(array_values($labels)); - - $chart->dataset(trans('general.paid'), 'line', array_values($amounts['paid'])) - ->backgroundColor('#6da252') - ->color('#6da252') - ->options([ - 'borderWidth' => 4, - 'pointStyle' => 'line', - ]) - ->fill(false); - - $chart->dataset(trans('general.unpaid'), 'line', array_values($amounts['unpaid'])) - ->backgroundColor('#efad32') - ->color('#efad32') - ->options([ - 'borderWidth' => 4, - 'pointStyle' => 'line', - ]) - ->fill(false); - - $chart->dataset(trans('general.overdue'), 'line', array_values($amounts['overdue'])) - ->backgroundColor('#ef3232') - ->color('#ef3232') - ->options([ - 'borderWidth' => 4, - 'pointStyle' => 'line', - ]) - ->fill(false); - - $date_picker_shortcuts = $this->getDatePickerShortcuts(); - - if (!request()->has('start_date')) { - request()->merge(['start_date' => $date_picker_shortcuts[trans('reports.this_year')]['start']]); - request()->merge(['end_date' => $date_picker_shortcuts[trans('reports.this_year')]['end']]); - } - - return view('portal.dashboard.index', compact('contact', 'invoices', 'totals', 'progress', 'chart', 'date_picker_shortcuts')); + return view('portal.dashboard.index', compact('contact', 'invoices')); } private function calculateAmounts($invoices, $start, $end) diff --git a/app/Http/Controllers/Portal/Invoices.php b/app/Http/Controllers/Portal/Invoices.php index 6deacd090..067348b07 100644 --- a/app/Http/Controllers/Portal/Invoices.php +++ b/app/Http/Controllers/Portal/Invoices.php @@ -5,7 +5,6 @@ namespace App\Http\Controllers\Portal; use App\Abstracts\Http\Controller; use App\Http\Requests\Portal\InvoiceShow as Request; use App\Models\Document\Document; -use App\Models\Setting\Category; use App\Traits\Currencies; use App\Traits\DateTime; use App\Traits\Documents; @@ -33,11 +32,7 @@ class Invoices extends Controller ->accrued()->where('contact_id', user()->contact->id) ->collect(['document_number'=> 'desc']); - $categories = collect(Category::income()->enabled()->orderBy('name')->pluck('name', 'id')); - - $statuses = $this->getDocumentStatuses(Document::INVOICE_TYPE); - - return $this->response('portal.invoices.index', compact('invoices', 'categories', 'statuses')); + return $this->response('portal.invoices.index', compact('invoices')); } /** @@ -56,6 +51,20 @@ class Invoices extends Controller return view('portal.invoices.show', compact('invoice', 'payment_methods')); } + /** + * Show the form for viewing the specified resource. + * + * @param Document $invoice + * + * @return Response + */ + public function finish(Document $invoice, Request $request) + { + $layout = $request->isPortal($invoice->company_id) ? 'portal' : 'signed'; + + return view('portal.invoices.finish', compact('invoice', 'layout')); + } + /** * Show the form for viewing the specified resource. * @@ -98,6 +107,27 @@ class Invoices extends Controller return $pdf->download($file_name); } + public function preview(Document $invoice) + { + if (empty($invoice)) { + return redirect()->route('login'); + } + + $payment_actions = []; + + $payment_methods = Modules::getPaymentMethods(); + + foreach ($payment_methods as $payment_method_key => $payment_method_value) { + $codes = explode('.', $payment_method_key); + + if (!isset($payment_actions[$codes[0]])) { + $payment_actions[$codes[0]] = URL::signedRoute('signed.' . $codes[0] . '.invoices.show', [$invoice->id]); + } + } + + return view('portal.invoices.preview', compact('invoice', 'payment_methods', 'payment_actions')); + } + public function signed(Document $invoice) { if (empty($invoice)) { @@ -119,7 +149,10 @@ class Invoices extends Controller $print_action = URL::signedRoute('signed.invoices.print', [$invoice->id]); $pdf_action = URL::signedRoute('signed.invoices.pdf', [$invoice->id]); - event(new \App\Events\Document\DocumentViewed($invoice)); + // Guest or Invoice contact user track the invoice viewed. + if (empty(user()) || user()->id == $invoice->contact->user_id) { + event(new \App\Events\Document\DocumentViewed($invoice)); + } return view('portal.invoices.signed', compact('invoice', 'payment_methods', 'payment_actions', 'print_action', 'pdf_action')); } diff --git a/app/Http/Controllers/Portal/Payments.php b/app/Http/Controllers/Portal/Payments.php index 92b41d76d..3d4dce4b6 100644 --- a/app/Http/Controllers/Portal/Payments.php +++ b/app/Http/Controllers/Portal/Payments.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\Portal; use App\Abstracts\Http\Controller; +use App\Events\Banking\TransactionPrinting; use App\Models\Banking\Transaction; use App\Models\Setting\Currency; use App\Http\Requests\Portal\PaymentShow as Request; @@ -65,10 +66,10 @@ class Payments extends Controller */ public function printPayment(Transaction $payment, Request $request) { - event(new \App\Events\Banking\TransactionPrinting($payment)); + event(new TransactionPrinting($payment)); - $revenue = $payment; - $view = view($payment->template_path, compact('revenue')); + $transaction = $payment; + $view = view('banking.transactions.print_default', compact('transaction')); return mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); } @@ -82,12 +83,12 @@ class Payments extends Controller */ public function pdfPayment(Transaction $payment, Request $request) { - event(new \App\Events\Banking\TransactionPrinting($payment)); + event(new TransactionPrinting($payment)); $currency_style = true; - $revenue = $payment; - $view = view($payment->template_path, compact('revenue', 'currency_style'))->render(); + $transaction = $payment; + $view = view('banking.transactions.print_default', compact('transaction', 'currency_style'))->render(); $html = mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); $pdf = app('dompdf.wrapper'); @@ -100,6 +101,15 @@ class Payments extends Controller return $pdf->download($file_name); } + public function preview(Transaction $payment) + { + if (empty($payment)) { + return redirect()->route('login'); + } + + return view('portal.payments.preview', compact('payment')); + } + public function signed(Transaction $payment) { if (empty($payment)) { diff --git a/app/Http/Controllers/Portal/Profile.php b/app/Http/Controllers/Portal/Profile.php index 1e792c072..d67d152e3 100644 --- a/app/Http/Controllers/Portal/Profile.php +++ b/app/Http/Controllers/Portal/Profile.php @@ -47,6 +47,7 @@ class Profile extends Controller // Do not reset password if not entered/changed if (empty($request['password'])) { + unset($request['current_password']); unset($request['password']); unset($request['password_confirmation']); } diff --git a/app/Http/Controllers/Purchases/Bills.php b/app/Http/Controllers/Purchases/Bills.php index 1d9077f02..b3819497e 100644 --- a/app/Http/Controllers/Purchases/Bills.php +++ b/app/Http/Controllers/Purchases/Bills.php @@ -13,9 +13,7 @@ use App\Jobs\Document\DeleteDocument; use App\Jobs\Document\DuplicateDocument; use App\Jobs\Document\UpdateDocument; use App\Models\Document\Document; -use App\Models\Setting\Currency; use App\Traits\Documents; -use File; class Bills extends Controller { @@ -283,30 +281,6 @@ class Bills extends Controller return $pdf->download($file_name); } - /** - * Mark the bill as paid. - * - * @param Document $bill - * - * @return Response - */ - public function markPaid(Document $bill) - { - try { - $this->dispatch(new CreateBankingDocumentTransaction($bill, ['type' => 'expense'])); - - $message = trans('documents.messages.marked_paid', ['type' => trans_choice('general.bills', 1)]); - - flash($message)->success(); - } catch(\Exception $e) { - $message = $e->getMessage(); - - flash($message)->error()->important(); - } - - return redirect()->back(); - } - protected function prepareBill(Document $bill) { $paid = 0; diff --git a/app/Http/Controllers/Purchases/Payments.php b/app/Http/Controllers/Purchases/Payments.php deleted file mode 100644 index 47b53f3b4..000000000 --- a/app/Http/Controllers/Purchases/Payments.php +++ /dev/null @@ -1,326 +0,0 @@ -expense()->isNotTransfer()->collect(['paid_at'=> 'desc']); - - return $this->response('purchases.payments.index', compact('payments')); - } - - /** - * Show the form for viewing the specified resource. - * - * @return Response - */ - public function show(Transaction $payment) - { - return view('purchases.payments.show', compact('payment')); - } - - /** - * Show the form for creating a new resource. - * - * @return Response - */ - public function create() - { - $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); - - $currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray(); - - $account_currency_code = Account::where('id', setting('default.account'))->pluck('currency_code')->first(); - - $currency = Currency::where('code', $account_currency_code)->first(); - - $vendors = Contact::vendor()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - - $categories = Category::expense()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - - $payment_methods = Modules::getPaymentMethods(); - - $file_type_mimes = explode(',', config('filesystems.mimes')); - - $file_types = []; - - foreach ($file_type_mimes as $mime) { - $file_types[] = '.' . $mime; - } - - $file_types = implode(',', $file_types); - - return view('purchases.payments.create', compact('accounts', 'currencies', 'account_currency_code', 'currency', 'vendors', 'categories', 'payment_methods', 'file_types')); - } - - /** - * Store a newly created resource in storage. - * - * @param Request $request - * - * @return Response - */ - public function store(Request $request) - { - $response = $this->ajaxDispatch(new CreateTransaction($request)); - - if ($response['success']) { - $response['redirect'] = route('payments.show', $response['data']->id); - - $message = trans('messages.success.added', ['type' => trans_choice('general.payments', 1)]); - - flash($message)->success(); - } else { - $response['redirect'] = route('payments.create'); - - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Duplicate the specified resource. - * - * @param Transaction $payment - * - * @return Response - */ - public function duplicate(Transaction $payment) - { - $clone = $payment->duplicate(); - - $message = trans('messages.success.duplicated', ['type' => trans_choice('general.payments', 1)]); - - flash($message)->success(); - - return redirect()->route('payments.edit', $clone->id); - } - - /** - * Import the specified resource. - * - * @param ImportRequest $request - * - * @return Response - */ - public function import(ImportRequest $request) - { - $response = $this->importExcel(new Import, $request, trans_choice('general.payments', 2)); - - if ($response['success']) { - $response['redirect'] = route('payments.index'); - - flash($response['message'])->success(); - } else { - $response['redirect'] = route('import.create', ['purchases', 'payments']); - - flash($response['message'])->error()->important(); - } - - return response()->json($response); - } - - /** - * Show the form for editing the specified resource. - * - * @param Transaction $payment - * - * @return Response - */ - public function edit(Transaction $payment) - { - $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); - - $currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray(); - - $currency = Currency::where('code', $payment->currency_code)->first(); - - $vendors = Contact::vendor()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - - if ($payment->contact && !$vendors->has($payment->contact_id)) { - $vendors->put($payment->contact->id, $payment->contact->name); - } - - $categories = Category::expense()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - - if ($payment->category && !$categories->has($payment->category_id)) { - $categories->put($payment->category->id, $payment->category->name); - } - - $payment_methods = Modules::getPaymentMethods(); - - $date_format = $this->getCompanyDateFormat(); - - $file_type_mimes = explode(',', config('filesystems.mimes')); - - $file_types = []; - - foreach ($file_type_mimes as $mime) { - $file_types[] = '.' . $mime; - } - - $file_types = implode(',', $file_types); - - return view('purchases.payments.edit', compact('payment', 'accounts', 'currencies', 'currency', 'vendors', 'categories', 'payment_methods', 'date_format', 'file_types')); - } - - /** - * Update the specified resource in storage. - * - * @param Transaction $payment - * @param Request $request - * - * @return Response - */ - public function update(Transaction $payment, Request $request) - { - $response = $this->ajaxDispatch(new UpdateTransaction($payment, $request)); - - if ($response['success']) { - $response['redirect'] = route('payments.show', $payment->id); - - $message = trans('messages.success.updated', ['type' => trans_choice('general.payments', 1)]); - - flash($message)->success(); - } else { - $response['redirect'] = route('payments.edit', $payment->id); - - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Remove the specified resource from storage. - * - * @param Transaction $payment - * - * @return Response - */ - public function destroy(Transaction $payment) - { - $response = $this->ajaxDispatch(new DeleteTransaction($payment)); - - $response['redirect'] = route('payments.index'); - - if ($response['success']) { - $message = trans('messages.success.deleted', ['type' => trans_choice('general.payments', 1)]); - - flash($message)->success(); - } else { - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Export the specified resource. - * - * @return Response - */ - public function export() - { - return $this->exportExcel(new Export, trans_choice('general.payments', 2)); - } - - /** - * Download the PDF file of payment. - * - * @param Transaction $payment - * - * @return Response - */ - public function emailPayment(Transaction $payment) - { - if (empty($payment->contact->email)) { - return redirect()->back(); - } - - // Notify the customer - $payment->contact->notify(new Notification($payment, 'payment_new_customer', true)); - - event(new \App\Events\Banking\TransactionSent($payment)); - - flash(trans('documents.messages.email_sent', ['type' => trans_choice('general.payments', 1)]))->success(); - - return redirect()->back(); - } - - /** - * Print the payment. - * - * @param Transaction $payment - * - * @return Response - */ - public function printPayment(Transaction $payment) - { - event(new \App\Events\Banking\TransactionPrinting($payment)); - - $view = view($payment->template_path, compact('payment')); - - return mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); - } - - /** - * Download the PDF file of payment. - * - * @param Transaction $payment - * - * @return Response - */ - public function pdfPayment(Transaction $payment) - { - event(new \App\Events\Banking\TransactionPrinting($payment)); - - $currency_style = true; - - $view = view($payment->template_path, compact('payment', 'currency_style'))->render(); - $html = mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); - - $pdf = app('dompdf.wrapper'); - $pdf->loadHTML($html); - - //$pdf->setPaper('A4', 'portrait'); - - $file_name = $this->getTransactionFileName($payment); - - return $pdf->download($file_name); - } -} diff --git a/app/Http/Controllers/Purchases/RecurringBills.php b/app/Http/Controllers/Purchases/RecurringBills.php new file mode 100644 index 000000000..4fb9f874f --- /dev/null +++ b/app/Http/Controllers/Purchases/RecurringBills.php @@ -0,0 +1,189 @@ +middleware('permission:create-purchases-bills')->only('create', 'store', 'duplicate', 'import'); + $this->middleware('permission:read-purchases-bills')->only('index', 'show', 'edit', 'export'); + $this->middleware('permission:update-purchases-bills')->only('update', 'enable', 'disable'); + $this->middleware('permission:delete-purchases-bills')->only('destroy'); + } + + /** + * Display a listing of the resource. + * + * @return Response + */ + public function index() + { + $bills = Document::with('contact', 'transactions', 'recurring')->billRecurring()->collect(['issued_at' => 'desc']); + + return $this->response('purchases.recurring_bills.index', compact('bills')); + } + + /** + * Show the form for viewing the specified resource. + * + * @param Document $recurring_bill + * + * @return Response + */ + public function show(Document $recurring_bill) + { + $recurring_bill->load(['category', 'recurring', 'children']); + + return view('purchases.recurring_bills.show', compact('recurring_bill')); + } + + /** + * Show the form for creating a new resource. + * + * @return Response + */ + public function create() + { + return view('purchases.recurring_bills.create'); + } + + /** + * Store a newly created resource in storage. + * + * @param Request $request + * + * @return Response + */ + public function store(Request $request) + { + $response = $this->ajaxDispatch(new CreateDocument($request->merge(['issued_at' => $request->get('recurring_started_at')]))); + + if ($response['success']) { + $response['redirect'] = route('recurring-bills.show', $response['data']->id); + + $message = trans('messages.success.added', ['type' => trans_choice('general.recurring_bills', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = route('recurring-bills.create'); + + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } + + /** + * Duplicate the specified resource. + * + * @param Document $recurring_bill + * + * @return Response + */ + public function duplicate(Document $recurring_bill) + { + $clone = $this->dispatch(new DuplicateDocument($recurring_bill)); + + $message = trans('messages.success.duplicated', ['type' => trans_choice('general.recurring_bills', 1)]); + + flash($message)->success(); + + return redirect()->route('recurring-bills.edit', $clone->id); + } + + /** + * Show the form for editing the specified resource. + * + * @param Document $recurring_bill + * + * @return Response + */ + public function edit(Document $recurring_bill) + { + return view('purchases.recurring_bills.edit', compact('recurring_bill')); + } + + /** + * Update the specified resource in storage. + * + * @param Document $recurring_bill + * @param Request $request + * + * @return Response + */ + public function update(Document $recurring_bill, Request $request) + { + $response = $this->ajaxDispatch(new UpdateDocument($recurring_bill, $request->merge(['issued_at' => $request->get('recurring_started_at')]))); + + if ($response['success']) { + $response['redirect'] = route('recurring-bills.show', $response['data']->id); + + $message = trans('messages.success.updated', ['type' => trans_choice('general.recurring_bills', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = route('recurring-bills.edit', $recurring_bill->id); + + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } + + /** + * End recurring template. + * + * @return Response + */ + public function end(Document $recurring_bill) + { + $response = $this->ajaxDispatch(new UpdateDocument($recurring_bill, [ + 'recurring_frequency' => $recurring_bill->recurring->frequency, + 'recurring_interval' => $recurring_bill->recurring->interval, + 'recurring_started_at' => $recurring_bill->recurring->started_at, + 'recurring_limit' => $recurring_bill->recurring->limit, + 'recurring_limit_count' => $recurring_bill->recurring->limit_count, + 'recurring_limit_date' => $recurring_bill->recurring->limit_date, + 'created_from' => $recurring_bill->created_from, + 'created_by' => $recurring_bill->created_by, + 'recurring_status' => Recurring::END_STATUS, + ])); + + if ($response['success']) { + $message = trans('messages.success.ended', ['type' => trans_choice('general.recurring_bills', 1)]); + + flash($message)->success(); + } else { + $message = $response['message']; + + flash($message)->error()->important(); + } + + return redirect()->route('recurring-bills.index'); + } +} diff --git a/app/Http/Controllers/Purchases/Vendors.php b/app/Http/Controllers/Purchases/Vendors.php index f227ef232..b2a5d5b39 100644 --- a/app/Http/Controllers/Purchases/Vendors.php +++ b/app/Http/Controllers/Purchases/Vendors.php @@ -9,11 +9,11 @@ use App\Http\Requests\Common\Import as ImportRequest; use App\Imports\Purchases\Vendors as Import; use App\Jobs\Common\CreateContact; use App\Jobs\Common\DeleteContact; +use App\Jobs\Common\DuplicateContact; use App\Jobs\Common\UpdateContact; use App\Models\Banking\Transaction; use App\Models\Common\Contact; use App\Models\Document\Document; -use App\Models\Setting\Currency; use App\Traits\Contacts; use App\Utilities\Date; @@ -21,6 +21,11 @@ class Vendors extends Controller { use Contacts; + /** + * @var string + */ + public $type = Contact::VENDOR_TYPE; + /** * Display a listing of the resource. * @@ -42,56 +47,7 @@ class Vendors extends Controller */ public function show(Contact $vendor) { - $amounts = [ - 'paid' => 0, - 'open' => 0, - 'overdue' => 0, - ]; - - $counts = []; - - // Handle bills - $bills = Document::bill()->with('transactions')->where('contact_id', $vendor->id)->get(); - - $counts['bills'] = $bills->count(); - - $today = Date::today()->toDateString(); - - foreach ($bills as $item) { - // Already in transactions - if ($item->status == 'paid' || $item->status == 'cancelled') { - continue; - } - - $transactions = 0; - - foreach ($item->transactions as $transaction) { - $transactions += $transaction->getAmountConvertedToDefault(); - } - - // Check if it's open or overdue invoice - if ($item->due_at > $today) { - $amounts['open'] += $item->getAmountConvertedToDefault() - $transactions; - } else { - $amounts['overdue'] += $item->getAmountConvertedToDefault() - $transactions; - } - } - - // Handle payments - $transactions = Transaction::with('account', 'category')->where('contact_id', $vendor->id)->expense()->get(); - - $counts['transactions'] = $transactions->count(); - - // Prepare data - $transactions->each(function ($item) use (&$amounts) { - $amounts['paid'] += $item->getAmountConvertedToDefault(); - }); - - $limit = (int) request('limit', setting('default.list_limit', '25')); - $transactions = $this->paginate($transactions->sortByDesc('paid_at'), $limit); - $bills = $this->paginate($bills->sortByDesc('issued_at'), $limit); - - return view('purchases.vendors.show', compact('vendor', 'counts', 'amounts', 'transactions', 'bills')); + return view('purchases.vendors.show', compact('vendor')); } /** @@ -101,9 +57,7 @@ class Vendors extends Controller */ public function create() { - $currencies = Currency::enabled()->pluck('name', 'code'); - - return view('purchases.vendors.create', compact('currencies')); + return view('purchases.vendors.create'); } /** @@ -143,7 +97,7 @@ class Vendors extends Controller */ public function duplicate(Contact $vendor) { - $clone = $vendor->duplicate(); + $clone = $this->dispatch(new DuplicateContact($vendor)); $message = trans('messages.success.duplicated', ['type' => trans_choice('general.vendors', 1)]); @@ -185,9 +139,7 @@ class Vendors extends Controller */ public function edit(Contact $vendor) { - $currencies = Currency::enabled()->pluck('name', 'code'); - - return view('purchases.vendors.edit', compact('vendor', 'currencies')); + return view('purchases.vendors.edit', compact('vendor')); } /** @@ -298,10 +250,10 @@ class Vendors extends Controller return redirect()->route('bills.create')->withInput($data); } - public function createPayment(Contact $vendor) + public function createExpense(Contact $vendor) { $data['contact'] = $vendor; - return redirect()->route('payments.create')->withInput($data); + return redirect()->route('transactions.create', ['type' => 'expense'])->withInput($data); } } diff --git a/app/Http/Controllers/Sales/Customers.php b/app/Http/Controllers/Sales/Customers.php index 184f8caf1..c5367581e 100644 --- a/app/Http/Controllers/Sales/Customers.php +++ b/app/Http/Controllers/Sales/Customers.php @@ -9,15 +9,23 @@ use App\Http\Requests\Common\Import as ImportRequest; use App\Imports\Sales\Customers as Import; use App\Jobs\Common\CreateContact; use App\Jobs\Common\DeleteContact; +use App\Jobs\Common\DuplicateContact; use App\Jobs\Common\UpdateContact; use App\Models\Banking\Transaction; use App\Models\Common\Contact; use App\Models\Document\Document; -use App\Models\Setting\Currency; +use App\Traits\Contacts; use App\Utilities\Date; class Customers extends Controller { + use Contacts; + + /** + * @var string + */ + public $type = Contact::CUSTOMER_TYPE; + /** * Display a listing of the resource. * @@ -25,7 +33,7 @@ class Customers extends Controller */ public function index() { - $customers = Contact::with('invoices.transactions')->customer()->collect(); + $customers = Contact::customer()->with('invoices.transactions')->collect(); return $this->response('sales.customers.index', compact('customers')); } @@ -39,56 +47,7 @@ class Customers extends Controller */ public function show(Contact $customer) { - $amounts = [ - 'paid' => 0, - 'open' => 0, - 'overdue' => 0, - ]; - - $counts = []; - - // Handle invoices - $invoices = Document::invoice()->with('transactions')->where('contact_id', $customer->id)->get(); - - $counts['invoices'] = $invoices->count(); - - $today = Date::today()->toDateString(); - - foreach ($invoices as $item) { - // Already in transactions - if ($item->status == 'paid' || $item->status == 'cancelled') { - continue; - } - - $transactions = 0; - - foreach ($item->transactions as $transaction) { - $transactions += $transaction->getAmountConvertedToDefault(); - } - - // Check if it's open or overdue invoice - if ($item->due_at > $today) { - $amounts['open'] += $item->getAmountConvertedToDefault() - $transactions; - } else { - $amounts['overdue'] += $item->getAmountConvertedToDefault() - $transactions; - } - } - - // Handle transactions - $transactions = Transaction::with('account', 'category')->where('contact_id', $customer->id)->income()->get(); - - $counts['transactions'] = $transactions->count(); - - // Prepare data - $transactions->each(function ($item) use (&$amounts) { - $amounts['paid'] += $item->getAmountConvertedToDefault(); - }); - - $limit = (int) request('limit', setting('default.list_limit', '25')); - $transactions = $this->paginate($transactions->sortByDesc('paid_at'), $limit); - $invoices = $this->paginate($invoices->sortByDesc('issued_at'), $limit); - - return view('sales.customers.show', compact('customer', 'counts', 'amounts', 'transactions', 'invoices')); + return view('sales.customers.show', compact('customer')); } /** @@ -98,9 +57,7 @@ class Customers extends Controller */ public function create() { - $currencies = Currency::enabled()->pluck('name', 'code'); - - return view('sales.customers.create', compact('currencies')); + return view('sales.customers.create'); } /** @@ -140,7 +97,7 @@ class Customers extends Controller */ public function duplicate(Contact $customer) { - $clone = $customer->duplicate(); + $clone = $this->dispatch(new DuplicateContact($customer)); $message = trans('messages.success.duplicated', ['type' => trans_choice('general.customers', 1)]); @@ -182,9 +139,7 @@ class Customers extends Controller */ public function edit(Contact $customer) { - $currencies = Currency::enabled()->pluck('name', 'code'); - - return view('sales.customers.edit', compact('customer', 'currencies')); + return view('sales.customers.edit', compact('customer')); } /** @@ -295,10 +250,10 @@ class Customers extends Controller return redirect()->route('invoices.create')->withInput($data); } - public function createRevenue(Contact $customer) + public function createIncome(Contact $customer) { $data['contact'] = $customer; - return redirect()->route('revenues.create')->withInput($data); + return redirect()->route('transactions.create', ['type' => 'income'])->withInput($data); } } diff --git a/app/Http/Controllers/Sales/Invoices.php b/app/Http/Controllers/Sales/Invoices.php index 0cca29ea6..e7e75118d 100644 --- a/app/Http/Controllers/Sales/Invoices.php +++ b/app/Http/Controllers/Sales/Invoices.php @@ -288,13 +288,13 @@ class Invoices extends Controller * @return Response */ public function pdfInvoice(Document $invoice) - { + { event(new \App\Events\Document\DocumentPrinting($invoice)); $currency_style = true; $view = view($invoice->template_path, compact('invoice', 'currency_style'))->render(); - + $html = mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); $pdf = app('dompdf.wrapper'); @@ -306,28 +306,4 @@ class Invoices extends Controller return $pdf->download($file_name); } - - /** - * Mark the invoice as paid. - * - * @param Document $invoice - * - * @return Response - */ - public function markPaid(Document $invoice) - { - try { - event(new \App\Events\Document\PaymentReceived($invoice, ['type' => 'income', 'mark_paid' => 'invoice'])); - - $message = trans('documents.messages.marked_paid', ['type' => trans_choice('general.invoices', 1)]); - - flash($message)->success(); - } catch(\Exception $e) { - $message = $e->getMessage(); - - flash($message)->error()->important(); - } - - return redirect()->back(); - } } diff --git a/app/Http/Controllers/Sales/RecurringInvoices.php b/app/Http/Controllers/Sales/RecurringInvoices.php new file mode 100644 index 000000000..265e036f6 --- /dev/null +++ b/app/Http/Controllers/Sales/RecurringInvoices.php @@ -0,0 +1,189 @@ +middleware('permission:create-sales-invoices')->only('create', 'store', 'duplicate', 'import'); + $this->middleware('permission:read-sales-invoices')->only('index', 'show', 'edit', 'export'); + $this->middleware('permission:update-sales-invoices')->only('update', 'enable', 'disable'); + $this->middleware('permission:delete-sales-invoices')->only('destroy'); + } + + /** + * Display a listing of the resource. + * + * @return Response + */ + public function index() + { + $invoices = Document::with('contact', 'transactions', 'recurring')->invoiceRecurring()->collect(['issued_at' => 'desc']); + + return $this->response('sales.recurring_invoices.index', compact('invoices')); + } + + /** + * Show the form for viewing the specified resource. + * + * @param Document $recurring_invoice + * + * @return Response + */ + public function show(Document $recurring_invoice) + { + $recurring_invoice->load(['category', 'recurring', 'children']); + + return view('sales.recurring_invoices.show', compact('recurring_invoice')); + } + + /** + * Show the form for creating a new resource. + * + * @return Response + */ + public function create() + { + return view('sales.recurring_invoices.create'); + } + + /** + * Store a newly created resource in storage. + * + * @param Request $request + * + * @return Response + */ + public function store(Request $request) + { + $response = $this->ajaxDispatch(new CreateDocument($request->merge(['issued_at' => $request->get('recurring_started_at')]))); + + if ($response['success']) { + $response['redirect'] = route('recurring-invoices.show', $response['data']->id); + + $message = trans('messages.success.added', ['type' => trans_choice('general.recurring_invoices', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = route('recurring-invoices.create'); + + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } + + /** + * Duplicate the specified resource. + * + * @param Document $recurring_invoice + * + * @return Response + */ + public function duplicate(Document $recurring_invoice) + { + $clone = $this->dispatch(new DuplicateDocument($recurring_invoice)); + + $message = trans('messages.success.duplicated', ['type' => trans_choice('general.recurring_invoices', 1)]); + + flash($message)->success(); + + return redirect()->route('recurring-invoices.edit', $clone->id); + } + + /** + * Show the form for editing the specified resource. + * + * @param Document $recurring_invoice + * + * @return Response + */ + public function edit(Document $recurring_invoice) + { + return view('sales.recurring_invoices.edit', compact('recurring_invoice')); + } + + /** + * Update the specified resource in storage. + * + * @param Document $recurring_invoice + * @param Request $request + * + * @return Response + */ + public function update(Document $recurring_invoice, Request $request) + { + $response = $this->ajaxDispatch(new UpdateDocument($recurring_invoice, $request->merge(['issued_at' => $request->get('recurring_started_at')]))); + + if ($response['success']) { + $response['redirect'] = route('recurring-invoices.show', $response['data']->id); + + $message = trans('messages.success.updated', ['type' => trans_choice('general.recurring_invoices', 1)]); + + flash($message)->success(); + } else { + $response['redirect'] = route('recurring-invoices.edit', $recurring_invoice->id); + + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } + + /** + * End recurring template. + * + * @return Response + */ + public function end(Document $recurring_invoice) + { + $response = $this->ajaxDispatch(new UpdateDocument($recurring_invoice, [ + 'recurring_frequency' => $recurring_invoice->recurring->frequency, + 'recurring_interval' => $recurring_invoice->recurring->interval, + 'recurring_started_at' => $recurring_invoice->recurring->started_at, + 'recurring_limit' => $recurring_invoice->recurring->limit, + 'recurring_limit_count' => $recurring_invoice->recurring->limit_count, + 'recurring_limit_date' => $recurring_invoice->recurring->limit_date, + 'created_from' => $recurring_invoice->created_from, + 'created_by' => $recurring_invoice->created_by, + 'recurring_status' => Recurring::END_STATUS, + ])); + + if ($response['success']) { + $message = trans('messages.success.ended', ['type' => trans_choice('general.recurring_invoices', 1)]); + + flash($message)->success(); + } else { + $message = $response['message']; + + flash($message)->error()->important(); + } + + return redirect()->route('recurring-invoices.index'); + } +} diff --git a/app/Http/Controllers/Sales/Revenues.php b/app/Http/Controllers/Sales/Revenues.php deleted file mode 100644 index 01e6062ee..000000000 --- a/app/Http/Controllers/Sales/Revenues.php +++ /dev/null @@ -1,327 +0,0 @@ -income()->isNotTransfer()->collect(['paid_at'=> 'desc']); - - return $this->response('sales.revenues.index', compact('revenues')); - } - - /** - * Show the form for viewing the specified resource. - * - * @return Response - */ - public function show(Transaction $revenue) - { - return view('sales.revenues.show', compact('revenue')); - } - - /** - * Show the form for creating a new resource. - * - * @return Response - */ - public function create() - { - $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); - - $currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray(); - - $account_currency_code = Account::where('id', setting('default.account'))->pluck('currency_code')->first(); - - $currency = Currency::where('code', $account_currency_code)->first(); - - $customers = Contact::customer()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - - $categories = Category::income()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - - $payment_methods = Modules::getPaymentMethods(); - - $file_type_mimes = explode(',', config('filesystems.mimes')); - - $file_types = []; - - foreach ($file_type_mimes as $mime) { - $file_types[] = '.' . $mime; - } - - $file_types = implode(',', $file_types); - - return view('sales.revenues.create', compact('accounts', 'currencies', 'account_currency_code', 'currency', 'customers', 'categories', 'payment_methods', 'file_types')); - } - - /** - * Store a newly created resource in storage. - * - * @param Request $request - * - * @return Response - */ - public function store(Request $request) - { - $response = $this->ajaxDispatch(new CreateTransaction($request)); - - if ($response['success']) { - $response['redirect'] = route('revenues.show', $response['data']->id); - - $message = trans('messages.success.added', ['type' => trans_choice('general.revenues', 1)]); - - flash($message)->success(); - } else { - $response['redirect'] = route('revenues.create'); - - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Duplicate the specified resource. - * - * @param Transaction $revenue - * - * @return Response - */ - public function duplicate(Transaction $revenue) - { - $clone = $revenue->duplicate(); - - $message = trans('messages.success.duplicated', ['type' => trans_choice('general.revenues', 1)]); - - flash($message)->success(); - - return redirect()->route('revenues.edit', $clone->id); - } - - /** - * Import the specified resource. - * - * @param ImportRequest $request - * - * @return Response - */ - public function import(ImportRequest $request) - { - $response = $this->importExcel(new Import, $request, trans_choice('general.revenues', 2)); - - if ($response['success']) { - $response['redirect'] = route('revenues.index'); - - flash($response['message'])->success(); - } else { - $response['redirect'] = route('import.create', ['sales', 'revenues']); - - flash($response['message'])->error()->important(); - } - - return response()->json($response); - } - - /** - * Show the form for editing the specified resource. - * - * @param Transaction $revenue - * - * @return Response - */ - public function edit(Transaction $revenue) - { - $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); - - $currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray(); - - $currency = Currency::where('code', $revenue->currency_code)->first(); - - $customers = Contact::customer()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - - if ($revenue->contact && !$customers->has($revenue->contact_id)) { - $customers->put($revenue->contact->id, $revenue->contact->name); - } - - $categories = Category::income()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - - if ($revenue->category && !$categories->has($revenue->category_id)) { - $categories->put($revenue->category->id, $revenue->category->name); - } - - $payment_methods = Modules::getPaymentMethods(); - - $date_format = $this->getCompanyDateFormat(); - - $file_type_mimes = explode(',', config('filesystems.mimes')); - - $file_types = []; - - foreach ($file_type_mimes as $mime) { - $file_types[] = '.' . $mime; - } - - $file_types = implode(',', $file_types); - - return view('sales.revenues.edit', compact('revenue', 'accounts', 'currencies', 'currency', 'customers', 'categories', 'payment_methods', 'date_format', 'file_types')); - } - - /** - * Update the specified resource in storage. - * - * @param Transaction $revenue - * @param Request $request - * - * @return Response - */ - public function update(Transaction $revenue, Request $request) - { - $response = $this->ajaxDispatch(new UpdateTransaction($revenue, $request)); - - if ($response['success']) { - $response['redirect'] = route('revenues.show', $revenue->id); - - $message = trans('messages.success.updated', ['type' => trans_choice('general.revenues', 1)]); - - flash($message)->success(); - } else { - $response['redirect'] = route('revenues.edit', $revenue->id); - - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Remove the specified resource from storage. - * - * @param Transaction $revenue - * - * @return Response - */ - public function destroy(Transaction $revenue) - { - $response = $this->ajaxDispatch(new DeleteTransaction($revenue)); - - $response['redirect'] = route('revenues.index'); - - if ($response['success']) { - $message = trans('messages.success.deleted', ['type' => trans_choice('general.revenues', 1)]); - - flash($message)->success(); - } else { - $message = $response['message']; - - flash($message)->error()->important(); - } - - return response()->json($response); - } - - /** - * Export the specified resource. - * - * @return Response - */ - public function export() - { - return $this->exportExcel(new Export, trans_choice('general.revenues', 2)); - } - - /** - * Download the PDF file of revenue. - * - * @param Transaction $revenue - * - * @return Response - */ - public function emailRevenue(Transaction $revenue) - { - if (empty($revenue->contact->email)) { - return redirect()->back(); - } - - // Notify the customer - $revenue->contact->notify(new Notification($revenue, 'revenue_new_customer', true)); - - event(new \App\Events\Banking\TransactionSent($revenue)); - - flash(trans('documents.messages.email_sent', ['type' => trans_choice('general.revenues', 1)]))->success(); - - return redirect()->back(); - } - - /** - * Print the revenue. - * - * @param Transaction $revenue - * - * @return Response - */ - public function printRevenue(Transaction $revenue) - { - event(new \App\Events\Banking\TransactionPrinting($revenue)); - - $view = view($revenue->template_path, compact('revenue')); - - return mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); - } - - /** - * Download the PDF file of revenue. - * - * @param Transaction $revenue - * - * @return Response - */ - public function pdfRevenue(Transaction $revenue) - { - event(new \App\Events\Banking\TransactionPrinting($revenue)); - - $currency_style = true; - - $view = view($revenue->template_path, compact('revenue', 'currency_style'))->render(); - $html = mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); - - $pdf = app('dompdf.wrapper'); - $pdf->loadHTML($html); - - //$pdf->setPaper('A4', 'portrait'); - - $file_name = $this->getTransactionFileName($revenue); - - return $pdf->download($file_name); - } -} diff --git a/app/Http/Controllers/Settings/Categories.php b/app/Http/Controllers/Settings/Categories.php index 4bf5597fc..12163d94c 100644 --- a/app/Http/Controllers/Settings/Categories.php +++ b/app/Http/Controllers/Settings/Categories.php @@ -24,7 +24,7 @@ class Categories extends Controller */ public function index() { - $categories = Category::collect(); + $categories = Category::with('sub_categories')->collect(); $transfer_id = Category::transfer(); @@ -52,7 +52,21 @@ class Categories extends Controller { $types = $this->getCategoryTypes(); - return view('settings.categories.create', compact('types')); + $categories = []; + + foreach (config('type.category') as $type => $config) { + $categories[$type] = []; + } + + Category::enabled()->orderBy('name')->get()->each(function ($category) use (&$categories) { + $categories[$category->type][] = [ + 'id' => $category->id, + 'title' => $category->name, + 'level' => $category->level, + ]; + }); + + return view('settings.categories.create', compact('types', 'categories')); } /** @@ -120,7 +134,25 @@ class Categories extends Controller $type_disabled = (Category::where('type', $category->type)->count() == 1) ?: false; - return view('settings.categories.edit', compact('category', 'types', 'type_disabled')); + $edited_category_id = $category->id; + + $categories = []; + + foreach (config('type.category') as $type => $config) { + $categories[$type] = []; + } + + Category::enabled()->orderBy('name')->get()->each(function ($category) use (&$categories, $edited_category_id) { + if ($edited_category_id != $category->id) { + $categories[$category->type][] = [ + 'id' => $category->id, + 'title' => $category->name, + 'level' => $category->level, + ]; + } + }); + + return view('settings.categories.edit', compact('category', 'types', 'type_disabled', 'categories')); } /** @@ -131,8 +163,10 @@ class Categories extends Controller * * @return Response */ - public function update(Category $category, Request $request) + public function update($category_id, Request $request) { + $category = $this->getCategoryWithoutChildren($category_id); + $response = $this->ajaxDispatch(new UpdateCategory($category, $request)); if ($response['success']) { @@ -142,7 +176,7 @@ class Categories extends Controller flash($message)->success(); } else { - $response['redirect'] = route('categories.edit', $category->id); + $response['redirect'] = route('categories.edit', $category_id); $message = $response['message']; @@ -159,8 +193,10 @@ class Categories extends Controller * * @return Response */ - public function enable(Category $category) + public function enable($category_id) { + $category = $this->getCategoryWithoutChildren($category_id); + $response = $this->ajaxDispatch(new UpdateCategory($category, request()->merge(['enabled' => 1]))); if ($response['success']) { @@ -177,8 +213,10 @@ class Categories extends Controller * * @return Response */ - public function disable(Category $category) + public function disable($category_id) { + $category = $this->getCategoryWithoutChildren($category_id); + $response = $this->ajaxDispatch(new UpdateCategory($category, request()->merge(['enabled' => 0]))); if ($response['success']) { diff --git a/app/Http/Controllers/Settings/Company.php b/app/Http/Controllers/Settings/Company.php index e97f6079c..b31bdb2ec 100644 --- a/app/Http/Controllers/Settings/Company.php +++ b/app/Http/Controllers/Settings/Company.php @@ -2,9 +2,9 @@ namespace App\Http\Controllers\Settings; -use App\Abstracts\Http\Controller; +use App\Abstracts\Http\SettingController; -class Company extends Controller +class Company extends SettingController { public function edit() { diff --git a/app/Http/Controllers/Settings/Defaults.php b/app/Http/Controllers/Settings/Defaults.php index 59fc0b30b..e0e163d8c 100644 --- a/app/Http/Controllers/Settings/Defaults.php +++ b/app/Http/Controllers/Settings/Defaults.php @@ -2,26 +2,19 @@ namespace App\Http\Controllers\Settings; -use App\Abstracts\Http\Controller; -use App\Models\Banking\Account; +use App\Abstracts\Http\SettingController; use App\Models\Setting\Category; -use App\Models\Setting\Currency; use App\Models\Setting\Tax; -use App\Utilities\Modules; -class Defaults extends Controller +class Defaults extends SettingController { public function edit() { - $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); - - $currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code'); - - $sales_categories = Category::income()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); + $sales_categories = Category::income()->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); $sale_category_id = setting('default.income_category'); - if ($sale_category_id && !$sales_categories->has($sale_category_id)) { + if ($sale_category_id && !$sales_categories->pluck('id')->flip()->has($sale_category_id)) { $category = Category::find($sale_category_id); if ($category) { @@ -29,11 +22,11 @@ class Defaults extends Controller } } - $purchases_categories = Category::expense()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); + $purchases_categories = Category::expense()->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); $expense_category_id = setting('default.expense_category'); - if ($expense_category_id && !$purchases_categories->has($expense_category_id)) { + if ($expense_category_id && !$purchases_categories->pluck('id')->flip()->has($expense_category_id)) { $category = Category::find($expense_category_id); if ($category) { @@ -43,15 +36,10 @@ class Defaults extends Controller $taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id'); - $payment_methods = Modules::getPaymentMethods(); - return view('settings.default.edit', compact( - 'accounts', - 'currencies', 'sales_categories', 'purchases_categories', 'taxes', - 'payment_methods' )); } } diff --git a/app/Http/Controllers/Settings/Email.php b/app/Http/Controllers/Settings/Email.php index 6992c33e9..1ea69b9ba 100644 --- a/app/Http/Controllers/Settings/Email.php +++ b/app/Http/Controllers/Settings/Email.php @@ -2,50 +2,15 @@ namespace App\Http\Controllers\Settings; -use App\Abstracts\Http\Controller; +use App\Abstracts\Http\SettingController; use App\Http\Requests\Setting\Setting as Request; -use App\Jobs\Setting\UpdateEmailTemplate; use App\Models\Common\Company; -use App\Models\Common\EmailTemplate; -use App\Traits\Modules; use App\Utilities\Installer; -use Illuminate\Support\Str; -class Email extends Controller +class Email extends SettingController { - use Modules; - - public $skip_keys = ['company_id', '_method', '_token', '_prefix']; - - /** - * Instantiate a new controller instance. - */ - public function __construct() - { - // No need to check for permission in console - if (app()->runningInConsole()) { - return; - } - - // Add CRUD permission check - $this->middleware('permission:create-settings-settings')->only('create', 'store', 'duplicate', 'import'); - $this->middleware('permission:read-settings-email')->only('index', 'show', 'edit', 'export'); - $this->middleware('permission:update-settings-settings')->only('update', 'enable', 'disable'); - $this->middleware('permission:delete-settings-settings')->only('destroy'); - } - public function edit() { - $templates = EmailTemplate::all()->reject(function($template) { - if (Str::startsWith($template->class, 'App')) { - return false; - } - - $class = explode('\\', $template->class); - - return $this->moduleIsDisabled(Str::kebab($class[1])); - })->all(); - $email_protocols = [ 'mail' => trans('settings.email.php'), 'smtp' => trans('settings.email.smtp.name'), @@ -53,105 +18,6 @@ class Email extends Controller 'log' => trans('settings.email.log'), ]; - return view('settings.email.edit', compact( - 'templates', - 'email_protocols' - )); - } - - public function update(Request $request) - { - $fields = $request->all(); - $prefix = $request->get('_prefix', 'email'); - - $total_companies = Company::count(); - - foreach ($fields as $key => $value) { - $real_key = $prefix . '.' . $key; - - // Don't process unwanted keys - if (in_array($key, $this->skip_keys)) { - continue; - } - - if (Str::startsWith($key, 'template_')) { - $this->updateEmailTemplate($key, $fields); - - continue; - } - - if ($total_companies == 1) { - $this->oneCompany($real_key, $value); - } - - setting()->set($real_key, $value); - } - - // Save all settings - setting()->save(); - - $message = trans('messages.success.updated', ['type' => trans_choice('general.settings', 2)]); - - $response = [ - 'status' => null, - 'success' => true, - 'error' => false, - 'message' => $message, - 'data' => null, - 'redirect' => route('settings.index'), - ]; - - flash($message)->success(); - - return response()->json($response); - } - - public function updateEmailTemplate($key, &$fields) - { - $alias = str_replace(['template_', '_subject', '_body'], '', $key); - $subject_key = 'template_' . $alias . '_subject'; - $body_key = 'template_' . $alias . '_body'; - - if (empty($fields[$subject_key]) || empty($fields[$body_key])) { - return; - } - - $template = EmailTemplate::alias($alias)->first(); - - $this->dispatch(new UpdateEmailTemplate($template, [ - 'subject' => $fields[$subject_key], - 'body' => $fields[$body_key], - ])); - - unset($fields[$subject_key]); - unset($fields[$body_key]); - } - - protected function oneCompany($real_key, $value) - { - if (empty($value)) { - return; - } - - switch ($real_key) { - case 'email.protocol': - Installer::updateEnv(['MAIL_MAILER' => '"' . $value . '"']); - break; - case 'email.smtp_host': - Installer::updateEnv(['MAIL_HOST' => '"' . $value . '"']); - break; - case 'email.smtp_port': - Installer::updateEnv(['MAIL_PORT' => '"' . $value . '"']); - break; - case 'email.smtp_username': - Installer::updateEnv(['MAIL_USERNAME' => '"' . $value . '"']); - break; - case 'email.smtp_password': - Installer::updateEnv(['MAIL_PASSWORD' => '"' . $value . '"']); - break; - case 'email.smtp_encryption': - Installer::updateEnv(['MAIL_ENCRYPTION' => '"' . $value . '"']); - break; - } + return view('settings.email.edit', compact('email_protocols')); } } diff --git a/app/Http/Controllers/Settings/EmailTemplates.php b/app/Http/Controllers/Settings/EmailTemplates.php new file mode 100644 index 000000000..8a83a9dba --- /dev/null +++ b/app/Http/Controllers/Settings/EmailTemplates.php @@ -0,0 +1,84 @@ +reject(function($template) { + if (Str::startsWith($template->class, 'App')) { + return false; + } + + $class = explode('\\', $template->class); + + return $this->moduleIsDisabled(Str::kebab($class[1])); + })->each(function ($template) use (&$templates) { + $templates[$template->group][$template->id] = $template; + }); + + ksort($templates); + + return view('settings.email-templates.edit', compact('templates')); + } + + /** + * Update the specified resource in storage. + * + * @param Request $request + * + * @return Response + */ + public function update(Request $request) + { + $template = EmailTemplate::find($request->id); + + $response = $this->ajaxDispatch(new UpdateEmailTemplate($template, $request)); + + if ($response['success']) { + $response['redirect'] = url()->previous();; + + $message = trans('messages.success.updated', ['type' => trans($template->name)]); + + flash($message)->success(); + } else { + $response['redirect'] = url()->previous();; + + $message = $response['message']; + + flash($message)->error()->important(); + } + + return response()->json($response); + } + + public function get() + { + $template = EmailTemplate::find(request()->id); + + $template->tags = trans('settings.email.templates.tags', ['tag_list'=> implode(', ', app($template->class)->getTags())]); + + return response()->json([ + 'errors' => false, + 'success' => true, + 'data' => $template, + ]); + } +} diff --git a/app/Http/Controllers/Settings/Invoice.php b/app/Http/Controllers/Settings/Invoice.php index 387bd17e3..723b42660 100644 --- a/app/Http/Controllers/Settings/Invoice.php +++ b/app/Http/Controllers/Settings/Invoice.php @@ -2,13 +2,14 @@ namespace App\Http\Controllers\Settings; -use App\Abstracts\Http\Controller; +use App\Abstracts\Http\SettingController; -class Invoice extends Controller +class Invoice extends SettingController { public function edit() { $item_names = [ + 'hide' => trans('settings.invoice.hide.item_name'), 'settings.invoice.item' => trans('settings.invoice.item'), 'settings.invoice.product' => trans('settings.invoice.product'), 'settings.invoice.service' => trans('settings.invoice.service'), @@ -16,12 +17,14 @@ class Invoice extends Controller ]; $price_names = [ + 'hide' => trans('settings.invoice.hide.price'), 'settings.invoice.price' => trans('settings.invoice.price'), 'settings.invoice.rate' => trans('settings.invoice.rate'), 'custom' => trans('settings.invoice.custom'), ]; $quantity_names = [ + 'hide' => trans('settings.invoice.hide.quantity'), 'settings.invoice.quantity' => trans('settings.invoice.quantity'), 'custom' => trans('settings.invoice.custom'), ]; diff --git a/app/Http/Controllers/Settings/Localisation.php b/app/Http/Controllers/Settings/Localisation.php index aff8cd058..8211dd6e2 100644 --- a/app/Http/Controllers/Settings/Localisation.php +++ b/app/Http/Controllers/Settings/Localisation.php @@ -2,10 +2,10 @@ namespace App\Http\Controllers\Settings; -use App\Abstracts\Http\Controller; +use App\Abstracts\Http\SettingController; use App\Traits\DateTime; -class Localisation extends Controller +class Localisation extends SettingController { use DateTime; diff --git a/app/Http/Controllers/Settings/Modules.php b/app/Http/Controllers/Settings/Modules.php index a9e61fb59..94f75b99f 100644 --- a/app/Http/Controllers/Settings/Modules.php +++ b/app/Http/Controllers/Settings/Modules.php @@ -72,7 +72,7 @@ class Modules extends Controller 'error' => false, 'message' => $message, 'data' => null, - 'redirect' => route('settings.index')//('settings/apps/' . $alias), + 'redirect' => route('settings.module.edit', $alias)//('settings/apps/' . $alias), ]; flash($message)->success(); diff --git a/app/Http/Controllers/Settings/Schedule.php b/app/Http/Controllers/Settings/Schedule.php index 187644d27..3ff79aca5 100644 --- a/app/Http/Controllers/Settings/Schedule.php +++ b/app/Http/Controllers/Settings/Schedule.php @@ -2,9 +2,9 @@ namespace App\Http\Controllers\Settings; -use App\Abstracts\Http\Controller; +use App\Abstracts\Http\SettingController; -class Schedule extends Controller +class Schedule extends SettingController { public function edit() { diff --git a/app/Http/Controllers/Settings/Settings.php b/app/Http/Controllers/Settings/Settings.php deleted file mode 100644 index 4eae0bdb0..000000000 --- a/app/Http/Controllers/Settings/Settings.php +++ /dev/null @@ -1,186 +0,0 @@ -settings = []; - - // Get enabled modules - $enabled_modules = Module::enabled()->get(); - - foreach ($enabled_modules as $module) { - $m = module($module->alias); - - // Check if the module exists and has settings - if (!$m || empty($m->get('settings'))) { - continue; - } - - $modules->settings[$m->getAlias()] = [ - 'name' => $m->getName(), - 'description' => $m->getDescription(), - 'url' => route('settings.module.edit', ['alias' => $m->getAlias()]), - 'icon' => $m->get('icon', 'fa fa-cog'), - ]; - } - - event(new \App\Events\Module\SettingShowing($modules)); - - $settings = []; - - foreach ($modules->settings as $alias => $setting) { - $permission = !empty($setting['permission']) ? $setting['permission'] : 'read-' . $alias . '-settings'; - - if (!user()->can($permission)) { - continue; - } - - $settings[$alias] = $setting; - } - - return $this->response('settings.settings.index', ['modules' => $settings]); - } - - /** - * Update the specified resource in storage. - * - * @param Request $request - * - * @return Response - */ - public function update(Request $request) - { - $fields = $request->all(); - $prefix = $request->get('_prefix', 'general'); - $company_id = $request->get('company_id'); - - if (empty($company_id)) { - $company_id = company_id(); - } - - $company = Company::find($company_id); - - $total_companies = Company::count(); - - foreach ($fields as $key => $value) { - $real_key = $prefix . '.' . $key; - - // Don't process unwanted keys - if (in_array($key, $this->skip_keys)) { - continue; - } - - // change dropzone middleware already uploaded file - if (in_array($real_key, $this->uploaded_file_keys)) { - continue; - } - - // Process file uploads - if (in_array($real_key, $this->file_keys)) { - // Upload attachment - if ($request->file($key)) { - $media = $this->getMedia($request->file($key), 'settings'); - - $company->attachMedia($media, Str::snake($real_key)); - - $value = $media->id; - } - - // Prevent reset - if (empty($value)) { - continue; - } - } - - if ($real_key == 'default.locale') { - if (!in_array($value, config('language.allowed'))) { - continue; - } - - user()->setAttribute('locale', $value)->save(); - } - - if ($real_key == 'default.currency') { - $currencies = Currency::enabled()->pluck('code')->toArray(); - - if (!in_array($value, $currencies)) { - continue; - } - - $currency = Currency::code($value)->first(); - $currency->rate = '1'; - $currency->save(); - } - - // If only 1 company - if ($total_companies == 1) { - $this->oneCompany($real_key, $value); - } - - setting()->set($real_key, $value); - } - - // Save all settings - setting()->save(); - - $message = trans('messages.success.updated', ['type' => trans_choice('general.settings', 2)]); - - $response = [ - 'status' => null, - 'success' => true, - 'error' => false, - 'message' => $message, - 'data' => null, - 'redirect' => route('settings.index'), - ]; - - flash($message)->success(); - - return response()->json($response); - } - - protected function oneCompany($real_key, $value) - { - switch ($real_key) { - case 'company.name': - Installer::updateEnv(['MAIL_FROM_NAME' => '"' . $value . '"']); - break; - case 'company.email': - Installer::updateEnv(['MAIL_FROM_ADDRESS' => '"' . $value . '"']); - break; - case 'default.locale': - Installer::updateEnv(['APP_LOCALE' => '"' . $value . '"']); - break; - case 'schedule.time': - Installer::updateEnv(['APP_SCHEDULE_TIME' => '"' . $value . '"']); - break; - } - } -} \ No newline at end of file diff --git a/app/Http/Controllers/Settings/Taxes.php b/app/Http/Controllers/Settings/Taxes.php index 57d1332d4..058c1c2a2 100644 --- a/app/Http/Controllers/Settings/Taxes.php +++ b/app/Http/Controllers/Settings/Taxes.php @@ -3,7 +3,10 @@ namespace App\Http\Controllers\Settings; use App\Abstracts\Http\Controller; +use App\Exports\Settings\Taxes as Export; +use App\Http\Requests\Common\Import as ImportRequest; use App\Http\Requests\Setting\Tax as Request; +use App\Imports\Settings\Taxes as Import; use App\Jobs\Setting\CreateTax; use App\Jobs\Setting\DeleteTax; use App\Jobs\Setting\UpdateTax; @@ -11,7 +14,6 @@ use App\Models\Setting\Tax; class Taxes extends Controller { - /** * Display a listing of the resource. * @@ -94,6 +96,30 @@ class Taxes extends Controller return response()->json($response); } + /** + * Import the specified resource. + * + * @param ImportRequest $request + * + * @return Response + */ + public function import(ImportRequest $request) + { + $response = $this->importExcel(new Import, $request, trans_choice('general.taxes', 2)); + + if ($response['success']) { + $response['redirect'] = route('taxes.index'); + + flash($response['message'])->success(); + } else { + $response['redirect'] = route('import.create', ['settings', 'taxes']); + + flash($response['message'])->error()->important(); + } + + return response()->json($response); + } + /** * Show the form for editing the specified resource. * @@ -210,4 +236,14 @@ class Taxes extends Controller return response()->json($response); } + + /** + * Export the specified resource. + * + * @return Response + */ + public function export() + { + return $this->exportExcel(new Export, trans_choice('general.taxes', 2)); + } } diff --git a/app/Http/Controllers/Wizard/Finish.php b/app/Http/Controllers/Wizard/Finish.php index 128bc7145..7ae264ed6 100644 --- a/app/Http/Controllers/Wizard/Finish.php +++ b/app/Http/Controllers/Wizard/Finish.php @@ -32,7 +32,7 @@ class Finish extends Controller $data = [ 'query' => [ - 'limit' => 4 + 'limit' => 6 ] ]; diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 83006e4a1..f7cc49ecc 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -48,7 +48,7 @@ class Kernel extends HttpKernel ], 'api' => [ - 'api.auth', + 'auth.basic.once', 'auth.disabled', 'throttle:api', 'permission:read-api', @@ -91,6 +91,7 @@ class Kernel extends HttpKernel 'auth.disabled', 'company.identify', 'bindings', + 'read.only', 'permission:read-admin-panel', ], @@ -105,6 +106,16 @@ class Kernel extends HttpKernel 'permission:read-client-portal', ], + 'preview' => [ + 'web', + 'auth', + 'auth.disabled', + 'company.identify', + 'bindings', + 'read.only', + 'permission:read-admin-panel', + ], + 'signed' => [ 'cookies.encrypt', 'cookies.response', @@ -152,6 +163,7 @@ class Kernel extends HttpKernel // Akaunting 'api.key' => \App\Http\Middleware\RedirectIfNoApiKey::class, + 'auth.basic.once' => \App\Http\Middleware\AuthenticateOnceWithBasicAuth::class, 'auth.disabled' => \App\Http\Middleware\LogoutIfUserDisabled::class, 'auth.redirect' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'company.identify' => \App\Http\Middleware\IdentifyCompany::class, diff --git a/app/Http/Livewire/Common/Notifications/Exports.php b/app/Http/Livewire/Common/Notifications/Exports.php deleted file mode 100644 index b137ab486..000000000 --- a/app/Http/Livewire/Common/Notifications/Exports.php +++ /dev/null @@ -1,91 +0,0 @@ - '$notifications', - ]; - - public function markRead($notification_id) - { - $notification = DatabaseNotification::find($notification_id); - $data = $notification->getAttribute('data'); - - $notification->markAsRead(); - - $type = isset($data['file_name']) ?: trans('general.export'); - - $this->dispatchBrowserEvent('mark-read', [ - 'type' => 'export', - 'message' => trans('notifications.messages.mark_read', ['type' => $type]), - ]); - } - - public function markReadAll() - { - $notifications = $this->getNotifications(); - - foreach ($notifications as $notification) { - $notification->markAsRead(); - } - - $this->dispatchBrowserEvent('mark-read-all', [ - 'type' => 'export', - 'message' => trans('notifications.messages.mark_read_all', ['type' => trans('general.export')]), - ]); - } - - public function render() - { - $limit = 5; - - $notifications = $this->getNotifications($limit); - - return view('livewire.common.notifications.exports', compact('notifications')); - } - - protected function getNotifications($limit = false) - { - $query = user()->notifications()->unread() - ->where(function ($query) { - $query->where('type', 'App\Notifications\Common\ExportCompleted') - ->orWhere('type', 'App\Notifications\Common\ExportFailed'); - }); - - if ($limit) { - $notifications = $query->paginate($limit); - } else { - $notifications = $query->get(); - } - - if ($notifications) { - $items = []; - - foreach ($notifications as $key => $notification) { - $data = (object) $notification->getAttribute('data'); - $data->notification_id = $notification->getAttribute('id'); - - $items[] = $data; - } - - $notifications->setCollection(Collection::make($items)); - } - - return $notifications; - } - - public function paginationView() - { - return 'vendor.livewire.default'; - } -} diff --git a/app/Http/Livewire/Common/Notifications/Imports.php b/app/Http/Livewire/Common/Notifications/Imports.php deleted file mode 100644 index f30d9feba..000000000 --- a/app/Http/Livewire/Common/Notifications/Imports.php +++ /dev/null @@ -1,91 +0,0 @@ - '$notifications', - ]; - - public function markRead($notification_id) - { - $notification = DatabaseNotification::find($notification_id); - $data = $notification->getAttribute('data'); - - $notification->markAsRead(); - - $type = isset($data['translation']) ?: trans('import.import'); - - $this->dispatchBrowserEvent('mark-read', [ - 'type' => 'import', - 'message' => trans('notifications.messages.mark_read', ['type' => $type]), - ]); - } - - public function markReadAll() - { - $notifications = $this->getNotifications(); - - foreach ($notifications as $notification) { - $notification->markAsRead(); - } - - $this->dispatchBrowserEvent('mark-read-all', [ - 'type' => 'import', - 'message' => trans('notifications.messages.mark_read_all', ['type' => trans('import.import')]), - ]); - } - - public function render() - { - $limit = 5; - - $notifications = $this->getNotifications($limit); - - return view('livewire.common.notifications.imports', compact('notifications')); - } - - protected function getNotifications($limit = false) - { - $query = user()->notifications()->unread() - ->where(function ($query) { - $query->where('type', 'App\Notifications\Common\ImportCompleted') - ->orWhere('type', 'App\Notifications\Common\ImportFailed'); - }); - - if ($limit) { - $notifications = $query->paginate($limit); - } else { - $notifications = $query->get(); - } - - if ($notifications) { - $items = []; - - foreach ($notifications as $key => $notification) { - $data = (object) $notification->getAttribute('data'); - $data->notification_id = $notification->getAttribute('id'); - - $items[] = $data; - } - - $notifications->setCollection(Collection::make($items)); - } - - return $notifications; - } - - public function paginationView() - { - return 'vendor.livewire.default'; - } -} diff --git a/app/Http/Livewire/Common/Notifications/NewApps.php b/app/Http/Livewire/Common/Notifications/NewApps.php deleted file mode 100644 index 5e76a6769..000000000 --- a/app/Http/Livewire/Common/Notifications/NewApps.php +++ /dev/null @@ -1,107 +0,0 @@ -getNotifications('new-apps'); - - foreach ($notifications as $notification) { - if ($notification->alias != $alias) { - continue; - } - - $read = $notification; - } - - $prefix = 'notifications.' . user()->id . '.' . $alias; - - setting()->set([ - $prefix . '.name' => $read->name, - $prefix . '.message' => $read->alias, - $prefix . '.date' => Date::now(), - $prefix . '.status' => '0', - ]); - - setting()->save(); - - $this->dispatchBrowserEvent('mark-read', [ - 'type' => 'new-apps', - 'message' => trans('notifications.messages.mark_read', ['type' => $read->name]), - ]); - } - - public function markReadAll() - { - $notifications = $this->getNotifications('new-apps'); - - foreach ($notifications as $notification) { - $prefix = 'notifications.' . user()->id . '.' . $notification->alias; - - setting()->set([ - $prefix . '.name' => $notification->name, - $prefix . '.message' => $notification->alias, - $prefix . '.date' => Date::now(), - $prefix . '.status' => '0', - ]); - } - - setting()->save(); - - $this->dispatchBrowserEvent('mark-read-all', [ - 'type' => 'new-apps', - 'message' => trans('notifications.messages.mark_read_all', ['type' => trans_choice('notifications.new_apps', 2)]), - ]); - } - - public function render() - { - $notifications = $this->getNotifications('new-apps'); - - $this->clearReadNotifications($notifications); - - return view('livewire.common.notifications.new-apps', compact('notifications')); - } - - protected function clearReadNotifications(&$notifications) - { - $hide_notifications = setting('notifications.' . user()->id); - - if (!$hide_notifications) { - return; - } - - if (!$notifications) { - return; - } - - $aliases = []; - - // MarkRead app notification - foreach ($notifications as $index => $notification) { - $aliases[] = $notification->alias; - - if (setting('notifications.' . user()->id . '.' . $notification->alias)) { - unset($notifications[$index]); - } - } - - // Clear setting table missing notification - foreach ($hide_notifications as $alias => $hide_notification) { - if (in_array($alias, $aliases)) { - continue; - } - - setting()->forget('notifications.' . user()->id . '.' . $alias); - setting()->save(); - } - } -} diff --git a/app/Http/Livewire/Common/Notifications/Recurring.php b/app/Http/Livewire/Common/Notifications/Recurring.php deleted file mode 100644 index 57ab64546..000000000 --- a/app/Http/Livewire/Common/Notifications/Recurring.php +++ /dev/null @@ -1,88 +0,0 @@ -getAttribute('data'); - - $notification->markAsRead(); - - $this->dispatchBrowserEvent('mark-read', [ - 'type' => 'recurring-' . $this->type, - 'message' => trans('notifications.messages.mark_read', ['type' => $data[$this->type . '_number']]), - ]); - } - - public function markReadAll() - { - $notifications = $this->getNotifications(); - - foreach ($notifications as $notification) { - $notification->markAsRead(); - } - - $this->dispatchBrowserEvent('mark-read-all', [ - 'type' => 'recurring-' . $this->type, - 'message' => trans('notifications.messages.mark_read', ['type' => trans_choice('general.' . Str::plural($this->type) , 2)]), - ]); - } - - public function render() - { - $limit = 5; - - $notifications = $this->getNotifications($limit); - - return view('livewire.common.notifications.recurring', compact('notifications')); - } - - protected function getNotifications($limit = false) - { - $type = config('type.' . $this->type . '.notification.class'); - - $query = user()->notifications()->unread() - ->where('type', $type) - ->where('data', 'like', '%template_alias:{$this->type}_recurring_admin%'); - - if ($limit) { - $notifications = $query->paginate($limit); - } else { - $notifications = $query->get(); - } - - if ($notifications) { - $items = []; - - foreach ($notifications as $key => $notification) { - $data = (object) $notification->getAttribute('data'); - - $item = Document::{$this->type}()->where('id', $data[$this->type . '_id'])->first(); - $item->notification_id = $notification->getAttribute('id'); - - $items[] = $item; - } - - $notifications->setCollection(Collection::make($items)); - } - - return $notifications; - } - - public function paginationView() - { - return 'vendor.livewire.default'; - } -} diff --git a/app/Http/Livewire/Common/Notifications/Reminder.php b/app/Http/Livewire/Common/Notifications/Reminder.php deleted file mode 100644 index 38405eee9..000000000 --- a/app/Http/Livewire/Common/Notifications/Reminder.php +++ /dev/null @@ -1,88 +0,0 @@ -getAttribute('data'); - - $notification->markAsRead(); - - $this->dispatchBrowserEvent('mark-read', [ - 'type' => 'reminder-' . $this->type, - 'message' => trans('notifications.messages.mark_read', ['type' => $data[$this->type . '_number']]), - ]); - } - - public function markReadAll() - { - $notifications = $this->getNotifications(); - - foreach ($notifications as $notification) { - $notification->markAsRead(); - } - - $this->dispatchBrowserEvent('mark-read-all', [ - 'type' => 'reminder-' . $this->type, - 'message' => trans('notifications.messages.mark_read', ['type' => trans_choice('general.' . Str::plural($this->type) , 2)]), - ]); - } - - public function render() - { - $limit = 5; - - $notifications = $this->getNotifications($limit); - - return view('livewire.common.notifications.reminder', compact('notifications')); - } - - protected function getNotifications($limit = false) - { - $type = config('type.' . $this->type . '.notification.class'); - - $query = user()->notifications()->unread() - ->where('type', $type) - ->where('data', 'like', '%template_alias:{$this->type}_remind_admin%'); - - if ($limit) { - $notifications = $query->paginate($limit); - } else { - $notifications = $query->get(); - } - - if ($notifications) { - $items = []; - - foreach ($notifications as $key => $notification) { - $data = (object) $notification->getAttribute('data'); - - $item = Document::{$this->type}()->where('id', $data[$this->type . '_id'])->first(); - $item->notification_id = $notification->getAttribute('id'); - - $items[] = $item; - } - - $notifications->setCollection(Collection::make($items)); - } - - return $notifications; - } - - public function paginationView() - { - return 'vendor.livewire.default'; - } -} diff --git a/app/Http/Livewire/Menu/Favorite.php b/app/Http/Livewire/Menu/Favorite.php new file mode 100644 index 000000000..785bd4b9f --- /dev/null +++ b/app/Http/Livewire/Menu/Favorite.php @@ -0,0 +1,99 @@ +id, []); + + if (!empty($favorites)) { + $favorites = json_decode($favorites, true); + + foreach ($favorites as $favorite) { + if ($this->title == $favorite['title']) { + $this->favorited = true; + + break; + } + } + } + + return view('livewire.menu.favorite'); + } + + public function changeStatus() + { + if ($this->favorited) { + $this->removeFavorite(); + } else { + $this->addFavorite(); + } + } + + public function addFavorite() + { + $favorites = setting('favorites.menu.' . user()->id, []); + + if (!empty($favorites)) { + $favorites = json_decode($favorites, true); + } + + /* + if (in_array($this->title, $favorites)) { + return; + } + */ + + $favorites[] = [ + 'title' => $this->title, + 'icon' => $this->icon, + 'route' => $this->route, + 'url' => $this->url, + ]; + + $this->favorited = true; + + setting(['favorites.menu.' . user()->id => json_encode($favorites)])->save(); + + $this->emit('addedFavorite'); + } + + public function removeFavorite() + { + $favorites = setting('favorites.menu.' . user()->id, []); + + if (!empty($favorites)) { + $favorites = json_decode($favorites, true); + } + + foreach ($favorites as $key => $favorited) { + if ($favorited['title'] != $this->title) { + continue; + } + + unset($favorites[$key]); + $this->favorited = false; + + break; + } + + setting(['favorites.menu.' . user()->id => json_encode($favorites)])->save(); + + $this->emit('removedFavorite'); + } +} diff --git a/app/Http/Livewire/Menu/Favorites.php b/app/Http/Livewire/Menu/Favorites.php new file mode 100644 index 000000000..d6102de27 --- /dev/null +++ b/app/Http/Livewire/Menu/Favorites.php @@ -0,0 +1,95 @@ + 'render', + 'removedFavorite' => 'render', + ]; + + public function render(): View + { + $this->favorites = collect(); + + $favorites = setting('favorites.menu.' . user()->id, []); + + if (!empty($favorites)) { + $favorites = json_decode($favorites, true); + + foreach ($favorites as $favorite) { + $favorite['active'] = false; + $favorite['url'] = $this->getUrl($favorite); + $favorite['id'] = $this->getId($favorite); + + if ($this->isActive($favorite['url'])) { + $favorite['active'] = true; + } + + $this->favorites->push($favorite); + } + } + + return view('livewire.menu.favorites'); + } + + /** + * Get url. + * + * @return string + */ + public function getUrl($favorite) + { + if (! empty($favorite['route'])) { + $route = $favorite['route']; + + if (is_array($route)) { + $url = route($route[0], $route[1]); + } else { + $url = route($route); + } + + return str_replace(url('/') . '/', '', $url); + } + + if (empty($favorite['url'])) { + return '/#'; + } + + return str_replace(url('/') . '/', '', url($favorite['url'])); + } + + /** + * Get active state for current item. + * + * @return mixed + */ + public function isActive($url) + { + if (empty($url) || in_array($url, ['/'])) { + return Request::is($url); + } else { + return Request::is($url, $url . '/*'); + } + } + + public function getId($favorite) + { + $id = Str::of($favorite['url']) + ->replace(url('/'), '-') + ->replace(company_id(), '') + ->replace(['/', '?', '='], '-') + ->trim('-') + ->squish(); + + return 'menu-favorites-' . $id; + } +} diff --git a/app/Http/Livewire/Menu/Neww.php b/app/Http/Livewire/Menu/Neww.php new file mode 100644 index 000000000..f8948835d --- /dev/null +++ b/app/Http/Livewire/Menu/Neww.php @@ -0,0 +1,80 @@ +user = user(); + + menu()->create('neww', function ($menu) { + $menu->style('tailwind'); + + event(new NewwCreated($menu)); + + foreach($menu->getItems() as $item) { + if ($this->availableInSearch($item)) { + continue; + } + + $menu->removeByTitle($item->title); + } + }); + + return view('livewire.menu.neww'); + } + + public function availableInSearch($item): bool + { + if (empty($this->keyword)) { + return true; + } + + return $this->search($item); + } + + public function search($item): bool + { + $status = false; + + $keywords = explode(' ', $this->keyword); + + foreach ($keywords as $keyword) { + if (Str::contains(Str::lower($item->title), Str::lower($keyword))) { + $status = true; + + break; + } + + if ( + !empty($item->attributes['search_keywords']) + && Str::contains(Str::lower($item->attributes['search_keywords']), Str::lower($keyword)) + ) { + $status = true; + + break; + } + } + + return $status; + } + + public function resetKeyword(): void + { + $this->keyword = ''; + } +} diff --git a/app/Http/Livewire/Menu/Notifications.php b/app/Http/Livewire/Menu/Notifications.php new file mode 100644 index 000000000..5f740294b --- /dev/null +++ b/app/Http/Livewire/Menu/Notifications.php @@ -0,0 +1,119 @@ +user = user(); + + $this->notifications = $this->getNotifications(); + + return view('livewire.menu.notifications'); + } + + public function markRead($notification_id) + { + $notification = DatabaseNotification::find($notification_id); + $data = $notification->getAttribute('data'); + + $notification->markAsRead(); + + $type = isset($data['file_name']) ?: trans('general.export'); + + $this->dispatchBrowserEvent('mark-read', [ + 'type' => 'notification', + 'message' => trans('notifications.messages.mark_read', ['type' => $type]), + ]); + } + + public function markReadAll() + { + $notifications = user()->unreadNotifications; + + foreach ($notifications as $notification) { + $notification->markAsRead(); + } + + $this->dispatchBrowserEvent('mark-read-all', [ + 'type' => 'notification', + 'message' => trans('notifications.messages.mark_read_all', ['type' => trans('general.export')]), + ]); + } + + public function getNotifications(): array + { + $notifications = new \stdClass(); + $notifications->notifications = []; + $notifications->keyword = $this->keyword; + + event(new NotificationsCreated($notifications)); + + $rows = []; + + foreach ($notifications->notifications as $notification) { + if (! $this->availableInSearch($notification)) { + continue; + } + + $rows[] = $notification; + } + + return $rows; + } + + public function availableInSearch($notification): bool + { + if (empty($this->keyword)) { + return true; + } + + return $this->search($notification); + } + + public function search($notification): bool + { + $status = false; + + $keywords = explode(' ', $this->keyword); + + foreach ($keywords as $keyword) { + if (Str::contains(Str::lower($notification->data['title']), Str::lower($keyword))) { + $status = true; + + break; + } + + if ( + !empty($notification->data['description']) + && Str::contains(Str::lower($notification->data['description']), Str::lower($keyword)) + ) { + $status = true; + + break; + } + } + + return $status; + } + + public function resetKeyword(): void + { + $this->keyword = ''; + } +} diff --git a/app/Http/Livewire/Menu/Profile.php b/app/Http/Livewire/Menu/Profile.php new file mode 100644 index 000000000..61adbee96 --- /dev/null +++ b/app/Http/Livewire/Menu/Profile.php @@ -0,0 +1,29 @@ +create('profile', function ($menu) { + $menu->style('tailwind'); + + event(new ProfileCreated($menu)); + + foreach($menu->getItems() as $item) { + if ($item->isActive()) { + $this->active_menu = 1; + } + } + }); + + return view('livewire.menu.profile'); + } +} diff --git a/app/Http/Livewire/Menu/Settings.php b/app/Http/Livewire/Menu/Settings.php new file mode 100644 index 000000000..cdf3ed678 --- /dev/null +++ b/app/Http/Livewire/Menu/Settings.php @@ -0,0 +1,117 @@ +user = user(); + + menu()->create('settings', function ($menu) { + $menu->style('tailwind'); + + event(new SettingsCreated($menu)); + + $this->addSettingsOfModulesFromJsonFile($menu); + + foreach($menu->getItems() as $item) { + if ($item->isActive()) { + $this->active_menu = 1; + } + + if ($this->availableInSearch($item)) { + continue; + } + + $menu->removeByTitle($item->title); + } + }); + + return view('livewire.menu.settings'); + } + + public function addSettingsOfModulesFromJsonFile($menu): void + { + // Get enabled modules + $enabled_modules = Module::enabled()->get(); + + $order = 110; + + foreach ($enabled_modules as $module) { + $m = module($module->alias); + + // Check if the module exists and has settings + if (!$m || empty($m->get('settings'))) { + continue; + } + + if ($this->user->cannot('read-' . $m->getAlias() . '-settings')) { + continue; + } + + $menu->route('settings.module.edit', $m->getName(), ['alias' => $m->getAlias()], $m->get('setting_order', $order), [ + 'icon' => $m->get('icon', 'custom-akaunting'), + 'search_keywords' => $m->getDescription(), + ]); + + $order += 10; + } + } + + public function availableInSearch($item): bool + { + if (empty($this->keyword)) { + return true; + } + + return $this->search($item); + } + + public function search($item): bool + { + $status = false; + + $keywords = explode(' ', $this->keyword); + + foreach ($keywords as $keyword) { + if (Str::contains(Str::lower($item->title), Str::lower($keyword))) { + $status = true; + + break; + } + + if ( + !empty($item->attributes['search_keywords']) + && Str::contains(Str::lower($item->attributes['search_keywords']), Str::lower($keyword)) + ) { + $status = true; + + break; + } + } + + return $status; + } + + public function resetKeyword(): void + { + $this->keyword = ''; + } +} diff --git a/app/Http/Livewire/Report/Pin.php b/app/Http/Livewire/Report/Pin.php new file mode 100644 index 000000000..31d5d3336 --- /dev/null +++ b/app/Http/Livewire/Report/Pin.php @@ -0,0 +1,110 @@ +id, []); + + if (!empty($pins)) { + $pins = json_decode($pins, true); + + foreach ($this->categories as $category) { + foreach($category['reports'] as $report) { + if (is_array($report)) { + $report = Report::find($report['id']); + } + + if (! Utility::canShow($report->class)) { + continue; + } + + $class = Utility::getClassInstance($report, false); + + if (empty($class)) { + continue; + } + + if (in_array($this->reportId, $pins)) { + $this->pinned = true; + + break; + } + } + } + } + + return view('livewire.report.pin'); + } + + public function changeStatus($report_id) + { + if ($this->pinned) { + $this->removePin($report_id); + } else { + $this->addPin($report_id); + } + } + + public function addPin($report_id) + { + $pins = setting('favorites.report.' . user()->id, []); + + if (!empty($pins)) { + $pins = json_decode($pins, true); + } + + if (in_array($report_id, $pins)) { + return; + } + + if (count($pins) >= 6) { + return; + } + + $pins[] = $report_id; + + $this->pinned = true; + + setting(['favorites.report.' . user()->id => json_encode($pins)])->save(); + + $this->emit('addedPin'); + } + + public function removePin($report_id) + { + $pins = setting('favorites.report.' . user()->id, []); + + if (!empty($pins)) { + $pins = json_decode($pins, true); + } + + foreach ($pins as $key => $pinned_id) { + if ($pinned_id != $report_id) { + continue; + } + + unset($pins[$key]); + $this->pinned = false; + + break; + } + + setting(['favorites.report.' . user()->id => json_encode($pins)])->save(); + + $this->emit('removedPin'); + } +} diff --git a/app/Http/Livewire/Report/Pins.php b/app/Http/Livewire/Report/Pins.php new file mode 100644 index 000000000..19a5a128f --- /dev/null +++ b/app/Http/Livewire/Report/Pins.php @@ -0,0 +1,64 @@ + 'render', + 'removedPin' => 'render', + ]; + + public function render(): View + { + $this->reports = collect(); + + $pins = setting('favorites.report.' . user()->id, []); + + if (!empty($pins)) { + $pins = json_decode($pins, true); + + foreach ($this->categories as $category) { + foreach($category['reports'] as $report) { + if (is_array($report)) { + $report = Report::find($report['id']); + } + + if (! Utility::canShow($report->class)) { + continue; + } + + $class = Utility::getClassInstance($report, false); + + if (empty($class)) { + continue; + } + + if (in_array($report->id, $pins)) { + $this->reports->push($report); + + $this->icons[$report->id] = $class->getIcon(); + } + } + } + } + + return view('livewire.report.pins'); + } +} diff --git a/app/Http/Middleware/AdminMenu.php b/app/Http/Middleware/AdminMenu.php index a627a9dc9..451f2521d 100644 --- a/app/Http/Middleware/AdminMenu.php +++ b/app/Http/Middleware/AdminMenu.php @@ -22,7 +22,7 @@ class AdminMenu } menu()->create('admin', function ($menu) { - $menu->style('argon'); + $menu->style('tailwind'); event(new AdminCreated($menu)); }); diff --git a/app/Http/Middleware/AuthenticateOnceWithBasicAuth.php b/app/Http/Middleware/AuthenticateOnceWithBasicAuth.php new file mode 100644 index 000000000..70181bbfc --- /dev/null +++ b/app/Http/Middleware/AuthenticateOnceWithBasicAuth.php @@ -0,0 +1,20 @@ +getCompanyIdFromQuery() ?: $this->getCompanyIdFromHeader(); - return $company_id ?: optional($this->getFirstCompanyOfUser())->id; + return $company_id ?: $this->getFirstCompanyOfUser()?->id; } protected function getCompanyIdFromRoute() @@ -86,4 +86,4 @@ class IdentifyCompany { return (int) $this->request->header('X-Company'); } -} +} \ No newline at end of file diff --git a/app/Http/Middleware/PortalMenu.php b/app/Http/Middleware/PortalMenu.php index 483889726..9150b1f62 100644 --- a/app/Http/Middleware/PortalMenu.php +++ b/app/Http/Middleware/PortalMenu.php @@ -22,7 +22,7 @@ class PortalMenu } menu()->create('portal', function ($menu) { - $menu->style('argon'); + $menu->style('tailwind'); event(new PortalCreated($menu)); }); diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php index a3b6aef90..d11dd5f0c 100644 --- a/app/Http/Middleware/TrustProxies.php +++ b/app/Http/Middleware/TrustProxies.php @@ -2,7 +2,7 @@ namespace App\Http\Middleware; -use Fideloper\Proxy\TrustProxies as Middleware; +use Illuminate\Http\Middleware\TrustProxies as Middleware; use Illuminate\Http\Request; class TrustProxies extends Middleware diff --git a/app/Http/Requests/Auth/Permission.php b/app/Http/Requests/Auth/Permission.php deleted file mode 100644 index ceda57de2..000000000 --- a/app/Http/Requests/Auth/Permission.php +++ /dev/null @@ -1,38 +0,0 @@ -getMethod() == 'PATCH') { - $id = is_numeric($this->permission) ? $this->permission : $this->permission->getAttribute('id'); - } else { - $id = null; - } - - return [ - 'name' => 'required|string|unique:permissions,name,' . $id, - 'display_name' => 'required|string', - ]; - } -} diff --git a/app/Http/Requests/Auth/Register.php b/app/Http/Requests/Auth/Register.php new file mode 100644 index 000000000..9d984470e --- /dev/null +++ b/app/Http/Requests/Auth/Register.php @@ -0,0 +1,31 @@ + 'required|uuid|string|max:255', + 'password' => 'required|string|confirmed', + ]; + } +} diff --git a/app/Http/Requests/Auth/Role.php b/app/Http/Requests/Auth/Role.php deleted file mode 100644 index 4d038318d..000000000 --- a/app/Http/Requests/Auth/Role.php +++ /dev/null @@ -1,39 +0,0 @@ -getMethod() == 'PATCH') { - $id = is_numeric($this->role) ? $this->role : $this->role->getAttribute('id'); - } else { - $id = null; - } - - return [ - 'name' => 'required|string|unique:roles,name,' . $id, - 'display_name' => 'required|string', - 'permissions' => 'required' - ]; - } -} diff --git a/app/Http/Requests/Auth/User.php b/app/Http/Requests/Auth/User.php index 8919be585..ba1a89650 100644 --- a/app/Http/Requests/Auth/User.php +++ b/app/Http/Requests/Auth/User.php @@ -29,14 +29,13 @@ class User extends FormRequest $picture = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000'; } - $email = 'required|email'; + $email = 'required|email:rfc,dns'; if ($this->getMethod() == 'PATCH') { // Updating user $id = is_numeric($this->user) ? $this->user : $this->user->getAttribute('id'); - $password = ''; $companies = $this->user->can('read-common-companies') ? 'required' : ''; - $roles = $this->user->can('read-auth-roles') ? 'required|array' : ''; + $roles = $this->user->can('read-auth-roles') ? 'required|string' : ''; if ($this->user->contact) { $email .= '|unique:contacts,NULL,' @@ -48,17 +47,22 @@ class User extends FormRequest } else { // Creating user $id = null; - $password = 'required|'; $companies = 'required'; - $roles = 'required|array'; + $roles = 'required|string'; } $email .= '|unique:users,email,' . $id . ',id,deleted_at,NULL'; + $change_password = $this->request->get('change_password') == true || $this->request->get('change_password') != null; + + $current_password = $change_password ? '|current_password' : ''; + $password = $change_password ? '|confirmed' : ''; + return [ 'name' => 'required|string', 'email' => $email, - 'password' => $password . 'confirmed', + 'current_password' => 'required_if:change_password,true' . $current_password, + 'password' => 'required_if:change_password,true' . $password, 'companies' => $companies, 'roles' => $roles, 'picture' => $picture, diff --git a/app/Http/Requests/Banking/Account.php b/app/Http/Requests/Banking/Account.php index 85db47719..da3c625ec 100644 --- a/app/Http/Requests/Banking/Account.php +++ b/app/Http/Requests/Banking/Account.php @@ -13,11 +13,19 @@ class Account extends FormRequest */ public function rules() { + $type = $this->request->get('type', 'bank'); + $opening_balance = 'required'; + + if ($type == 'bank') { + $opening_balance = '|amount:0'; + } + return [ + 'type' => 'required|string', 'name' => 'required|string', 'number' => 'required|string', 'currency_code' => 'required|string|currency', - 'opening_balance' => 'required', + 'opening_balance' => $opening_balance, 'enabled' => 'integer|boolean', ]; } diff --git a/app/Http/Requests/Banking/Transaction.php b/app/Http/Requests/Banking/Transaction.php index bb1283add..1bf7fcc90 100644 --- a/app/Http/Requests/Banking/Transaction.php +++ b/app/Http/Requests/Banking/Transaction.php @@ -20,8 +20,19 @@ class Transaction extends FormRequest $attachment = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024; } + // Check if store or update + if ($this->getMethod() == 'PATCH') { + $id = $this->transaction->getAttribute('id'); + } else { + $id = null; + } + + // Get company id + $company_id = (int) $this->request->get('company_id'); + return [ 'type' => 'required|string', + 'number' => 'required|string|unique:transactions,NULL,' . $id . ',id,company_id,' . $company_id . ',deleted_at,NULL', 'account_id' => 'required|integer', 'paid_at' => 'required|date_format:Y-m-d H:i:s', 'amount' => 'required|amount', diff --git a/app/Http/Requests/Banking/TransactionConnect.php b/app/Http/Requests/Banking/TransactionConnect.php new file mode 100644 index 000000000..1047eb837 --- /dev/null +++ b/app/Http/Requests/Banking/TransactionConnect.php @@ -0,0 +1,22 @@ + 'required|array', + 'data.items' => 'required|array', + 'data.items.*.document_id' => 'required', + ]; + } +} diff --git a/app/Http/Requests/Common/Company.php b/app/Http/Requests/Common/Company.php index f8bb15e61..e71a7a22d 100644 --- a/app/Http/Requests/Common/Company.php +++ b/app/Http/Requests/Common/Company.php @@ -21,7 +21,7 @@ class Company extends FormRequest return [ 'name' => 'required|string', - 'email' => 'required|email', + 'email' => 'required|email:rfc,dns', 'currency' => 'required|string', 'domain' => 'nullable|string', 'logo' => $logo, diff --git a/app/Http/Requests/Common/Contact.php b/app/Http/Requests/Common/Contact.php index b849d0ac6..79613dcb5 100644 --- a/app/Http/Requests/Common/Contact.php +++ b/app/Http/Requests/Common/Contact.php @@ -14,13 +14,11 @@ class Contact extends FormRequest public function rules() { $email = ''; - $required = ''; $logo = 'nullable'; $type = $this->request->get('type', 'customer'); - // @todo must put contact types under a specific array, see category - if (empty(config('type.' . $type))) { + if (empty(config('type.contact.' . $type))) { $type = null; } @@ -35,12 +33,8 @@ class Contact extends FormRequest $id = null; } - if (($this->request->get('create_user', 'false') === 'true') && empty($this->request->get('user_id'))) { - $required = 'required|'; - } - if (!empty($this->request->get('email'))) { - $email .= 'email|unique:contacts,NULL,' + $email .= 'email:rfc,dns|unique:contacts,NULL,' . $id . ',id' . ',company_id,' . $company_id . ',type,' . $type @@ -61,7 +55,6 @@ class Contact extends FormRequest 'email' => $email, 'user_id' => 'integer|nullable', 'currency_code' => 'required|string|currency', - 'password' => $required . 'confirmed', 'enabled' => 'integer|boolean', 'logo' => $logo, ]; diff --git a/app/Http/Requests/Common/CustomMail.php b/app/Http/Requests/Common/CustomMail.php new file mode 100644 index 000000000..ce449794b --- /dev/null +++ b/app/Http/Requests/Common/CustomMail.php @@ -0,0 +1,22 @@ + 'required|email', + 'subject' => 'required|string', + 'body' => 'required|string', + ]; + } +} diff --git a/app/Http/Requests/Common/Dashboard.php b/app/Http/Requests/Common/Dashboard.php index 3888ce6e0..ad1186121 100644 --- a/app/Http/Requests/Common/Dashboard.php +++ b/app/Http/Requests/Common/Dashboard.php @@ -15,6 +15,7 @@ class Dashboard extends FormRequest { return [ 'name' => 'required|string', + 'users' => 'required|array', //'enabled' => 'integer|boolean', ]; } diff --git a/app/Http/Requests/Common/Item.php b/app/Http/Requests/Common/Item.php index f5eff15fe..279d79a4d 100644 --- a/app/Http/Requests/Common/Item.php +++ b/app/Http/Requests/Common/Item.php @@ -13,16 +13,25 @@ class Item extends FormRequest */ public function rules() { - $picture = 'nullable'; + $picture = $sale_price = $purchase_price = 'nullable'; if ($this->files->get('picture')) { $picture = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000'; } + if ($this->request->get('sale_information') == 'true') { + $sale_price = 'required'; + } + + if ($this->request->get('purchase_information') == 'true') { + $purchase_price = 'required'; + } + return [ + 'type' => 'required|string', 'name' => 'required|string', - 'sale_price' => 'required|regex:/^(?=.*?[0-9])[0-9.,]+$/', - 'purchase_price' => 'required|regex:/^(?=.*?[0-9])[0-9.,]+$/', + 'sale_price' => $sale_price . '|regex:/^(?=.*?[0-9])[0-9.,]+$/', + 'purchase_price'=> $purchase_price . '|regex:/^(?=.*?[0-9])[0-9.,]+$/', 'tax_ids' => 'nullable|array', 'category_id' => 'nullable|integer', 'enabled' => 'integer|boolean', diff --git a/app/Http/Requests/Common/Widget.php b/app/Http/Requests/Common/Widget.php index 4b3fe37ca..dfb96f647 100644 --- a/app/Http/Requests/Common/Widget.php +++ b/app/Http/Requests/Common/Widget.php @@ -3,6 +3,7 @@ namespace App\Http\Requests\Common; use App\Abstracts\Http\FormRequest; +use Illuminate\Support\Str; class Widget extends FormRequest { @@ -20,4 +21,11 @@ class Widget extends FormRequest 'sort' => 'integer', ]; } + + public function messages() + { + return [ + 'class.required' => trans('validation.required', ['attribute' => Str::lower(trans_choice('general.types', 1))]), + ]; + } } diff --git a/app/Http/Requests/Document/Document.php b/app/Http/Requests/Document/Document.php index d67ba226a..241113a4c 100644 --- a/app/Http/Requests/Document/Document.php +++ b/app/Http/Requests/Document/Document.php @@ -23,7 +23,7 @@ class Document extends FormRequest $type = $this->request->get('type', Model::INVOICE_TYPE); - $type = config('type.' . $type . '.route.parameter'); + $type = config('type.document.' . $type . '.route.parameter'); // Check if store or update if ($this->getMethod() == 'PATCH') { @@ -65,7 +65,7 @@ class Document extends FormRequest 'recurring_interval' => 'exclude_unless:recurring_frequency,custom|gt:0', ]; - $items = $this->request->get('items'); + $items = $this->request->all('items'); if ($items) { foreach ($items as $key => $item) { @@ -76,6 +76,7 @@ class Document extends FormRequest } $rules['items.' . $key . '.quantity'] = 'required|max:' . $size; + $this->items_quantity_size[$key] = $size; } } diff --git a/app/Http/Requests/Document/DocumentItem.php b/app/Http/Requests/Document/DocumentItem.php index 26565d3ef..6e89cb064 100644 --- a/app/Http/Requests/Document/DocumentItem.php +++ b/app/Http/Requests/Document/DocumentItem.php @@ -24,7 +24,7 @@ class DocumentItem extends FormRequest 'type' => 'required|string', 'document_id' => 'required|integer', 'name' => 'required|string', - 'quantity' => 'required|max:' . $this->quantity_size, + 'quantity' => 'required|max:' . $quantity_size, 'price' => 'required|amount', 'total' => 'required', 'tax' => 'required', diff --git a/app/Http/Requests/Portal/PaymentShow.php b/app/Http/Requests/Portal/PaymentShow.php index be8155c99..2cd1bd6a4 100644 --- a/app/Http/Requests/Portal/PaymentShow.php +++ b/app/Http/Requests/Portal/PaymentShow.php @@ -18,7 +18,7 @@ class PaymentShow extends FormRequest } // Allow admin to see signed invoice - if (user()->can('read-sales-revenues')) { + if (user()->can('read-banking-transactions')) { return true; } diff --git a/app/Http/Requests/Portal/Profile.php b/app/Http/Requests/Portal/Profile.php index 3d9045e26..879fcf84c 100644 --- a/app/Http/Requests/Portal/Profile.php +++ b/app/Http/Requests/Portal/Profile.php @@ -21,7 +21,7 @@ class Profile extends FormRequest $picture = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000'; } - $email = 'required|email|unique:users,email,' . $id . ',id,deleted_at,NULL'; + $email = 'required|email:rfc,dns|unique:users,email,' . $id . ',id,deleted_at,NULL'; if (user()->contact) { $email .= '|unique:contacts,NULL,' @@ -34,7 +34,8 @@ class Profile extends FormRequest return [ 'name' => 'required|string', 'email' => $email, - 'password' => 'confirmed', + 'current_password' => 'required_if:change_password,true|current_password', + 'password' => 'required_if:change_password,true|confirmed', 'picture' => $picture, ]; } diff --git a/app/Http/Requests/Setting/Currency.php b/app/Http/Requests/Setting/Currency.php index 1014b85c7..f52227103 100644 --- a/app/Http/Requests/Setting/Currency.php +++ b/app/Http/Requests/Setting/Currency.php @@ -28,7 +28,7 @@ class Currency extends FormRequest 'code' => 'required|string|unique:currencies,NULL,' . $id . ',id,company_id,' . $company_id . ',deleted_at,NULL', 'rate' => 'required|gt:0', 'enabled' => 'integer|boolean', - 'default_currency' => 'boolean', + 'default_currency' => 'nullable|boolean', 'symbol_first' => 'nullable|boolean', 'thousands_separator' => 'different:decimal_mark', ]; diff --git a/app/Http/Requests/Setting/EmailTemplate.php b/app/Http/Requests/Setting/EmailTemplate.php new file mode 100644 index 000000000..c0f7045b3 --- /dev/null +++ b/app/Http/Requests/Setting/EmailTemplate.php @@ -0,0 +1,21 @@ + 'required|string', + 'body' => 'required|string', + ]; + } +} diff --git a/app/Http/Requests/Setting/Tax.php b/app/Http/Requests/Setting/Tax.php index 7d9c1b98d..84ecfac7a 100644 --- a/app/Http/Requests/Setting/Tax.php +++ b/app/Http/Requests/Setting/Tax.php @@ -16,8 +16,10 @@ class Tax extends FormRequest // Check if store or update if ($this->getMethod() == 'PATCH') { $id = is_numeric($this->tax) ? $this->tax : $this->tax->getAttribute('id'); + $enabled = 'integer|boolean'; } else { $id = null; + $enabled = 'nullable'; } $company_id = (int) $this->request->get('company_id'); @@ -32,7 +34,7 @@ class Tax extends FormRequest 'name' => 'required|string', 'rate' => 'required|min:0|max:100', 'type' => $type, - 'enabled' => 'integer|boolean', + 'enabled' => $enabled, ]; } } diff --git a/app/Http/Resources/Auth/Role.php b/app/Http/Resources/Auth/Role.php new file mode 100644 index 000000000..bd55a8b39 --- /dev/null +++ b/app/Http/Resources/Auth/Role.php @@ -0,0 +1,27 @@ + $this->id, + 'name' => $this->display_name, + 'code' => $this->name, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Auth/User.php b/app/Http/Resources/Auth/User.php new file mode 100644 index 000000000..49b3b6f51 --- /dev/null +++ b/app/Http/Resources/Auth/User.php @@ -0,0 +1,32 @@ + $this->id, + 'name' => $this->name, + 'email' => $this->email, + 'locale' => $this->locale, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + 'companies' => [static::$wrap => Company::collection($this->companies)], + 'roles' => [static::$wrap => Role::collection($this->roles)], + ]; + } +} diff --git a/app/Http/Resources/Banking/Account.php b/app/Http/Resources/Banking/Account.php new file mode 100644 index 000000000..2ca0b75c7 --- /dev/null +++ b/app/Http/Resources/Banking/Account.php @@ -0,0 +1,38 @@ + $this->id, + 'company_id' => $this->company_id, + 'type' => $this->type, + 'name' => $this->name, + 'number' => $this->number, + 'currency_code' => $this->currency_code, + 'opening_balance' => $this->opening_balance, + 'opening_balance_formatted' => money($this->opening_balance, $this->currency_code, true)->format(), + 'current_balance' => $this->balance, + 'current_balance_formatted' => money($this->balance, $this->currency_code, true)->format(), + 'bank_name' => $this->bank_name, + 'bank_phone' => $this->bank_phone, + 'bank_address' => $this->bank_address, + 'enabled' => $this->enabled, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Banking/Reconciliation.php b/app/Http/Resources/Banking/Reconciliation.php new file mode 100644 index 000000000..fc5825411 --- /dev/null +++ b/app/Http/Resources/Banking/Reconciliation.php @@ -0,0 +1,34 @@ + $this->id, + 'company_id' => $this->company_id, + 'account_id' => $this->account_id, + 'started_at' => $this->started_at->toIso8601String(), + 'ended_at' => $this->ended_at->toIso8601String(), + 'closing_balance' => $this->closing_balance, + 'closing_balance_formatted' => money($this->closing_balance, setting('default.currency'), true)->format(), + 'reconciled' => $this->reconciled, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at->toIso8601String(), + 'updated_at' => $this->updated_at->toIso8601String(), + 'account' => new Account($this->account), + ]; + } +} diff --git a/app/Http/Resources/Banking/Transaction.php b/app/Http/Resources/Banking/Transaction.php new file mode 100644 index 000000000..4789757b2 --- /dev/null +++ b/app/Http/Resources/Banking/Transaction.php @@ -0,0 +1,50 @@ + $this->id, + 'company_id' => $this->company_id, + 'type' => $this->type, + 'account_id' => $this->account_id, + 'paid_at' => $this->paid_at->toIso8601String(), + 'amount' => $this->amount, + 'amount_formatted' => money($this->amount, $this->currency_code, true)->format(), + 'currency_code' => $this->currency_code, + 'currency_rate' => $this->currency_rate, + 'document_id' => $this->document_id, + 'contact_id' => $this->contact_id, + 'description' => $this->description, + 'category_id' => $this->category_id, + 'payment_method' => $this->payment_method, + 'reference' => $this->reference, + 'parent_id' => $this->parent_id, + 'split_id' => $this->split_id, + 'attachment' => $this->attachment, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at->toIso8601String(), + 'updated_at' => $this->updated_at->toIso8601String(), + 'account' => new Account($this->account), + 'category' => new Category($this->category), + 'currency' => new Currency($this->currency), + 'contact' => new Contact($this->contact), + ]; + } +} diff --git a/app/Http/Resources/Banking/Transfer.php b/app/Http/Resources/Banking/Transfer.php new file mode 100644 index 000000000..72d477d1c --- /dev/null +++ b/app/Http/Resources/Banking/Transfer.php @@ -0,0 +1,37 @@ +expense_transaction; + $income_transaction = $this->income_transaction; + + return [ + 'id' => $this->id, + 'company_id' => $this->company_id, + 'from_account' => $expense_transaction->account->name, + 'from_account_id' => $expense_transaction->account->id, + 'to_account' => $income_transaction->account->name, + 'to_account_id' => $income_transaction->account->id, + 'amount' => $expense_transaction->amount, + 'amount_formatted' => money($expense_transaction->amount, $expense_transaction->currency_code, true)->format(), + 'currency_code' => $expense_transaction->currency_code, + 'paid_at' => $expense_transaction->paid_at ? $expense_transaction->paid_at->toIso8601String() : '', + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Common/Company.php b/app/Http/Resources/Common/Company.php new file mode 100644 index 000000000..f82d8bff3 --- /dev/null +++ b/app/Http/Resources/Common/Company.php @@ -0,0 +1,32 @@ + $this->id, + 'name' => $this->name, + 'email' => $this->email, + 'currency' => $this->currency, + 'domain' => $this->domain, + 'address' => $this->address, + 'logo' => $this->logo, + 'enabled' => $this->enabled, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Common/Contact.php b/app/Http/Resources/Common/Contact.php new file mode 100644 index 000000000..94e95f3e3 --- /dev/null +++ b/app/Http/Resources/Common/Contact.php @@ -0,0 +1,37 @@ + $this->id, + 'company_id' => $this->company_id, + 'user_id' => $this->user_id, + 'type' => $this->type, + 'name' => $this->name, + 'email' => $this->email, + 'tax_number' => $this->tax_number, + 'phone' => $this->phone, + 'address' => $this->address, + 'website' => $this->website, + 'currency_code' => $this->currency_code, + 'enabled' => $this->enabled, + 'reference' => $this->reference, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Common/Dashboard.php b/app/Http/Resources/Common/Dashboard.php new file mode 100644 index 000000000..fc6198016 --- /dev/null +++ b/app/Http/Resources/Common/Dashboard.php @@ -0,0 +1,35 @@ +widgets->filter(function ($widget) { + return Widgets::canShow($widget->class); + }); + + return [ + 'id' => $this->id, + 'company_id' => $this->company_id, + 'name' => $this->name, + 'enabled' => $this->enabled, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + 'widgets' => [static::$wrap => Widget::collection($widgets)], + ]; + } +} diff --git a/app/Http/Resources/Common/Item.php b/app/Http/Resources/Common/Item.php new file mode 100644 index 000000000..123e5a615 --- /dev/null +++ b/app/Http/Resources/Common/Item.php @@ -0,0 +1,40 @@ + $this->id, + 'company_id' => $this->company_id, + 'type' => $this->type, + 'name' => $this->name, + 'description' => $this->description, + 'sale_price' => $this->sale_price, + 'sale_price_formatted' => money($this->sale_price, setting('default.currency'), true)->format(), + 'purchase_price' => $this->purchase_price, + 'purchase_price_formatted' => money($this->purchase_price, setting('default.currency'), true)->format(), + 'category_id' => $this->category_id, + 'picture' => $this->picture, + 'enabled' => $this->enabled, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + 'taxes' => [static::$wrap => ItemTax::collection($this->taxes)], + 'category' => new Category($this->category), + ]; + } +} diff --git a/app/Http/Resources/Common/ItemTax.php b/app/Http/Resources/Common/ItemTax.php new file mode 100644 index 000000000..1b4bb17d4 --- /dev/null +++ b/app/Http/Resources/Common/ItemTax.php @@ -0,0 +1,30 @@ + $this->id, + 'company_id' => $this->company_id, + 'item_id' => $this->item_id, + 'tax_id' => $this->tax_id, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + 'tax' => new Tax($this->tax), + ]; + } +} diff --git a/app/Http/Resources/Common/Report.php b/app/Http/Resources/Common/Report.php new file mode 100644 index 000000000..58eb0684e --- /dev/null +++ b/app/Http/Resources/Common/Report.php @@ -0,0 +1,53 @@ + $this->id, + 'company_id' => $this->company_id, + 'class' => $this->class, + 'name' => $this->name, + 'description' => $this->description, + 'settings' => $this->settings, + 'data' => $this->getReportData(), + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } + + protected function getReportData() + { + if (! Utility::canShow($this->class)) { + return []; + } + + $report = Utility::getClassInstance($this); + + if (empty($report)) { + return []; + } + + $unset_attributes = ['model', 'views', 'loaded', 'column_name_width', 'column_value_width']; + + foreach ($unset_attributes as $attribute) { + unset($report->$attribute); + } + + return $report; + } +} diff --git a/app/Http/Resources/Common/Widget.php b/app/Http/Resources/Common/Widget.php new file mode 100644 index 000000000..6be43d145 --- /dev/null +++ b/app/Http/Resources/Common/Widget.php @@ -0,0 +1,32 @@ + $this->id, + 'company_id' => $this->company_id, + 'dashboard_id' => $this->dashboard_id, + 'class' => $this->class, + 'name' => $this->name, + 'sort' => $this->sort, + 'settings' => $this->settings, + 'data' => show_widget($this), + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Document/Document.php b/app/Http/Resources/Document/Document.php new file mode 100644 index 000000000..45fb0fa9d --- /dev/null +++ b/app/Http/Resources/Document/Document.php @@ -0,0 +1,62 @@ + $this->id, + 'company_id' => $this->company_id, + 'type' => $this->type, + 'document_number' => $this->document_number, + 'order_number' => $this->order_number, + 'status' => $this->status, + 'issued_at' => $this->issued_at ? $this->issued_at->toIso8601String() : '', + 'due_at' => $this->due_at ? $this->due_at->toIso8601String() : '', + 'amount' => $this->amount, + 'amount_formatted' => money($this->amount, $this->currency_code, true)->format(), + 'currency_code' => $this->currency_code, + 'currency_rate' => $this->currency_rate, + 'contact_id' => $this->contact_id, + 'contact_name' => $this->contact_name, + 'contact_email' => $this->contact_email, + 'contact_tax_number' => $this->contact_tax_number, + 'contact_phone' => $this->contact_phone, + 'contact_address' => $this->contact_address, + 'contact_city' => $this->contact_city, + 'contact_zip_code' => $this->contact_zip_code, + 'contact_state' => $this->contact_state, + 'contact_country' => $this->contact_country, + 'notes' => $this->notes, + 'attachment' => $this->attachment, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + 'currency' => new Currency($this->currency), + 'contact' => new Contact($this->contact), + 'histories' => [static::$wrap => DocumentHistory::collection($this->histories)], + 'items' => [static::$wrap => DocumentItem::collection($this->items)], + 'item_taxes' => [static::$wrap => DocumentItemTax::collection($this->item_taxes)], + 'totals' => [static::$wrap => DocumentTotal::collection($this->totals)], + 'transactions' => [static::$wrap => Transaction::collection($this->transactions)], + ]; + } +} diff --git a/app/Http/Resources/Document/DocumentHistory.php b/app/Http/Resources/Document/DocumentHistory.php new file mode 100644 index 000000000..b0cc2c540 --- /dev/null +++ b/app/Http/Resources/Document/DocumentHistory.php @@ -0,0 +1,31 @@ + $this->id, + 'company_id' => $this->company_id, + 'type' => $this->type, + 'document_id' => $this->document_id, + 'status' => $this->status, + 'notify' => $this->notify, + 'description' => $this->description, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Document/DocumentItem.php b/app/Http/Resources/Document/DocumentItem.php new file mode 100644 index 000000000..f32047fd6 --- /dev/null +++ b/app/Http/Resources/Document/DocumentItem.php @@ -0,0 +1,36 @@ + $this->id, + 'company_id' => $this->company_id, + 'type' => $this->type, + 'document_id' => $this->document_id, + 'item_id' => $this->item_id, + 'name' => $this->name, + 'price' => $this->price, + 'price_formatted' => money($this->price, $this->document->currency_code, true)->format(), + 'total' => $this->total, + 'total_formatted' => money($this->total, $this->document->currency_code, true)->format(), + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + 'taxes' => [static::$wrap => DocumentItemTax::collection($this->taxes)], + ]; + } +} diff --git a/app/Http/Resources/Document/DocumentItemTax.php b/app/Http/Resources/Document/DocumentItemTax.php new file mode 100644 index 000000000..b0bc5e0e2 --- /dev/null +++ b/app/Http/Resources/Document/DocumentItemTax.php @@ -0,0 +1,35 @@ + $this->id, + 'company_id' => $this->company_id, + 'type' => $this->type, + 'document_id' => $this->document_id, + 'document_item_id' => $this->document_item_id, + 'tax_id' => $this->tax_id, + 'name' => $this->name, + 'amount' => $this->amount, + 'amount_formatted' => money($this->amount, $this->document->currency_code, true)->format(), + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + 'tax' => new Tax($this->tax), + ]; + } +} diff --git a/app/Http/Resources/Document/DocumentTotal.php b/app/Http/Resources/Document/DocumentTotal.php new file mode 100644 index 000000000..4992e62f1 --- /dev/null +++ b/app/Http/Resources/Document/DocumentTotal.php @@ -0,0 +1,33 @@ + $this->id, + 'company_id' => $this->company_id, + 'type' => $this->type, + 'document_id' => $this->document_id, + 'code' => $this->code, + 'name' => $this->name, + 'amount' => $this->amount, + 'amount_formatted' => money($this->amount, $this->document->currency_code, true)->format(), + 'sort_order' => $this->sort_order, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Setting/Category.php b/app/Http/Resources/Setting/Category.php new file mode 100644 index 000000000..22e377313 --- /dev/null +++ b/app/Http/Resources/Setting/Category.php @@ -0,0 +1,31 @@ + $this->id, + 'company_id' => $this->company_id, + 'name' => $this->name, + 'type' => $this->type, + 'color' => $this->color, + 'enabled' => $this->enabled, + 'parent_id' => $this->parent_id, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Setting/Currency.php b/app/Http/Resources/Setting/Currency.php new file mode 100644 index 000000000..d617a923a --- /dev/null +++ b/app/Http/Resources/Setting/Currency.php @@ -0,0 +1,35 @@ + $this->id, + 'company_id' => $this->company_id, + 'name' => $this->name, + 'code' => $this->code, + 'rate' => $this->rate, + 'enabled' => $this->enabled, + 'precision' => $this->precision, + 'symbol' => $this->symbol, + 'symbol_first' => $this->symbol_first, + 'decimal_mark' => $this->decimal_mark, + 'thousands_separator' => $this->thousands_separator, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/Resources/Setting/Setting.php b/app/Http/Resources/Setting/Setting.php new file mode 100644 index 000000000..79df843e3 --- /dev/null +++ b/app/Http/Resources/Setting/Setting.php @@ -0,0 +1,24 @@ + $this->id, + 'company_id' => $this->company_id, + 'key' => $this->key, + 'value' => $this->value, + ]; + } +} diff --git a/app/Http/Resources/Setting/Tax.php b/app/Http/Resources/Setting/Tax.php new file mode 100644 index 000000000..552782cf6 --- /dev/null +++ b/app/Http/Resources/Setting/Tax.php @@ -0,0 +1,29 @@ + $this->id, + 'company_id' => $this->company_id, + 'name' => $this->name, + 'rate' => $this->rate, + 'enabled' => $this->enabled, + 'created_from' => $this->created_from, + 'created_by' => $this->created_by, + 'created_at' => $this->created_at ? $this->created_at->toIso8601String() : '', + 'updated_at' => $this->updated_at ? $this->updated_at->toIso8601String() : '', + ]; + } +} diff --git a/app/Http/ViewComposers/ContactType.php b/app/Http/ViewComposers/ContactType.php new file mode 100644 index 000000000..5f0dd6839 --- /dev/null +++ b/app/Http/ViewComposers/ContactType.php @@ -0,0 +1,30 @@ +route(); + + if (empty($route)) { + return; + } + + /** @var Customers|Vendors $controller */ + $controller = $route->getController(); + + $view->with(['type' => $controller->type ?? '']); + } +} diff --git a/app/Http/ViewComposers/DocumentRecurring.php b/app/Http/ViewComposers/DocumentRecurring.php new file mode 100644 index 000000000..289767058 --- /dev/null +++ b/app/Http/ViewComposers/DocumentRecurring.php @@ -0,0 +1,50 @@ +route(); + + if (empty($route)) { + return; + } + + /** @var Invoices|Bills|PortalInvoices $controller */ + $controller = $route->getController(); + + $type = $controller->type ?? ''; + + if (! Str::contains($type, 'recurring')) { + return; + } + + $payment_terms = [ + '0' => trans('settings.invoice.due_receipt'), + '15' => trans('settings.invoice.due_days', ['days' => 15]), + '30' => trans('settings.invoice.due_days', ['days' => 30]), + '45' => trans('settings.invoice.due_days', ['days' => 45]), + '60' => trans('settings.invoice.due_days', ['days' => 60]), + '90' => trans('settings.invoice.due_days', ['days' => 90]), + ]; + + $view->with([ + 'type' => $type, + 'payment_terms' => $payment_terms, + ]); + + // Override the whole file + $view->setPath(view('components.documents.form.recurring_metadata', compact('type', 'payment_terms'))->getPath()); + } +} diff --git a/app/Http/ViewComposers/Header.php b/app/Http/ViewComposers/Header.php deleted file mode 100644 index dd756f827..000000000 --- a/app/Http/ViewComposers/Header.php +++ /dev/null @@ -1,104 +0,0 @@ -isCustomer()) { - $company = (object) [ - 'company_name' => setting('company.name'), - 'company_email' => setting('company.email'), - 'company_address' => setting('company.address'), - 'company_logo' => setting('company.logo'), - ]; - } - - if ($user->can('read-common-notifications')) { - $unreads = $user->unreadNotifications; - - foreach ($unreads as $unread) { - $data = $unread->getAttribute('data'); - - switch ($unread->getAttribute('type')) { - case 'App\Notifications\Common\ExportCompleted': - $exports['completed'][$data['file_name']] = $data['download_url']; - $notifications++; - break; - case 'App\Notifications\Common\ExportFailed': - $exports['failed'][] = $data['message']; - $notifications++; - break; - case 'App\Notifications\Common\ImportCompleted': - $imports['completed'][] = $data['translation']; - $notifications++; - break; - case 'App\Notifications\Common\ImportFailed': - $imports['failed'][] = ''; - $notifications++; - break; - case 'App\Notifications\Purchase\Bill': - $bills[$data['bill_id']] = $data['amount']; - $notifications++; - break; - case 'App\Notifications\Sale\Invoice': - $invoices[$data['invoice_id']] = $data['amount']; - $notifications++; - break; - } - } - - $new_apps = $this->getNotifications('new-apps'); - - foreach ($new_apps as $key => $new_app) { - if (setting('notifications.' . user()->id . '.' . $new_app->alias)) { - unset($new_apps[$key]); - - continue; - } - - $notifications++; - } - } - - if ($user->can('read-install-updates')) { - $updates = count(Versions::getUpdates()); - } - - $this->loadSuggestions(); - } - - $view->with([ - 'user' => $user, - 'notifications' => $notifications, - 'new_apps' => $new_apps, - 'exports' => $exports, - 'imports' => $imports, - 'bills' => $bills, - 'invoices' => $invoices, - 'company' => $company, - 'updates' => $updates, - ]); - } -} diff --git a/app/Http/ViewComposers/Index.php b/app/Http/ViewComposers/Index.php deleted file mode 100644 index 2c40908f2..000000000 --- a/app/Http/ViewComposers/Index.php +++ /dev/null @@ -1,86 +0,0 @@ -addLimits($view); - - $this->addBulkActions($view); - } - - protected function addLimits(&$view) - { - $limits = ['10' => '10', '25' => '25', '50' => '50', '100' => '100']; - - $now = Date::now(); - - $this_year = $now->year; - - $years = []; - $y = $now->addYears(2); - for ($i = 0; $i < 10; $i++) { - $years[$y->year] = $y->year; - $y->subYear(); - } - - $view->with(['limits' => $limits, 'this_year' => $this_year, 'years' => $years]); - } - - protected function addBulkActions(&$view) - { - $class_name = ''; - $view_name = str_replace('.index', '', $view->getName()); - - if (Str::contains($view_name, '::')) { - // my-blog::posts - $names = explode('::', $view_name); - - $module = module($names[0]); - - if (!$module instanceof Module) { - return; - } - - $tmp = explode('.', $names[1]); - $file_name = !empty($tmp[1]) ? Str::studly($tmp[0]) . '\\' . Str::studly($tmp[1]) : Str::studly($tmp[0]); - - $class_name = 'Modules\\' . $module->getStudlyName() . '\BulkActions\\' . $file_name; - } else { - // common.items - $tmp = explode('.', $view_name); - $file_name = !empty($tmp[1]) ? Str::studly($tmp[0]) . '\\' . Str::studly($tmp[1]) : Str::studly($tmp[0]); - - $class_name = 'App\BulkActions\\' . $file_name; - } - - if (class_exists($class_name)) { - event(new BulkActionsAdding(app($class_name))); - - $bulk_actions = app($class_name)->actions; - } else { - $b = new \stdClass(); - $b->actions = []; - - event(new BulkActionsAdding($b)); - - $bulk_actions = $b->actions; - } - - $view->with(['bulk_actions' => $bulk_actions]); - } -} diff --git a/app/Http/ViewComposers/Logo.php b/app/Http/ViewComposers/Logo.php deleted file mode 100644 index 3106952bb..000000000 --- a/app/Http/ViewComposers/Logo.php +++ /dev/null @@ -1,72 +0,0 @@ -getDiskPath(); - - if (Storage::missing($path)) { - return $logo; - } - } else { - $path = base_path('public/img/company.png'); - } - - try { - $image = Image::cache(function($image) use ($media, $path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - if ($media) { - $image->make(Storage::get($path))->resize($width, $height)->encode(); - } else { - $image->make($path)->resize($width, $height)->encode(); - } - }); - } catch (NotReadableException | \Exception $e) { - Log::info('Company ID: ' . company_id() . ' viewcomposer/logo.php exception.'); - Log::info($e->getMessage()); - - $path = base_path('public/img/company.png'); - - $image = Image::cache(function($image) use ($path) { - $width = setting('invoice.logo_size_width'); - $height = setting('invoice.logo_size_height'); - - $image->make($path)->resize($width, $height)->encode(); - }); - } - - if (empty($image)) { - return $logo; - } - - $extension = File::extension($path); - - $logo = 'data:image/' . $extension . ';base64,' . base64_encode($image); - - $view->with(['logo' => $logo]); - } -} diff --git a/app/Http/ViewComposers/Menu.php b/app/Http/ViewComposers/Menu.php deleted file mode 100644 index 857697740..000000000 --- a/app/Http/ViewComposers/Menu.php +++ /dev/null @@ -1,26 +0,0 @@ -companies()->enabled()->limit(10)->get()->sortBy('name'); - } else { - $companies = []; - } - - $view->with(['companies' => $companies]); - } -} diff --git a/app/Http/ViewComposers/Modules.php b/app/Http/ViewComposers/Modules.php deleted file mode 100644 index b835d3d38..000000000 --- a/app/Http/ViewComposers/Modules.php +++ /dev/null @@ -1,35 +0,0 @@ -getShortCode(), Date::now()->addHour(6), function () { - return collect($this->getCategoriesOfModules())->pluck('name', 'slug') - ->prepend(trans('general.all_type', ['type' => trans_choice('general.categories', 2)]), '*'); - }); - } else { - $categories = collect([ - '*' => trans('general.all_type', ['type' => trans_choice('general.categories', 2)]), - ]); - } - - $view->with(['categories' => $categories]); - } -} diff --git a/app/Http/ViewComposers/Notifications.php b/app/Http/ViewComposers/Notifications.php deleted file mode 100644 index 6bf9e6c97..000000000 --- a/app/Http/ViewComposers/Notifications.php +++ /dev/null @@ -1,50 +0,0 @@ -runningInConsole() || !config('app.installed') || !user()) { - return; - } - - if (!$path = Route::current()->uri()) { - return; - } - - $path = str_replace('{company_id}/', '', $path); - - $notifications = $this->getNotifications($path); - - // Push to a stack - foreach ($notifications as $notification) { - $path = str_replace('/', '#', $notification->path); - - $message = str_replace('#path#', $path, $notification->message); - $message = str_replace('#token#', csrf_token(), $message); - $message = str_replace('#url#', route('dashboard'), $message); - $message = str_replace('#company_id#', company_id(), $message); - - if (!setting('notifications.' . $notification->path . '.' . $notification->id . '.status', 1)) { - continue; - } - - $view->getFactory()->startPush('content_content_start', $message); - } - } -} diff --git a/app/Http/ViewComposers/ReadOnlyNotification.php b/app/Http/ViewComposers/ReadOnlyNotification.php index 1e8d488bc..5e4fc2f16 100644 --- a/app/Http/ViewComposers/ReadOnlyNotification.php +++ b/app/Http/ViewComposers/ReadOnlyNotification.php @@ -12,6 +12,12 @@ class ReadOnlyNotification return; } - $view->getFactory()->startPush('content_content_start', view('partials.read-only')); + $notifications = $view->getData()['notifications']; + + $notifications[] = view('components.read-only'); + + $view->with([ + 'notifications' => $notifications, + ]); } } diff --git a/app/Http/ViewComposers/Recurring.php b/app/Http/ViewComposers/Recurring.php deleted file mode 100644 index 81063b117..000000000 --- a/app/Http/ViewComposers/Recurring.php +++ /dev/null @@ -1,36 +0,0 @@ - trans('general.no'), - 'daily' => trans('recurring.daily'), - 'weekly' => trans('recurring.weekly'), - 'monthly' => trans('recurring.monthly'), - 'yearly' => trans('recurring.yearly'), - 'custom' => trans('recurring.custom'), - ]; - - $recurring_custom_frequencies = [ - 'daily' => trans('recurring.days'), - 'weekly' => trans('recurring.weeks'), - 'monthly' => trans('recurring.months'), - 'yearly' => trans('recurring.years'), - ]; - - $view->with(['recurring_frequencies' => $recurring_frequencies, 'recurring_custom_frequencies' => $recurring_custom_frequencies]); - } -} diff --git a/app/Http/ViewComposers/Show.php b/app/Http/ViewComposers/Show.php deleted file mode 100644 index cfc4cea7c..000000000 --- a/app/Http/ViewComposers/Show.php +++ /dev/null @@ -1,33 +0,0 @@ - '10', '25' => '25', '50' => '50', '100' => '100']; - - $now = Date::now(); - - $this_year = $now->year; - - $years = []; - $y = $now->addYears(2); - for ($i = 0; $i < 10; $i++) { - $years[$y->year] = $y->year; - $y->subYear(); - } - - $view->with(['limits' => $limits, 'this_year' => $this_year, 'years' => $years]); - } -} diff --git a/app/Http/ViewComposers/Suggestions.php b/app/Http/ViewComposers/Suggestions.php deleted file mode 100644 index c90ff2489..000000000 --- a/app/Http/ViewComposers/Suggestions.php +++ /dev/null @@ -1,58 +0,0 @@ -runningInConsole() || !config('app.installed')) { - return; - } - - if ((!$user = user()) || $user->cannot('read-modules-home')) { - return; - } - - if (!$path = Route::current()->uri()) { - return; - } - - $path = str_replace('{company_id}/', '', $path); - - if (!$suggestions = $this->getSuggestions($path)) { - return; - } - - $modules = []; - - foreach ($suggestions->modules as $s_module) { - if ($this->moduleIsEnabled($s_module->alias)) { - continue; - } - - $s_module->action_url = company_id() . '/' . $s_module->action_url; - - $modules[] = $s_module; - } - - if (empty($modules)) { - return; - } - - $view->getFactory()->startPush('header_button_end', view('partials.admin.suggestions', compact('modules'))); - } -} diff --git a/app/Http/ViewComposers/Wizard.php b/app/Http/ViewComposers/Wizard.php deleted file mode 100644 index 5c2ba6a7f..000000000 --- a/app/Http/ViewComposers/Wizard.php +++ /dev/null @@ -1,172 +0,0 @@ -getTransalations(); - - $currencies = $this->getCurrencies(); - - // Prepare codes - $codes = $this->getCurrencyCodes(); - - $taxes = $this->getTaxes(); - - $modules = $this->getFeaturedModules([ - 'query' => [ - 'limit' => 4 - ] - ]); - - $company = $this->getCompany(); - - $view->with([ - 'translations' => $translations, - 'company' => $company, - 'currencies' => $currencies, - 'currency_codes' => $codes, - 'taxes' => $taxes, - 'modules' => $modules, - ]); - } - - /* Wizard page transactions */ - protected function getTransalations() - { - return [ - 'company' => [ - 'title' => trans_choice('general.companies', 1), - 'api_key' => trans('modules.api_key'), - 'form_enter' => trans('general.form.enter'), - 'get_api_key' => trans('modules.get_api_key'), - 'tax_number' => trans('general.tax_number'), - 'financial_start' => trans('settings.localisation.financial_start'), - 'address' => trans('settings.company.address'), - 'logo' => trans('settings.company.logo'), - 'skip' => trans('general.skip'), - 'save' => trans('general.save'), - 'country' => trans_choice('general.countries', 1), - ], - - 'currencies' => [ - 'title' => trans_choice('general.currencies', 2), - 'add_new' => trans('general.add_new'), - 'name' => trans('general.name'), - 'code' => trans('currencies.code'), - 'rate' => trans('currencies.rate'), - 'enabled' => trans('general.enabled'), - 'actions' => trans('general.actions') , - 'yes' => trans('general.yes'), - 'no' => trans('general.no'), - 'edit' => trans('general.edit'), - 'delete' => trans('general.delete'), - 'save' => trans('general.save'), - 'precision' => trans('currencies.precision'), - 'symbol' => trans('currencies.symbol.symbol'), - 'position' => trans('currencies.symbol.position'), - 'decimal_mark' => trans('currencies.decimal_mark'), - 'thousands_separator' => trans('currencies.thousands_separator'), - 'previous' => trans('pagination.previous'), - 'next' => trans('pagination.next'), - 'delete_confirm' => trans('general.delete_confirm'), - 'cancel' => trans('general.cancel'), - ], - - 'taxes' => [ - 'title' => trans_choice('general.taxes', 2), - 'add_new' => trans('general.add_new'), - 'name' => trans('general.name'), - 'rate_percent' => trans('taxes.rate_percent'), - 'enabled' => trans('general.enabled'), - 'actions' => trans('general.actions'), - 'yes' => trans('general.yes'), - 'no' => trans('general.no'), - 'edit' => trans('general.edit'), - 'delete' => trans('general.delete'), - 'name' => trans('general.name'), - 'rate' => trans('currencies.rate'), - 'enabled' => trans('general.enabled'), - 'save' => trans('general.save'), - 'previous' => trans('pagination.previous'), - 'next' => trans('pagination.next'), - 'cancel' => trans('general.cancel'), - ], - - 'finish' => [ - 'title' => trans_choice('general.finish', 1), - 'recommended_apps' => trans('modules.recommended_apps'), - 'no_apps' => trans('modules.no_apps'), - 'developer' => trans('modules.developer'), - 'previous' => trans('pagination.previous'), - 'go_to_dashboard' => trans('general.go_to_dashboard'), - 'error_message' => trans('errors.title.500'), - ] - ]; - } - - protected function getCurrencies() - { - return Currency::all(); - } - - protected function getCurrencyCodes() - { - $codes = []; - $money_currencies = MoneyCurrency::getCurrencies(); - - foreach ($money_currencies as $key => $item) { - $codes[$key] = $key; - } - - return $codes; - } - - protected function getTaxes() - { - return Tax::all(); - } - - protected function getCompany() - { - $company = company(); - - $company->api_key = setting('apps.api_key'); - $company->financial_start = setting('localisation.financial_start'); - - $logo_id = setting('company.logo'); - - $logo = false; - - if ($logo_id) { - $logo = Media::find($logo_id); - - if ($logo) { - $logo->path = route('uploads.get', $logo->id); - } - } - - $company->logo = $logo; - - - return $company; - } -} diff --git a/app/Imports/Common/Sheets/Items.php b/app/Imports/Common/Sheets/Items.php index 53fa519df..61880ce03 100644 --- a/app/Imports/Common/Sheets/Items.php +++ b/app/Imports/Common/Sheets/Items.php @@ -17,6 +17,10 @@ class Items extends Import { $row = parent::map($row); + $row['sale_information'] = isset($row['sale_price']) ?? false; + + $row['purchase_information'] = isset($row['purchase_price']) ?? false; + $row['category_id'] = $this->getCategoryId($row, 'item'); return $row; diff --git a/app/Imports/Purchases/Payments.php b/app/Imports/Purchases/Payments.php deleted file mode 100644 index f35932ffd..000000000 --- a/app/Imports/Purchases/Payments.php +++ /dev/null @@ -1,33 +0,0 @@ -getAccountId($row); - $row['category_id'] = $this->getCategoryId($row, 'expense'); - $row['contact_id'] = $this->getContactId($row, 'vendor'); - $row['document_id'] = $this->getDocumentId($row); - - return $row; - } - - public function rules(): array - { - return (new Request())->rules(); - } -} diff --git a/app/Imports/Purchases/Sheets/BillTransactions.php b/app/Imports/Purchases/Sheets/BillTransactions.php index f1c718a5c..532a85ebe 100644 --- a/app/Imports/Purchases/Sheets/BillTransactions.php +++ b/app/Imports/Purchases/Sheets/BillTransactions.php @@ -26,6 +26,7 @@ class BillTransactions extends Import $row['category_id'] = $this->getCategoryId($row, 'expense'); $row['contact_id'] = $this->getContactId($row, 'vendor'); $row['document_id'] = $this->getDocumentId($row); + $row['number'] = $row['transaction_number']; return $row; } diff --git a/app/Imports/Sales/Revenues.php b/app/Imports/Sales/Revenues.php deleted file mode 100644 index babc5e92a..000000000 --- a/app/Imports/Sales/Revenues.php +++ /dev/null @@ -1,33 +0,0 @@ -getAccountId($row); - $row['category_id'] = $this->getCategoryId($row, 'income'); - $row['contact_id'] = $this->getContactId($row, 'customer'); - $row['document_id'] = $this->getDocumentId($row); - - return $row; - } - - public function rules(): array - { - return (new Request())->rules(); - } -} diff --git a/app/Imports/Sales/Sheets/InvoiceTransactions.php b/app/Imports/Sales/Sheets/InvoiceTransactions.php index 2c5e94b11..64880eaf4 100644 --- a/app/Imports/Sales/Sheets/InvoiceTransactions.php +++ b/app/Imports/Sales/Sheets/InvoiceTransactions.php @@ -26,6 +26,7 @@ class InvoiceTransactions extends Import $row['category_id'] = $this->getCategoryId($row, 'income'); $row['contact_id'] = $this->getContactId($row, 'customer'); $row['document_id'] = $this->getDocumentId($row); + $row['number'] = $row['transaction_number']; return $row; } diff --git a/app/Imports/Settings/Taxes.php b/app/Imports/Settings/Taxes.php new file mode 100644 index 000000000..d0d1eb6b2 --- /dev/null +++ b/app/Imports/Settings/Taxes.php @@ -0,0 +1,20 @@ +rules(); + } +} diff --git a/app/Jobs/Auth/CreateInvitation.php b/app/Jobs/Auth/CreateInvitation.php new file mode 100644 index 000000000..6ca036b88 --- /dev/null +++ b/app/Jobs/Auth/CreateInvitation.php @@ -0,0 +1,44 @@ +user = $user; + $this->company = $company; + } + + public function handle(): UserInvitation + { + \DB::transaction(function () { + if ($this->user->hasPendingInvitation($this->company->id)) { + $pending_invitation = $this->user->getPendingInvitation($this->company->id); + + $this->dispatch(new DeleteInvitation($pending_invitation)); + } + + $this->invitation = UserInvitation::create([ + 'user_id' => $this->user->id, + 'company_id' => $this->company->id, + 'token' => (string) Str::uuid(), + ]); + }); + + event(new InvitationCreated($this->invitation)); + + return $this->invitation; + } +} diff --git a/app/Jobs/Auth/CreateRole.php b/app/Jobs/Auth/CreateRole.php index ec8b71e37..e87c4a567 100644 --- a/app/Jobs/Auth/CreateRole.php +++ b/app/Jobs/Auth/CreateRole.php @@ -3,6 +3,8 @@ namespace App\Jobs\Auth; use App\Abstracts\Job; +use App\Events\Auth\RoleCreated; +use App\Events\Auth\RoleCreating; use App\Interfaces\Job\HasOwner; use App\Interfaces\Job\HasSource; use App\Interfaces\Job\ShouldCreate; @@ -12,6 +14,8 @@ class CreateRole extends Job implements HasOwner, HasSource, ShouldCreate { public function handle(): Role { + event(new RoleCreating($this->request)); + \DB::transaction(function () { $this->model = Role::create($this->request->input()); @@ -20,6 +24,8 @@ class CreateRole extends Job implements HasOwner, HasSource, ShouldCreate } }); + event(new RoleCreated($this->model, $this->request)); + return $this->model; } } diff --git a/app/Jobs/Auth/CreateUser.php b/app/Jobs/Auth/CreateUser.php index 160146f6f..2d653080c 100644 --- a/app/Jobs/Auth/CreateUser.php +++ b/app/Jobs/Auth/CreateUser.php @@ -3,13 +3,14 @@ namespace App\Jobs\Auth; use App\Abstracts\Job; +use App\Events\Auth\UserCreated; +use App\Events\Auth\UserCreating; use App\Interfaces\Job\HasOwner; use App\Interfaces\Job\HasSource; use App\Interfaces\Job\ShouldCreate; -use App\Events\Auth\UserCreated; -use App\Events\Auth\UserCreating; use App\Models\Auth\User; use Illuminate\Support\Facades\Artisan; +use Illuminate\Support\Str; class CreateUser extends Job implements HasOwner, HasSource, ShouldCreate { @@ -18,6 +19,10 @@ class CreateUser extends Job implements HasOwner, HasSource, ShouldCreate event(new UserCreating($this->request)); \DB::transaction(function () { + if (! app()->runningInConsole() && ! request()->isInstall()) { + $this->request->merge(['password' => Str::random(40)]); + } + $this->model = User::create($this->request->input()); // Upload picture @@ -64,6 +69,12 @@ class CreateUser extends Job implements HasOwner, HasSource, ShouldCreate 'user' => $this->model->id, 'company' => $company->id, ]); + + if (app()->runningInConsole() || request()->isInstall()) { + continue; + } + + $this->dispatch(new CreateInvitation($this->model, $company)); } }); diff --git a/app/Jobs/Auth/DeleteInvitation.php b/app/Jobs/Auth/DeleteInvitation.php new file mode 100644 index 000000000..f2b2916b8 --- /dev/null +++ b/app/Jobs/Auth/DeleteInvitation.php @@ -0,0 +1,18 @@ +model->delete(); + }); + + return true; + } +} diff --git a/app/Jobs/Auth/DeleteRole.php b/app/Jobs/Auth/DeleteRole.php index 470d90efe..ae831f740 100644 --- a/app/Jobs/Auth/DeleteRole.php +++ b/app/Jobs/Auth/DeleteRole.php @@ -3,18 +3,24 @@ namespace App\Jobs\Auth; use App\Abstracts\Job; +use App\Events\Auth\RoleDeleted; +use App\Events\Auth\RoleDeleting; use App\Interfaces\Job\ShouldDelete; class DeleteRole extends Job implements ShouldDelete { public function handle(): bool { + event(new RoleDeleting($this->model)); + \DB::transaction(function () { $this->model->delete(); $this->model->flushCache(); }); + event(new RoleDeleted($this->model)); + return true; } } diff --git a/app/Jobs/Auth/DeleteUser.php b/app/Jobs/Auth/DeleteUser.php index 759302e58..c71b20302 100644 --- a/app/Jobs/Auth/DeleteUser.php +++ b/app/Jobs/Auth/DeleteUser.php @@ -3,6 +3,8 @@ namespace App\Jobs\Auth; use App\Abstracts\Job; +use App\Events\Auth\UserDeleted; +use App\Events\Auth\UserDeleting; use App\Interfaces\Job\ShouldDelete; class DeleteUser extends Job implements ShouldDelete @@ -11,12 +13,16 @@ class DeleteUser extends Job implements ShouldDelete { $this->authorize(); + event(new UserDeleting($this->model)); + \DB::transaction(function () { $this->model->delete(); $this->model->flushCache(); }); + event(new UserDeleted($this->model)); + return true; } diff --git a/app/Jobs/Auth/UpdateRole.php b/app/Jobs/Auth/UpdateRole.php index 2335e0cb4..74a14c514 100644 --- a/app/Jobs/Auth/UpdateRole.php +++ b/app/Jobs/Auth/UpdateRole.php @@ -3,6 +3,8 @@ namespace App\Jobs\Auth; use App\Abstracts\Job; +use App\Events\Auth\RoleUpdated; +use App\Events\Auth\RoleUpdating; use App\Interfaces\Job\ShouldUpdate; use App\Models\Auth\Role; @@ -10,6 +12,8 @@ class UpdateRole extends Job implements ShouldUpdate { public function handle(): Role { + event(new RoleUpdating($this->model, $this->request)); + \DB::transaction(function () { $this->model->update($this->request->all()); @@ -18,6 +22,8 @@ class UpdateRole extends Job implements ShouldUpdate } }); + event(new RoleUpdated($this->model, $this->request)); + return $this->model; } } diff --git a/app/Jobs/Auth/UpdateUser.php b/app/Jobs/Auth/UpdateUser.php index 8d1e7bcae..7d3940e7a 100644 --- a/app/Jobs/Auth/UpdateUser.php +++ b/app/Jobs/Auth/UpdateUser.php @@ -3,10 +3,12 @@ namespace App\Jobs\Auth; use App\Abstracts\Job; -use App\Interfaces\Job\ShouldUpdate; use App\Events\Auth\UserUpdated; use App\Events\Auth\UserUpdating; +use App\Interfaces\Job\ShouldUpdate; use App\Models\Auth\User; +use App\Models\Common\Company; +use Illuminate\Support\Facades\Artisan; class UpdateUser extends Job implements ShouldUpdate { @@ -16,6 +18,7 @@ class UpdateUser extends Job implements ShouldUpdate // Do not reset password if not entered/changed if (empty($this->request['password'])) { + unset($this->request['current_password']); unset($this->request['password']); unset($this->request['password_confirmation']); } @@ -38,7 +41,7 @@ class UpdateUser extends Job implements ShouldUpdate if ($this->request->has('companies')) { if (app()->runningInConsole() || request()->isInstall()) { - $this->model->companies()->sync($this->request->get('companies')); + $sync = $this->model->companies()->sync($this->request->get('companies')); } else { $user = user(); @@ -47,7 +50,7 @@ class UpdateUser extends Job implements ShouldUpdate }); if ($companies->isNotEmpty()) { - $this->model->companies()->sync($companies->toArray()); + $sync = $this->model->companies()->sync($companies->toArray()); } } } @@ -55,6 +58,31 @@ class UpdateUser extends Job implements ShouldUpdate if ($this->model->contact) { $this->model->contact->update($this->request->input()); } + + if (isset($sync) && !empty($sync['attached'])) { + foreach ($sync['attached'] as $id) { + $company = Company::find($id); + + Artisan::call('user:seed', [ + 'user' => $this->model->id, + 'company' => $company->id, + ]); + + $this->dispatch(new CreateInvitation($this->model, $company)); + } + } + + if (isset($sync) && !empty($sync['detached'])) { + foreach ($sync['detached'] as $id) { + $company = Company::find($id); + + if ($this->model->hasPendingInvitation($company->id)) { + $pending_invitation = $this->model->getPendingInvitation($company->id); + + $this->dispatch(new DeleteInvitation($pending_invitation)); + } + } + } }); event(new UserUpdated($this->model, $this->request)); diff --git a/app/Jobs/Banking/CreateBankingDocumentTransaction.php b/app/Jobs/Banking/CreateBankingDocumentTransaction.php index b60f2ed66..139467f0b 100644 --- a/app/Jobs/Banking/CreateBankingDocumentTransaction.php +++ b/app/Jobs/Banking/CreateBankingDocumentTransaction.php @@ -7,7 +7,6 @@ use App\Jobs\Banking\CreateTransaction; use App\Jobs\Document\CreateDocumentHistory; use App\Events\Document\PaidAmountCalculated; use App\Interfaces\Job\ShouldCreate; -use App\Models\Banking\Account; use App\Models\Banking\Transaction; use App\Models\Document\Document; use App\Traits\Currencies; @@ -71,20 +70,6 @@ class CreateBankingDocumentTransaction extends Job implements ShouldCreate $this->request['category_id'] = isset($this->request['category_id']) ? $this->request['category_id'] : $this->model->category_id; $this->request['payment_method'] = isset($this->request['payment_method']) ? $this->request['payment_method'] : setting('default.payment_method'); $this->request['notify'] = isset($this->request['notify']) ? $this->request['notify'] : 0; - - if ($this->request['mark_paid'] && ($this->request['account_id'] == setting('default.account'))) { - $account = Account::find((int) $this->request['account_id']); - - $code = $account->currency_code; - $rate = config('money.' . $account->currency_code . '.rate'); - - if ($account->currency_code != $this->model->currency_code) { - $this->request['currency_code'] = $code; - $this->request['currency_rate'] = $rate; - - $this->request['amount'] = $this->convertBetween($this->request['amount'], $this->model->currency_code, $this->model->currency_rate, $code, $rate); - } - } } protected function checkAmount(): bool diff --git a/app/Jobs/Banking/CreateTransfer.php b/app/Jobs/Banking/CreateTransfer.php index 9dafc9ad8..ad19373ce 100644 --- a/app/Jobs/Banking/CreateTransfer.php +++ b/app/Jobs/Banking/CreateTransfer.php @@ -11,10 +11,11 @@ use App\Models\Banking\Account; use App\Models\Banking\Transfer; use App\Models\Setting\Category; use App\Traits\Currencies; +use App\Traits\Transactions; class CreateTransfer extends Job implements HasOwner, HasSource, ShouldCreate { - use Currencies; + use Currencies, Transactions; public function handle(): Transfer { @@ -28,6 +29,7 @@ class CreateTransfer extends Job implements HasOwner, HasSource, ShouldCreate $expense_transaction = $this->dispatch(new CreateTransaction([ 'company_id' => $this->request['company_id'], 'type' => 'expense', + 'number' => $this->getNextTransactionNumber(), 'account_id' => $this->request->get('from_account_id'), 'paid_at' => $this->request->get('transferred_at'), 'currency_code' => $expense_currency_code, @@ -51,6 +53,7 @@ class CreateTransfer extends Job implements HasOwner, HasSource, ShouldCreate $income_transaction = $this->dispatch(new CreateTransaction([ 'company_id' => $this->request['company_id'], 'type' => 'income', + 'number' => $this->getNextTransactionNumber(), 'account_id' => $this->request->get('to_account_id'), 'paid_at' => $this->request->get('transferred_at'), 'currency_code' => $income_currency_code, diff --git a/app/Jobs/Banking/MatchBankingDocumentTransaction.php b/app/Jobs/Banking/MatchBankingDocumentTransaction.php new file mode 100644 index 000000000..203a3fdf4 --- /dev/null +++ b/app/Jobs/Banking/MatchBankingDocumentTransaction.php @@ -0,0 +1,90 @@ +model = $model; + + $this->transaction = $transaction; + } + + public function handle(): Transaction + { + $this->checkAmount(); + + \DB::transaction(function () { + $this->transaction = $this->dispatch(new UpdateTransaction($this->transaction, ['document_id' => $this->model->id])); + + $this->model->save(); + + $this->createHistory(); + }); + + return $this->transaction; + } + + protected function checkAmount(): bool + { + $code = $this->transaction->currency_code; + $rate = $this->transaction->currency_rate; + + $precision = config('money.' . $code . '.precision'); + + $amount = $this->transaction->amount = round($this->transaction->amount, $precision); + + if ($this->model->currency_code != $code) { + $converted_amount = $this->convertBetween($amount, $code, $rate, $this->model->currency_code, $this->model->currency_rate); + + $amount = round($converted_amount, $precision); + } + + $this->model->paid_amount = $this->model->paid; + event(new PaidAmountCalculated($this->model)); + + $total_amount = round($this->model->amount - $this->model->paid_amount, $precision); + + unset($this->model->reconciled); + unset($this->model->paid_amount); + + $compare = bccomp($amount, $total_amount, $precision); + + if ($compare === 1) { + $error_amount = $total_amount; + + if ($this->model->currency_code != $code) { + $converted_amount = $this->convertBetween($total_amount, $this->model->currency_code, $this->model->currency_rate, $code, $rate); + + $error_amount = round($converted_amount, $precision); + } + + $message = trans('messages.error.over_match', ['type' => ucfirst($this->model->type), 'amount' => money($error_amount, $code, true)]); + + throw new \Exception($message); + } else { + $this->model->status = ($compare === 0) ? 'paid' : 'partial'; + } + + return true; + } + + protected function createHistory(): void + { + $history_desc = money((double) $this->transaction->amount, (string) $this->transaction->currency_code, true)->format() . ' ' . trans_choice('general.payments', 1); + + $this->dispatch(new CreateDocumentHistory($this->model, 0, $history_desc)); + } +} diff --git a/app/Jobs/Banking/SendTransactionAsCustomMail.php b/app/Jobs/Banking/SendTransactionAsCustomMail.php new file mode 100644 index 000000000..767138c9d --- /dev/null +++ b/app/Jobs/Banking/SendTransactionAsCustomMail.php @@ -0,0 +1,33 @@ +request = $request; + $this->template_alias = $template_alias; + } + + public function handle(): void + { + $transaction = Transaction::find($this->request->get('transaction_id')); + + $custom_mail = $this->request->only(['to', 'subject', 'body']); + + if ($this->request->has('user_email')) { + $custom_mail['cc'] = user()->email; + } + + // Notify the contact + $transaction->contact->notify(new Notification($transaction, $this->template_alias, true, $custom_mail)); + + event(new TransactionSent($transaction)); + } +} diff --git a/app/Jobs/Banking/SplitTransaction.php b/app/Jobs/Banking/SplitTransaction.php new file mode 100644 index 000000000..c1e949931 --- /dev/null +++ b/app/Jobs/Banking/SplitTransaction.php @@ -0,0 +1,68 @@ +checkAmount(); + + \DB::transaction(function () { + foreach ($this->request->items as $item) { + $transaction = $this->model->duplicate(); + $transaction->split_id = $this->model->id; + $transaction->amount = $item['amount']; + $transaction->save(); + + $item['split'] = $transaction; + + // Match only if document_id is given + if (empty($item['document_id'])) { + return; + } + + $document = Document::find($item['document_id']); + + if (empty($document)) { + return; + } + + $this->dispatch(new MatchBankingDocumentTransaction($document, $transaction)); + } + + $this->model->type = config('type.transaction.' . $this->model->type . '.split_type'); + $this->model->save(); + }); + + return $this->request->items; + } + + protected function checkAmount(): bool + { + $total_amount = 0; + + foreach ($this->request->items as $item) { + $total_amount += $item['amount']; + } + + $precision = config('money.' . $this->model->currency_code . '.precision'); + + $compare = bccomp($total_amount, $this->model->amount, $precision); + + if ($compare !== 0) { + $error_amount = $this->model->amount; + + $message = trans('messages.error.same_amount', ['transaction' => ucfirst(trans_choice('general.' . Str::plural($this->model->type), 1)), 'amount' => money($error_amount, $this->model->currency_code, true)]); + + throw new \Exception($message); + } + + return true; + } +} diff --git a/app/Jobs/Banking/UpdateBankingDocumentTransaction.php b/app/Jobs/Banking/UpdateBankingDocumentTransaction.php new file mode 100644 index 000000000..f4b883097 --- /dev/null +++ b/app/Jobs/Banking/UpdateBankingDocumentTransaction.php @@ -0,0 +1,124 @@ +model = $model; + $this->transaction = $transaction; + + parent::__construct($request); + } + + public function handle(): Transaction + { + $this->prepareRequest(); + + $this->checkAmount(); + + \DB::transaction(function () { + $this->transaction = $this->dispatch(new CreateTransaction($this->request)); + + // Upload attachment + if ($this->request->file('attachment')) { + $media = $this->getMedia($this->request->file('attachment'), 'transactions'); + + $this->transaction->attachMedia($media, 'attachment'); + } + + $this->model->save(); + + $this->createHistory(); + }); + + return $this->transaction; + } + + protected function prepareRequest(): void + { + if (!isset($this->request['amount'])) { + $this->model->paid_amount = $this->model->paid; + event(new PaidAmountCalculated($this->model)); + + $this->request['amount'] = $this->model->amount - $this->model->paid_amount; + } + + $currency_code = !empty($this->request['currency_code']) ? $this->request['currency_code'] : $this->model->currency_code; + + $this->request['company_id'] = $this->model->company_id; + $this->request['currency_code'] = isset($this->request['currency_code']) ? $this->request['currency_code'] : $this->model->currency_code; + $this->request['paid_at'] = isset($this->request['paid_at']) ? $this->request['paid_at'] : Date::now()->format('Y-m-d'); + $this->request['currency_rate'] = config('money.' . $currency_code . '.rate'); + $this->request['account_id'] = isset($this->request['account_id']) ? $this->request['account_id'] : setting('default.account'); + $this->request['document_id'] = isset($this->request['document_id']) ? $this->request['document_id'] : $this->model->id; + $this->request['contact_id'] = isset($this->request['contact_id']) ? $this->request['contact_id'] : $this->model->contact_id; + $this->request['category_id'] = isset($this->request['category_id']) ? $this->request['category_id'] : $this->model->category_id; + $this->request['payment_method'] = isset($this->request['payment_method']) ? $this->request['payment_method'] : setting('default.payment_method'); + $this->request['notify'] = isset($this->request['notify']) ? $this->request['notify'] : 0; + } + + protected function checkAmount(): bool + { + $code = $this->request['currency_code']; + $rate = $this->request['currency_rate']; + + $precision = config('money.' . $code . '.precision'); + + $amount = $this->request['amount'] = round($this->request['amount'], $precision); + + if ($this->model->currency_code != $code) { + $converted_amount = $this->convertBetween($amount, $code, $rate, $this->model->currency_code, $this->model->currency_rate); + + $amount = round($converted_amount, $precision); + } + + $this->model->paid_amount = $this->model->paid; + event(new PaidAmountCalculated($this->model)); + + $total_amount = round($this->model->amount - $this->model->paid_amount, $precision); + + unset($this->model->reconciled); + unset($this->model->paid_amount); + + $compare = bccomp($amount, $total_amount, $precision); + + if ($compare === 1) { + $error_amount = $total_amount; + + if ($this->model->currency_code != $code) { + $converted_amount = $this->convertBetween($total_amount, $this->model->currency_code, $this->model->currency_rate, $code, $rate); + + $error_amount = round($converted_amount, $precision); + } + + $message = trans('messages.error.over_payment', ['amount' => money($error_amount, $code, true)]); + + throw new \Exception($message); + } else { + $this->model->status = ($compare === 0) ? 'paid' : 'partial'; + } + + return true; + } + + protected function createHistory(): void + { + $history_desc = money((double) $this->transaction->amount, (string) $this->transaction->currency_code, true)->format() . ' ' . trans_choice('general.payments', 1); + + $this->dispatch(new CreateDocumentHistory($this->model, 0, $history_desc)); + } +} diff --git a/app/Jobs/Common/CreateContact.php b/app/Jobs/Common/CreateContact.php index 4fcaa5ce5..bad83ef9a 100644 --- a/app/Jobs/Common/CreateContact.php +++ b/app/Jobs/Common/CreateContact.php @@ -6,8 +6,9 @@ use App\Abstracts\Job; use App\Interfaces\Job\HasOwner; use App\Interfaces\Job\HasSource; use App\Interfaces\Job\ShouldCreate; -use App\Models\Auth\User; +use App\Jobs\Auth\CreateUser; use App\Models\Auth\Role; +use App\Models\Auth\User; use App\Models\Common\Contact; use Illuminate\Support\Str; @@ -42,16 +43,17 @@ class CreateContact extends Job implements HasOwner, HasSource, ShouldCreate throw new \Exception($message); } - $data = $this->request->all(); - $data['locale'] = setting('default.locale', 'en-GB'); - $customer_role = Role::all()->filter(function ($role) { return $role->hasPermission('read-client-portal'); - })->first(); + })->pluck('id')->toArray(); - $user = User::create($data); - $user->roles()->attach($customer_role); - $user->companies()->attach($data['company_id']); + $this->request->merge([ + 'locale' => setting('default.locale', 'en-GB'), + 'roles' => $customer_role, + 'companies' => [$this->request->get('company_id')], + ]); + + $user = $this->dispatch(new CreateUser($this->request)); $this->request['user_id'] = $user->id; } diff --git a/app/Jobs/Common/CreateDashboard.php b/app/Jobs/Common/CreateDashboard.php index bb19da135..df76b02de 100644 --- a/app/Jobs/Common/CreateDashboard.php +++ b/app/Jobs/Common/CreateDashboard.php @@ -95,7 +95,13 @@ class CreateDashboard extends Job implements HasOwner, HasSource, ShouldCreate $sort = 1; if ($this->request->has('default_widgets')) { - $widgets = Widgets::getClasses($this->request->get('default_widgets'), false); + $default_widgets = $this->request->get('default_widgets'); + + if (! is_array($default_widgets) && ($default_widgets == 'core')) { + Widgets::optimizeCoreWidgets(); + } + + $widgets = Widgets::getClasses($default_widgets, false); $this->createWidgets($widgets, $sort); } diff --git a/app/Jobs/Common/UpdateContact.php b/app/Jobs/Common/UpdateContact.php index 8eecba0f6..fa7b4451a 100644 --- a/app/Jobs/Common/UpdateContact.php +++ b/app/Jobs/Common/UpdateContact.php @@ -3,6 +3,7 @@ namespace App\Jobs\Common; use App\Abstracts\Job; +use App\Events\Auth\UserCreated; use App\Interfaces\Job\ShouldUpdate; use App\Models\Auth\Role; use App\Models\Auth\User; @@ -66,6 +67,9 @@ class UpdateContact extends Job implements ShouldUpdate $user = User::create($data); $user->roles()->attach($customer_role); $user->companies()->attach($data['company_id']); + $this->request->merge(['companies' => array($data['company_id'])]); + + event(new UserCreated($user, $this->request)); $this->request['user_id'] = $user->id; } diff --git a/app/Jobs/Document/CreateDocumentItemsAndTotals.php b/app/Jobs/Document/CreateDocumentItemsAndTotals.php index 5da28bbd7..4ccb53740 100644 --- a/app/Jobs/Document/CreateDocumentItemsAndTotals.php +++ b/app/Jobs/Document/CreateDocumentItemsAndTotals.php @@ -149,7 +149,7 @@ class CreateDocumentItemsAndTotals extends Job implements HasOwner, HasSource, S 'document_id' => $this->document->id, 'code' => 'total', 'name' => 'invoices.total', - 'amount' => $this->request['amount'], + 'amount' => $this->request['amount'], 'sort_order' => $sort_order, 'created_from' => $this->request['created_from'], 'created_by' => $this->request['created_by'], @@ -255,10 +255,12 @@ class CreateDocumentItemsAndTotals extends Job implements HasOwner, HasSource, S $sub = (double) $item['price'] * (double) $item['quantity']; if (! empty($this->request['discount'])) { - if ($item['discount_type'] === 'percentage') { - $sub -= ($sub * ($item['discount'] / 100)); - } else { - $sub -= $item['discount']; + if (isset($item['discount']) && isset($item['discount_type'])) { + if ($item['discount_type'] === 'percentage') { + $sub -= ($sub * ($item['discount'] / 100)); + } else { + $sub -= $item['discount']; + } } } diff --git a/app/Jobs/Document/SendDocumentAsCustomMail.php b/app/Jobs/Document/SendDocumentAsCustomMail.php new file mode 100644 index 000000000..7e3a1e213 --- /dev/null +++ b/app/Jobs/Document/SendDocumentAsCustomMail.php @@ -0,0 +1,34 @@ +request = $request; + $this->template_alias = $template_alias; + } + + public function handle(): void + { + $document = Document::find($this->request->get('document_id')); + + $custom_mail = $this->request->only(['to', 'subject', 'body']); + + if ($this->request->has('user_email')) { + $custom_mail['cc'] = user()->email; + } + + $notification = config('type.document.' . $document->type . '.notification.class'); + + // Notify the contact + $document->contact->notify(new $notification($document, $this->template_alias, true, $custom_mail)); + + event(new DocumentSent($document)); + } +} diff --git a/app/Jobs/Install/DisableModule.php b/app/Jobs/Install/DisableModule.php index daa6bdc1c..7cbb2abe7 100644 --- a/app/Jobs/Install/DisableModule.php +++ b/app/Jobs/Install/DisableModule.php @@ -39,6 +39,8 @@ class DisableModule extends Job { $this->authorize(); + event(new \App\Events\Module\Disabling($this->alias, $this->company_id)); + $command = "module:disable {$this->alias} {$this->company_id} {$this->locale}"; $result = Console::run($command); diff --git a/app/Jobs/Install/UninstallModule.php b/app/Jobs/Install/UninstallModule.php index 0bfa17239..4056a94ce 100644 --- a/app/Jobs/Install/UninstallModule.php +++ b/app/Jobs/Install/UninstallModule.php @@ -39,6 +39,8 @@ class UninstallModule extends Job { $this->authorize(); + event(new \App\Events\Module\Uninstalling($this->alias, $this->company_id)); + $command = "module:uninstall {$this->alias} {$this->company_id} {$this->locale}"; $result = Console::run($command); diff --git a/app/Jobs/Setting/CreateEmailTemplate.php b/app/Jobs/Setting/CreateEmailTemplate.php index 52d1cdea5..2a1c24948 100644 --- a/app/Jobs/Setting/CreateEmailTemplate.php +++ b/app/Jobs/Setting/CreateEmailTemplate.php @@ -6,7 +6,7 @@ use App\Abstracts\Job; use App\Interfaces\Job\HasOwner; use App\Interfaces\Job\HasSource; use App\Interfaces\Job\ShouldCreate; -use App\Models\Common\EmailTemplate; +use App\Models\Setting\EmailTemplate; class CreateEmailTemplate extends Job implements HasOwner, HasSource, ShouldCreate { diff --git a/app/Jobs/Setting/UpdateEmailTemplate.php b/app/Jobs/Setting/UpdateEmailTemplate.php index 9f2ec30aa..69a4813e4 100644 --- a/app/Jobs/Setting/UpdateEmailTemplate.php +++ b/app/Jobs/Setting/UpdateEmailTemplate.php @@ -4,7 +4,7 @@ namespace App\Jobs\Setting; use App\Abstracts\Job; use App\Interfaces\Job\ShouldUpdate; -use App\Models\Common\EmailTemplate; +use App\Models\Setting\EmailTemplate; class UpdateEmailTemplate extends Job implements ShouldUpdate { diff --git a/app/Listeners/Auth/AddLandingPages.php b/app/Listeners/Auth/AddLandingPages.php index 82022e8fe..2ae15319b 100644 --- a/app/Listeners/Auth/AddLandingPages.php +++ b/app/Listeners/Auth/AddLandingPages.php @@ -28,10 +28,6 @@ class AddLandingPages 'permission' => 'read-sales-invoices', 'translate' => trans_choice('general.invoices', 2), ], - 'revenues.index' => [ - 'permission' => 'read-sales-revenues', - 'translate' => trans_choice('general.revenues', 2), - ], 'customers.index' => [ 'permission' => 'read-sales-customers', 'translate' => trans_choice('general.customers', 2), @@ -40,10 +36,6 @@ class AddLandingPages 'permission' => 'read-purchases-bills', 'translate' => trans_choice('general.bills', 2), ], - 'payments.index' => [ - 'permission' => 'read-purchases-payments', - 'translate' => trans_choice('general.payments', 2), - ], 'vendors.index' => [ 'permission' => 'read-purchases-vendors', 'translate' => trans_choice('general.vendors', 2), @@ -68,10 +60,6 @@ class AddLandingPages 'permission' => 'read-common-reports', 'translate' => trans_choice('general.reports', 2), ], - 'settings.index' => [ - 'permission' => 'read-settings-settings', - 'translate' => trans_choice('general.settings', 2), - ], 'categories.index' => [ 'permission' => 'read-settings-categories', 'translate' => trans_choice('general.categories', 2), diff --git a/app/Listeners/Auth/DeleteUserInvitation.php b/app/Listeners/Auth/DeleteUserInvitation.php new file mode 100644 index 000000000..b4eb8597a --- /dev/null +++ b/app/Listeners/Auth/DeleteUserInvitation.php @@ -0,0 +1,28 @@ +user->id)->get(); + + foreach ($invitations as $invitation) { + $this->dispatch(new DeleteInvitation($invitation)); + } + } +} diff --git a/app/Listeners/Auth/SendUserInvitation.php b/app/Listeners/Auth/SendUserInvitation.php new file mode 100644 index 000000000..9d9d9cdf8 --- /dev/null +++ b/app/Listeners/Auth/SendUserInvitation.php @@ -0,0 +1,22 @@ +invitation; + + $invitation->user->notify(new Notification($invitation)); + } +} diff --git a/app/Listeners/Banking/IncreaseNextTransactionNumber.php b/app/Listeners/Banking/IncreaseNextTransactionNumber.php new file mode 100644 index 000000000..1f1902be1 --- /dev/null +++ b/app/Listeners/Banking/IncreaseNextTransactionNumber.php @@ -0,0 +1,25 @@ +transaction->isRecurringTransaction() ? '-recurring' : ''; + + // Update next transaction number + $this->increaseNextTransactionNumber($suffix); + } +} diff --git a/app/Listeners/Document/MarkDocumentCancelled.php b/app/Listeners/Document/MarkDocumentCancelled.php index cbb52e2f7..94b2abead 100644 --- a/app/Listeners/Document/MarkDocumentCancelled.php +++ b/app/Listeners/Document/MarkDocumentCancelled.php @@ -23,11 +23,11 @@ class MarkDocumentCancelled $type_text = ''; - if ($alias = config('type.' . $event->document->type . '.alias', '')) { + if ($alias = config('type.document.' . $event->document->type . '.alias', '')) { $type_text .= $alias . '::'; } - $type_text .= 'general.' . config('type.' . $event->document->type .'.translation.prefix'); + $type_text .= 'general.' . config('type.document.' . $event->document->type .'.translation.prefix'); $type = trans_choice($type_text, 1); diff --git a/app/Listeners/Document/MarkDocumentReceived.php b/app/Listeners/Document/MarkDocumentReceived.php index db6696d0a..e1d8d1d3e 100644 --- a/app/Listeners/Document/MarkDocumentReceived.php +++ b/app/Listeners/Document/MarkDocumentReceived.php @@ -26,11 +26,11 @@ class MarkDocumentReceived $type_text = ''; - if ($alias = config('type.' . $event->document->type . '.alias', '')) { + if ($alias = config('type.document.' . $event->document->type . '.alias', '')) { $type_text .= $alias . '::'; } - $type_text .= 'general.' . config('type.' . $event->document->type .'.translation.prefix'); + $type_text .= 'general.' . config('type.document.' . $event->document->type .'.translation.prefix'); $type = trans_choice($type_text, 1); diff --git a/app/Listeners/Document/MarkDocumentSent.php b/app/Listeners/Document/MarkDocumentSent.php index db68140c0..266d623fa 100644 --- a/app/Listeners/Document/MarkDocumentSent.php +++ b/app/Listeners/Document/MarkDocumentSent.php @@ -26,11 +26,11 @@ class MarkDocumentSent $type_text = ''; - if ($alias = config('type.' . $event->document->type . '.alias', '')) { + if ($alias = config('type.document.' . $event->document->type . '.alias', '')) { $type_text .= $alias . '::'; } - $type_text .= 'general.' . config('type.' . $event->document->type .'.translation.prefix'); + $type_text .= 'general.' . config('type.document.' . $event->document->type .'.translation.prefix'); $type = trans_choice($type_text, 1); diff --git a/app/Listeners/Document/MarkDocumentViewed.php b/app/Listeners/Document/MarkDocumentViewed.php index cd862eaa8..e0a4fb2b4 100644 --- a/app/Listeners/Document/MarkDocumentViewed.php +++ b/app/Listeners/Document/MarkDocumentViewed.php @@ -31,11 +31,11 @@ class MarkDocumentViewed $type_text = ''; - if ($alias = config('type.' . $event->document->type . '.alias', '')) { + if ($alias = config('type.document.' . $event->document->type . '.alias', '')) { $type_text .= $alias . '::'; } - $type_text .= 'general.' . config('type.' . $event->document->type .'.translation.prefix'); + $type_text .= 'general.' . config('type.document.' . $event->document->type .'.translation.prefix'); $type = trans_choice($type_text, 1); diff --git a/app/Listeners/Document/SendDocumentPaymentNotification.php b/app/Listeners/Document/SendDocumentPaymentNotification.php index e144dbed5..22b6c45dd 100644 --- a/app/Listeners/Document/SendDocumentPaymentNotification.php +++ b/app/Listeners/Document/SendDocumentPaymentNotification.php @@ -19,10 +19,6 @@ class SendDocumentPaymentNotification return; } - if (!empty($event->request['mark_paid'])) { - return; - } - $document = $event->document; $transaction = $document->transactions()->latest()->first(); @@ -33,7 +29,7 @@ class SendDocumentPaymentNotification // Notify all users assigned to this company foreach ($document->company->users as $user) { - if (!$user->can('read-notifications')) { + if ($user->cannot('read-notifications')) { continue; } diff --git a/app/Listeners/Document/SendDocumentRecurringNotification.php b/app/Listeners/Document/SendDocumentRecurringNotification.php index 7ac73522a..91dd91cbf 100644 --- a/app/Listeners/Document/SendDocumentRecurringNotification.php +++ b/app/Listeners/Document/SendDocumentRecurringNotification.php @@ -3,9 +3,12 @@ namespace App\Listeners\Document; use App\Events\Document\DocumentRecurring as Event; +use App\Traits\Documents; class SendDocumentRecurringNotification { + use Documents; + /** * Handle the event. * @@ -15,21 +18,25 @@ class SendDocumentRecurringNotification public function handle(Event $event) { $document = $event->document; - $config = config('type.' . $document->type . '.notification'); + $config = config('type.document.' . $document->type . '.notification'); if (empty($config) || empty($config['class'])) { return; } + if ($document->parent?->recurring?->auto_send == false) { + return; + } + $notification = $config['class']; // Notify the customer - if ($config['notify_contact'] && $document->contact && !empty($document->contact_email)) { + if ($this->canNotifyTheContactOfDocument($document)) { $document->contact->notify(new $notification($document, "{$document->type}_recur_customer")); } // Check if should notify users - if (!$config['notify_user']) { + if (! $config['notify_user']) { return; } diff --git a/app/Listeners/Document/SendDocumentReminderNotification.php b/app/Listeners/Document/SendDocumentReminderNotification.php index 0392eb3b3..0a512b6da 100644 --- a/app/Listeners/Document/SendDocumentReminderNotification.php +++ b/app/Listeners/Document/SendDocumentReminderNotification.php @@ -3,9 +3,12 @@ namespace App\Listeners\Document; use App\Events\Document\DocumentReminded as Event; +use App\Traits\Documents; class SendDocumentReminderNotification { + use Documents; + /** * Handle the event. * @@ -18,13 +21,13 @@ class SendDocumentReminderNotification $notification = $event->notification; // Notify the customer - if ($document->contact && !empty($document->contact_email)) { + if ($this->canNotifyTheContactOfDocument($document)) { $document->contact->notify(new $notification($document, "{$document->type}_remind_customer")); } // Notify all users assigned to this company foreach ($document->company->users as $user) { - if (!$user->can('read-notifications')) { + if ($user->cannot('read-notifications')) { continue; } diff --git a/app/Listeners/Document/SendDocumentViewNotification.php b/app/Listeners/Document/SendDocumentViewNotification.php new file mode 100644 index 000000000..177bc8c9d --- /dev/null +++ b/app/Listeners/Document/SendDocumentViewNotification.php @@ -0,0 +1,43 @@ +document; + $config = config('type.document.' . $document->type . '.notification'); + + if (empty($config) || empty($config['class'])) { + return; + } + + // Check if should notify users + if (! $config['notify_user']) { + return; + } + + $notification = $config['class']; + + // Notify all users assigned to this company + foreach ($document->company->users as $user) { + if ($user->cannot('read-notifications')) { + continue; + } + + $user->notify(new $notification($document, "{$document->type}_view_admin")); + } + } +} diff --git a/app/Listeners/Document/SettingFieldCreated.php b/app/Listeners/Document/SettingFieldCreated.php index 153fed0fa..e0e304ff2 100644 --- a/app/Listeners/Document/SettingFieldCreated.php +++ b/app/Listeners/Document/SettingFieldCreated.php @@ -53,7 +53,7 @@ class SettingFieldCreated $company = Company::find($document->company_id); foreach ($files as $key => $value) { - // Upload attachment + // Upload attachment $media = $this->getMedia($value, 'settings'); $company->attachMedia($media, Str::snake($real_key)); diff --git a/app/Listeners/Menu/AddAdminItems.php b/app/Listeners/Menu/AddAdminItems.php deleted file mode 100644 index 9d4e9cafa..000000000 --- a/app/Listeners/Menu/AddAdminItems.php +++ /dev/null @@ -1,154 +0,0 @@ -menu; - - $attr = ['icon' => '']; - - // Dashboards - $title = trim(trans_choice('general.dashboards', 2)); - if ($this->canAccessMenuItem($title, 'read-common-dashboards')) { - $dashboards = user()->dashboards()->enabled()->get(); - - if ($dashboards->count() > 1) { - $menu->dropdown($title, function ($sub) use ($attr, $dashboards) { - foreach ($dashboards as $key => $dashboard) { - if (session('dashboard_id') != $dashboard->id) { - $sub->route('dashboards.switch', $dashboard->name, ['dashboard' => $dashboard->id], $key, $attr); - } else { - $sub->url('/' . company_id(), $dashboard->name, $key, $attr); - } - } - }, 10, [ - 'url' => '/' . company_id(), - 'title' => $title, - 'icon' => 'fa fa-tachometer-alt', - ]); - } else { - $menu->add([ - 'url' => '/' . company_id(), - 'title' => trans_choice('general.dashboards', 1), - 'icon' => 'fa fa-tachometer-alt', - 'order' => 10, - ]); - } - } - - // Items - $title = trim(trans_choice('general.items', 2)); - if ($this->canAccessMenuItem($title, 'read-common-items')) { - $menu->route('items.index', $title, [], 20, ['icon' => 'fa fa-cube']); - } - - // Sales - $title = trim(trans_choice('general.sales', 2)); - if ($this->canAccessMenuItem($title, ['read-sales-invoices', 'read-sales-revenues', 'read-sales-customers'])) { - $menu->dropdown($title, function ($sub) use ($attr) { - $title = trim(trans_choice('general.invoices', 2)); - if ($this->canAccessMenuItem($title, 'read-sales-invoices')) { - $sub->route('invoices.index', $title, [], 10, $attr); - } - - $title = trim(trans_choice('general.revenues', 2)); - if ($this->canAccessMenuItem($title, 'read-sales-revenues')) { - $sub->route('revenues.index', $title, [], 20, $attr); - } - - $title = trim(trans_choice('general.customers', 2)); - if ($this->canAccessMenuItem($title, 'read-sales-customers')) { - $sub->route('customers.index', $title, [], 30, $attr); - } - }, 30, [ - 'title' => $title, - 'icon' => 'fa fa-money-bill', - ]); - } - - // Purchases - $title = trim(trans_choice('general.purchases', 2)); - if ($this->canAccessMenuItem($title, ['read-purchases-bills', 'read-purchases-payments', 'read-purchases-vendors'])) { - $menu->dropdown($title, function ($sub) use ($attr) { - $title = trim(trans_choice('general.bills', 2)); - if ($this->canAccessMenuItem($title, 'read-purchases-bills')) { - $sub->route('bills.index', $title, [], 10, $attr); - } - - $title = trim(trans_choice('general.payments', 2)); - if ($this->canAccessMenuItem($title, 'read-purchases-payments')) { - $sub->route('payments.index', $title, [], 20, $attr); - } - - $title = trim(trans_choice('general.vendors', 2)); - if ($this->canAccessMenuItem($title, 'read-purchases-vendors')) { - $sub->route('vendors.index', $title, [], 30, $attr); - } - }, 40, [ - 'title' => $title, - 'icon' => 'fa fa-shopping-cart', - ]); - } - - // Banking - $title = trim(trans('general.banking')); - if ($this->canAccessMenuItem($title, ['read-banking-accounts', 'read-banking-transfers', 'read-banking-transactions', 'read-banking-reconciliations'])) { - $menu->dropdown($title, function ($sub) use ($attr) { - $title = trim(trans_choice('general.accounts', 2)); - if ($this->canAccessMenuItem($title, 'read-banking-accounts')) { - $sub->route('accounts.index', $title, [], 10, $attr); - } - - $title = trim(trans_choice('general.transfers', 2)); - if ($this->canAccessMenuItem($title, 'read-banking-transfers')) { - $sub->route('transfers.index', $title, [], 20, $attr); - } - - $title = trim(trans_choice('general.transactions', 2)); - if ($this->canAccessMenuItem($title, 'read-banking-transactions')) { - $sub->route('transactions.index', $title, [], 30, $attr); - } - - $title = trim(trans_choice('general.reconciliations', 2)); - if ($this->canAccessMenuItem($title, 'read-banking-reconciliations')) { - $sub->route('reconciliations.index', $title, [], 40, $attr); - } - }, 50, [ - 'title' => $title, - 'icon' => 'fa fa-briefcase', - ]); - } - - // Reports - $title = trim(trans_choice('general.reports', 2)); - if ($this->canAccessMenuItem($title, 'read-common-reports')) { - $menu->route('reports.index', $title, [], 60, ['icon' => 'fa fa-chart-pie']); - } - - // Settings - $title = trim(trans_choice('general.settings', 2)); - if ($this->canAccessMenuItem($title, 'read-settings-settings')) { - $menu->route('settings.index', $title, [], 70, ['icon' => 'fa fa-cog']); - } - - // Apps - $title = trim(trans_choice('general.modules', 2)); - if ($this->canAccessMenuItem($title, 'read-modules-home')) { - $menu->route('apps.home.index', $title, [], 80, ['icon' => 'fa fa-rocket']); - } - } -} diff --git a/app/Listeners/Menu/AddPortalItems.php b/app/Listeners/Menu/AddPortalItems.php deleted file mode 100644 index 03c9eb819..000000000 --- a/app/Listeners/Menu/AddPortalItems.php +++ /dev/null @@ -1,36 +0,0 @@ -menu; - - $inactive = false; - - if (request()->route()->getName() != 'portal.dashboard') { - $inactive = true; - } - - $menu->route('portal.dashboard', trans_choice('general.dashboards', 1), [], 10, ['icon' => 'fa fa-tachometer-alt', 'inactive' => $inactive]); - - if ($user->can('read-portal-invoices')) { - $menu->route('portal.invoices.index', trans_choice('general.invoices', 2), [], 20, ['icon' => 'fa fa-file-signature']); - } - - if ($user->can('read-portal-payments')) { - $menu->route('portal.payments.index', trans_choice('general.payments', 2), [], 30, ['icon' => 'fa fa-money-bill']); - } - } -} diff --git a/app/Listeners/Menu/ShowInAdmin.php b/app/Listeners/Menu/ShowInAdmin.php new file mode 100644 index 000000000..9b926c439 --- /dev/null +++ b/app/Listeners/Menu/ShowInAdmin.php @@ -0,0 +1,119 @@ +menu; + + $attr = ['icon' => '']; + + // Dashboards + $title = trim(trans_choice('general.dashboards', 1)); + if ($this->canAccessMenuItem($title, 'read-common-dashboards')) { + $inactive = ('dashboard' != Route::currentRouteName()) ? true : false; + $menu->route('dashboard', $title, [], 10, ['icon' => 'speed', 'inactive' => $inactive]); + } + + // Items + $title = trim(trans_choice('general.items', 2)); + if ($this->canAccessMenuItem($title, 'read-common-items')) { + $menu->route('items.index', $title, [], 20, ['icon' => 'inventory_2']); + } + + // Sales + $title = trim(trans_choice('general.sales', 2)); + if ($this->canAccessMenuItem($title, ['read-sales-invoices', 'read-sales-customers'])) { + $menu->dropdown($title, function ($sub) use ($attr) { + $title = trim(trans_choice('general.invoices', 2)); + if ($this->canAccessMenuItem($title, 'read-sales-invoices')) { + $sub->route('invoices.index', $title, [], 10, $attr); + } + + $title = trim(trans_choice('general.customers', 2)); + if ($this->canAccessMenuItem($title, 'read-sales-customers')) { + $sub->route('customers.index', $title, [], 20, $attr); + } + }, 30, [ + 'title' => $title, + 'icon' => 'payments', + ]); + } + + // Purchases + $title = trim(trans_choice('general.purchases', 2)); + if ($this->canAccessMenuItem($title, ['read-purchases-bills', 'read-purchases-vendors'])) { + $menu->dropdown($title, function ($sub) use ($attr) { + $title = trim(trans_choice('general.bills', 2)); + if ($this->canAccessMenuItem($title, 'read-purchases-bills')) { + $sub->route('bills.index', $title, [], 10, $attr); + } + + $title = trim(trans_choice('general.vendors', 2)); + if ($this->canAccessMenuItem($title, 'read-purchases-vendors')) { + $sub->route('vendors.index', $title, [], 20, $attr); + } + }, 40, [ + 'title' => $title, + 'icon' => 'shopping_cart', + ]); + } + + // Banking + $title = trim(trans('general.banking')); + if ($this->canAccessMenuItem($title, ['read-banking-accounts', 'read-banking-transfers', 'read-banking-transactions', 'read-banking-reconciliations'])) { + $menu->dropdown($title, function ($sub) use ($attr) { + $title = trim(trans_choice('general.accounts', 2)); + if ($this->canAccessMenuItem($title, 'read-banking-accounts')) { + $sub->route('accounts.index', $title, [], 10, $attr); + } + + $title = trim(trans_choice('general.transactions', 2)); + if ($this->canAccessMenuItem($title, 'read-banking-transactions')) { + $sub->route('transactions.index', $title, [], 20, $attr); + } + + $title = trim(trans_choice('general.transfers', 2)); + if ($this->canAccessMenuItem($title, 'read-banking-transfers')) { + $sub->route('transfers.index', $title, [], 30, $attr); + } + + $title = trim(trans_choice('general.reconciliations', 2)); + if ($this->canAccessMenuItem($title, 'read-banking-reconciliations')) { + $sub->route('reconciliations.index', $title, [], 40, $attr); + } + }, 50, [ + 'title' => $title, + 'icon' => 'account_balance', + ]); + } + + // Reports + $title = trim(trans_choice('general.reports', 2)); + if ($this->canAccessMenuItem($title, 'read-common-reports')) { + $menu->route('reports.index', $title, [], 60, ['icon' => 'donut_small']); + } + + // Apps + $title = trim(trans_choice('general.modules', 2)); + if ($this->canAccessMenuItem($title, 'read-modules-home')) { + $active = (Str::contains(Route::currentRouteName(), 'apps')) ? true : false; + $menu->route('apps.home.index', $title, [], 80, ['icon' => 'rocket_launch', 'active' => $active]); + } + } +} diff --git a/app/Listeners/Menu/ShowInNeww.php b/app/Listeners/Menu/ShowInNeww.php new file mode 100644 index 000000000..6212d8526 --- /dev/null +++ b/app/Listeners/Menu/ShowInNeww.php @@ -0,0 +1,52 @@ +menu; + + $title = trim(trans_choice('general.invoices', 1)); + if ($this->canAccessMenuItem($title, 'create-sales-invoices')) { + $menu->route('invoices.create', $title, [], 10, ['icon' => 'description']); + } + + $title = trim(trans_choice('general.incomes', 1)); + if ($this->canAccessMenuItem($title, 'create-banking-transactions')) { + $menu->route('transactions.create', $title, ['type' => 'income'], 20, ['icon' => 'request_quote']); + } + + $title = trim(trans_choice('general.customers', 1)); + if ($this->canAccessMenuItem($title, 'create-sales-customers')) { + $menu->route('customers.create', $title, [], 30, ['icon' => 'person']); + } + + $title = trim(trans_choice('general.bills', 1)); + if ($this->canAccessMenuItem($title, 'create-purchases-bills')) { + $menu->route('bills.create', $title, [], 40, ['icon' => 'file_open']); + } + + $title = trim(trans_choice('general.expenses', 1)); + if ($this->canAccessMenuItem($title, 'create-banking-transactions')) { + $menu->route('transactions.create', $title, ['type' => 'expense'], 50, ['icon' => 'paid']); + } + + $title = trim(trans_choice('general.vendors', 1)); + if ($this->canAccessMenuItem($title, 'create-purchases-vendors')) { + $menu->route('vendors.create', $title, [], 60, ['icon' => 'engineering']); + } + } +} diff --git a/app/Listeners/Menu/ShowInNotifications.php b/app/Listeners/Menu/ShowInNotifications.php new file mode 100644 index 000000000..38686193b --- /dev/null +++ b/app/Listeners/Menu/ShowInNotifications.php @@ -0,0 +1,83 @@ +cannot('read-notifications')) { + return; + } + + // Notification tables + $notifications = collect(); + + // Update notifications + if (user()->can('read-install-updates')) { + $updates = Versions::getUpdates(); + + foreach ($updates as $key => $update) { + $prefix = ($key == 'core') ? 'core' : 'module'; + + $new = new DatabaseNotification(); + $new->id = $key; + $new->type = 'updates'; + $new->notifiable_type = "users"; + $new->notifiable_id = user()->id; + $new->data = [ + 'title' => $key . ' (v' . $update . ')', + 'description' => '' . trans('install.update.' . $prefix) . '', + ]; + $new->created_at = \Carbon\Carbon::now(); + + $notifications->push($new); + } + } + + // New app notifcations + $new_apps = $this->getNotifications('new-apps'); + + foreach ($new_apps as $key => $new_app) { + if (setting('notifications.' . user()->id . '.' . $new_app->alias)) { + unset($new_apps[$key]); + + continue; + } + + $new = new DatabaseNotification(); + $new->id = $key; + $new->type = 'new-apps'; + $new->notifiable_type = "users"; + $new->notifiable_id = user()->id; + $new->data = [ + 'title' => $new_app->name, + 'description' => $new_app->alias, + ]; + $new->created_at = $new_app->started_at->date; + + $notifications->push($new); + } + + $unReadNotifications = user()->unReadNotifications; + + foreach ($unReadNotifications as $unReadNotification) { + $notifications->push($unReadNotification); + } + + $event->notifications->notifications = $notifications; + } +} diff --git a/app/Listeners/Menu/ShowInPortal.php b/app/Listeners/Menu/ShowInPortal.php new file mode 100644 index 000000000..bec95d347 --- /dev/null +++ b/app/Listeners/Menu/ShowInPortal.php @@ -0,0 +1,36 @@ +menu; + + $inactive = false; + + if (request()->route()->getName() != 'portal.dashboard') { + $inactive = true; + } + + $menu->route('portal.dashboard', trans_choice('general.dashboards', 1), [], 10, ['icon' => 'speed', 'inactive' => $inactive]); + + if ($user->can('read-portal-invoices')) { + $menu->route('portal.invoices.index', trans_choice('general.invoices', 2), [], 20, ['icon' => 'description']); + } + + if ($user->can('read-portal-payments')) { + $menu->route('portal.payments.index', trans_choice('general.payments', 2), [], 30, ['icon' => 'credit_score']); + } + } +} diff --git a/app/Listeners/Menu/ShowInProfile.php b/app/Listeners/Menu/ShowInProfile.php new file mode 100644 index 000000000..b667008b7 --- /dev/null +++ b/app/Listeners/Menu/ShowInProfile.php @@ -0,0 +1,39 @@ +menu; + + $title = trim(trans('auth.profile')); + if ($this->canAccessMenuItem($title, 'read-auth-profile')) { + $menu->route('profile.edit', $title, [user()->id], 10, ['icon' => 'badge']); + } + + if (user()->isCustomer()) { + $menu->route('portal.profile.edit', $title, [user()->id], 10, ['icon' => 'badge']); + } + + $title = trim(trans_choice('general.users', 2)); + if ($this->canAccessMenuItem($title, 'read-auth-users')) { + $menu->route('users.index', $title, [], 20, ['icon' => 'people']); + } + + $title = trim(trans('auth.logout')); + $menu->route('logout', $title, [], 90, ['icon' => 'power_settings_new', 'class' => 'mt-5']); + } +} diff --git a/app/Listeners/Menu/ShowInSettings.php b/app/Listeners/Menu/ShowInSettings.php new file mode 100644 index 000000000..b3408fbff --- /dev/null +++ b/app/Listeners/Menu/ShowInSettings.php @@ -0,0 +1,72 @@ +menu; + + $title = trim(trans_choice('general.companies', 1)); + if ($this->canAccessMenuItem($title, 'read-settings-company')) { + $menu->route('settings.company.edit', $title, [], 10, ['icon' => 'business', 'search_keywords' => trans('settings.company.search_keywords')]); + } + + $title = trim(trans_choice('general.localisations', 1)); + if ($this->canAccessMenuItem($title, 'read-settings-localisation')) { + $menu->route('settings.localisation.edit', $title, [], 20, ['icon' => 'flag', 'search_keywords' => trans('settings.localisation.search_keywords')]); + } + + $title = trim(trans_choice('general.invoices', 1)); + if ($this->canAccessMenuItem($title, 'read-settings-invoice')) { + $menu->route('settings.invoice.edit', $title, [], 30, ['icon' => 'description', 'search_keywords' => trans('settings.invoice.search_keywords')]); + } + + $title = trim(trans_choice('general.defaults', 1)); + if ($this->canAccessMenuItem($title, 'read-settings-defaults')) { + $menu->route('settings.default.edit', $title, [], 40, ['icon' => 'tune', 'search_keywords' => trans('settings.default.search_keywords')]); + } + + $title = trim(trans_choice('general.email_services', 1)); + if ($this->canAccessMenuItem($title, 'read-settings-email')) { + $menu->route('settings.email.edit', $title, [], 50, ['icon' => 'email', 'search_keywords' => trans('settings.email_services.search_keywords')]); + } + + $title = trim(trans_choice('general.email_templates', 2)); + if ($this->canAccessMenuItem($title, 'read-settings-email-templates')) { + $menu->route('settings.email-templates.edit', $title, [], 60, ['icon' => 'attach_email', 'search_keywords' => trans('settings.email.templates.search_keywords')]); + } + + $title = trim(trans('settings.scheduling.name')); + if ($this->canAccessMenuItem($title, 'read-settings-schedule')) { + $menu->route('settings.schedule.edit', $title, [], 70, ['icon' => 'alarm', 'search_keywords' => trans('settings.scheduling.search_keywords')]); + } + + $title = trim(trans_choice('general.categories', 2)); + if ($this->canAccessMenuItem($title, 'read-settings-categories')) { + $menu->route('categories.index', $title, [], 80, ['icon' => 'folder', 'search_keywords' => trans('settings.categories.search_keywords')]); + } + + $title = trim(trans_choice('general.currencies', 2)); + if ($this->canAccessMenuItem($title, 'read-settings-currencies')) { + $menu->route('currencies.index', $title, [], 90, ['icon' => 'attach_money', 'search_keywords' => trans('settings.currencies.search_keywords')]); + } + + $title = trim(trans_choice('general.taxes', 2)); + if ($this->canAccessMenuItem($title, 'read-settings-taxes')) { + $menu->route('taxes.index', $title, [], 100, ['icon' => 'percent', 'search_keywords' => trans('settings.taxes.search_keywords')]); + } + } +} diff --git a/app/Listeners/Module/FinishUninstallation.php b/app/Listeners/Module/FinishUninstallation.php index cb11aa745..3d947b1c4 100644 --- a/app/Listeners/Module/FinishUninstallation.php +++ b/app/Listeners/Module/FinishUninstallation.php @@ -8,8 +8,8 @@ use App\Jobs\Common\DeleteDashboard; use App\Jobs\Common\DeleteReport; use App\Jobs\Setting\DeleteEmailTemplate; use App\Models\Common\Dashboard; -use App\Models\Common\EmailTemplate; use App\Models\Common\Report; +use App\Models\Setting\EmailTemplate; use App\Traits\Jobs; use Throwable; diff --git a/app/Listeners/Report/AddAccounts.php b/app/Listeners/Report/AddAccounts.php index fdc9aa2dd..271830662 100644 --- a/app/Listeners/Report/AddAccounts.php +++ b/app/Listeners/Report/AddAccounts.php @@ -30,7 +30,7 @@ class AddAccounts extends Listener // send true for add limit on search and filter.. $event->class->filters['accounts'] = $this->getAccounts(true); - $event->class->filters['routes']['accounts'] = 'accounts.index'; + $event->class->filters['routes']['accounts'] = ['accounts.index', 'search=enabled:1']; } /** diff --git a/app/Listeners/Report/AddCustomers.php b/app/Listeners/Report/AddCustomers.php index dd47e9ba9..3d3452a58 100644 --- a/app/Listeners/Report/AddCustomers.php +++ b/app/Listeners/Report/AddCustomers.php @@ -28,7 +28,7 @@ class AddCustomers extends Listener } $event->class->filters['customers'] = $this->getCustomers(true); - $event->class->filters['routes']['customers'] = 'customers.index'; + $event->class->filters['routes']['customers'] = ['customers.index', 'search=enabled:1']; } /** diff --git a/app/Listeners/Report/AddExpenseCategories.php b/app/Listeners/Report/AddExpenseCategories.php index 321317b66..8371a6b5a 100644 --- a/app/Listeners/Report/AddExpenseCategories.php +++ b/app/Listeners/Report/AddExpenseCategories.php @@ -70,5 +70,11 @@ class AddExpenseCategories extends Listener } $this->setRowNamesAndValues($event, $rows); + + $event->class->row_tree_nodes = []; + + $nodes = $this->getCategoriesNodes($rows); + + $this->setTreeNodes($event, $nodes); } } diff --git a/app/Listeners/Report/AddIncomeCategories.php b/app/Listeners/Report/AddIncomeCategories.php index 123a17738..4a85f59d9 100644 --- a/app/Listeners/Report/AddIncomeCategories.php +++ b/app/Listeners/Report/AddIncomeCategories.php @@ -70,5 +70,11 @@ class AddIncomeCategories extends Listener } $this->setRowNamesAndValues($event, $rows); + + $event->class->row_tree_nodes = []; + + $nodes = $this->getCategoriesNodes($rows); + + $this->setTreeNodes($event, $nodes); } } diff --git a/app/Listeners/Report/AddIncomeExpenseCategories.php b/app/Listeners/Report/AddIncomeExpenseCategories.php index 36cf97347..83219c1c1 100644 --- a/app/Listeners/Report/AddIncomeExpenseCategories.php +++ b/app/Listeners/Report/AddIncomeExpenseCategories.php @@ -66,48 +66,46 @@ class AddIncomeExpenseCategories extends Listener return; } - switch (get_class($event->class)) { - case 'App\Reports\ProfitLoss': - $categories = Category::type(['income', 'expense'])->orderBy('name')->get(); - $rows = $categories->pluck('name', 'id')->toArray(); + $categories = Category::type(['income', 'expense'])->orderBy('name')->get(); + $rows = $categories->pluck('name', 'id')->toArray(); - $this->setRowNamesAndValuesForProfitLoss($event, $rows, $categories); + $this->setRowNamesAndValuesForCategories($event, $rows, $categories); - break; - case 'App\Reports\IncomeExpenseSummary': - $all_categories = $this->getIncomeExpenseCategories(); + $nodes = $this->getCategoriesNodes($rows); - if ($category_ids = $this->getSearchStringValue('category_id')) { - $categories = explode(',', $category_ids); - - $rows = collect($all_categories)->filter(function ($value, $key) use ($categories) { - return in_array($key, $categories); - }); - } else { - $rows = $all_categories; - } - - $this->setRowNamesAndValues($event, $rows); - - break; - } + $this->setTreeNodesForCategories($event, $nodes, $categories); } - public function setRowNamesAndValuesForProfitLoss($event, $rows, $categories) + public function setRowNamesAndValuesForCategories($event, $rows, $categories) { foreach ($event->class->dates as $date) { - foreach ($event->class->tables as $type_id => $type_name) { + foreach ($event->class->tables as $table_key => $table_name) { foreach ($rows as $id => $name) { $category = $categories->where('id', $id)->first(); - if ($category->type != $type_id) { + if ($category->type != $table_key) { continue; } - $event->class->row_names[$type_name][$id] = $name; - $event->class->row_values[$type_name][$id][$date] = 0; + $event->class->row_names[$table_key][$id] = $name; + $event->class->row_values[$table_key][$id][$date] = 0; } } } } + + public function setTreeNodesForCategories($event, $nodes, $categories) + { + foreach ($event->class->tables as $table_key => $table_name) { + foreach ($nodes as $id => $node) { + $category = $categories->where('id', $id)->first(); + + if ($category->type != $table_key) { + continue; + } + + $event->class->row_tree_nodes[$table_key][$id] = $node; + } + } + } } diff --git a/app/Listeners/Report/AddSearchString.php b/app/Listeners/Report/AddSearchString.php index bad9f0c85..cb17a1aab 100644 --- a/app/Listeners/Report/AddSearchString.php +++ b/app/Listeners/Report/AddSearchString.php @@ -42,7 +42,7 @@ class AddSearchString extends Listener foreach ($old as $key => $value) { $filter = $key . ':' . $value; - if (!in_array($filter, $filters)) { + if (! in_array($filter, $filters)) { $filters[] = $filter; } } diff --git a/app/Listeners/Report/AddVendors.php b/app/Listeners/Report/AddVendors.php index f69dda83f..afe506271 100644 --- a/app/Listeners/Report/AddVendors.php +++ b/app/Listeners/Report/AddVendors.php @@ -28,7 +28,7 @@ class AddVendors extends Listener } $event->class->filters['vendors'] = $this->getVendors(true); - $event->class->filters['routes']['vendors'] = 'vendors.index'; + $event->class->filters['routes']['vendors'] = ['vendors.index', 'search=enabled:1']; } /** diff --git a/app/Listeners/Update/V20/Version200.php b/app/Listeners/Update/V20/Version200.php deleted file mode 100644 index 3bed33012..000000000 --- a/app/Listeners/Update/V20/Version200.php +++ /dev/null @@ -1,1045 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $this->updateDatabase(); - - $this->updateCompanies(); - - $this->createDashboards(); - - $this->copyContacts(); - - $this->copyTransactions(); - - $this->updateInvoices(); - - $this->updateBills(); - - $this->updateModules(); - - $this->updatePermissions(); - - $this->deleteOldFiles(); - - $this->updateEnv(); - } - - public function updateDatabase() - { - DB::table('migrations')->insert([ - 'id' => DB::table('migrations')->max('id') + 1, - 'migration' => '2017_09_14_000000_core_v1', - 'batch' => DB::table('migrations')->max('batch') + 1, - ]); - - Artisan::call('migrate', ['--force' => true]); - } - - protected function updateCompanies() - { - $company_id = company_id(); - - $companies = Company::cursor(); - - foreach ($companies as $company) { - $company->makeCurrent(); - - $this->updateSettings(); - - $this->createEmailTemplates($company); - - $this->createReports($company); - } - - company($company_id)->makeCurrent(); - } - - public function updateSettings() - { - // Override settings - config(['app.url' => route('dashboard')]); - config(['app.timezone' => setting('general.timezone', 'UTC')]); - - date_default_timezone_set(config('app.timezone')); - - app()->setLocale(setting('general.default_locale')); - - $updated_settings = [ - 'company.name' => 'general.company_name', - 'company.email' => 'general.company_email', - 'company.address' => 'general.company_address', - 'company.logo' => 'general.company_logo', - 'company.phone' => 'general.company_phone', - 'company.tax_number' => 'general.company_tax_number', - 'localisation.financial_start' => 'general.financial_start', - 'localisation.timezone' => 'general.timezone', - 'localisation.date_format' => 'general.date_format', - 'localisation.date_separator' => 'general.date_separator', - 'localisation.percent_position' => 'general.percent_position', - 'invoice.number_prefix' => 'general.invoice_number_prefix', - 'invoice.number_digit' => 'general.invoice_number_digit', - 'invoice.number_next' => 'general.invoice_number_next', - 'invoice.item_name' => 'general.invoice_item', - 'invoice.item_input' => 'general.invoice_item_input', - 'invoice.price_name' => 'general.invoice_price', - 'invoice.price_input' => 'general.invoice_price_input', - 'invoice.quantity_name' => 'general.invoice_quantity', - 'invoice.quantity_input' => 'general.invoice_quantity_input', - 'invoice.title' => trans_choice('general.invoices', 1), - 'invoice.payment_terms' => '0', - 'invoice.template' => 'default', - 'invoice.color' => '#55588b', - 'default.account' => 'general.default_account', - 'default.currency' => 'general.default_currency', - 'default.tax' => 'general.default_tax', - 'default.locale' => 'general.default_locale', - 'default.list_limit' => 'general.list_limit', - 'default.payment_method' => 'general.default_payment_method', - 'default.use_gravatar' => 'general.use_gravatar', - 'email.protocol' => 'general.email_protocol', - 'email.sendmail_path' => 'general.email_sendmail_path', - 'email.smtp_host' => 'general.email_smtp_host', - 'email.smtp_port' => 'general.email_smtp_port', - 'email.smtp_username' => 'general.email_smtp_username', - 'email.smtp_password' => 'general.email_smtp_password', - 'email.smtp_encryption' => 'general.email_smtp_encryption', - 'schedule.send_invoice_reminder' => 'general.send_invoice_reminder', - 'schedule.invoice_days' => 'general.schedule_invoice_days', - 'schedule.send_bill_reminder' => 'general.send_bill_reminder', - 'schedule.bill_days' => 'general.schedule_bill_days', - 'schedule.time' => 'general.schedule_time', - 'apps.api_key' => 'general.api_token', - 'wizard.completed' => 'general.wizard', - 'contact.type.customer' => 'customer', - 'contact.type.vendor' => 'vendor', - 'offline-payments.methods' => 'offlinepayment.methods', - ]; - - foreach ($updated_settings as $new => $old) { - switch($new) { - case 'offline-payments.methods': - case 'default.payment_method': - $value = str_replace('offlinepayment.', 'offline-payments.', setting($old, 'missing_old_setting_value')); - - break; - case 'invoice.title': - case 'invoice.payment_terms': - case 'invoice.template': - case 'invoice.color': - case 'contact.type.customer': - case 'contact.type.vendor': - $value = $old; - - break; - default: - $value = setting($old, 'missing_old_setting_value'); - - break; - } - - if ($value == 'missing_old_setting_value') { - continue; - } - - setting()->set([$new => $value]); - setting()->forget($old); - } - - if ($invoice_logo = setting('general.invoice_logo')) { - setting()->set(['company.logo' => $invoice_logo]); - } - - $removed_settings = [ - 'general.admin_theme', - 'general.session_handler', - 'general.session_lifetime', - 'general.file_size', - 'general.file_types', - 'general.send_item_reminder', - 'general.schedule_item_stocks', - 'general.invoice_prefix', - 'general.invoice_digit', - 'general.invoice_start', - 'general.invoice_logo', - ]; - - foreach ($removed_settings as $removed_setting) { - setting()->forget($removed_setting); - } - - setting()->save(); - } - - public function createEmailTemplates($company) - { - Artisan::call('company:seed', [ - 'company' => $company->id, - '--class' => 'Database\Seeds\EmailTemplates', - ]); - } - - public function createReports($company) - { - Artisan::call('company:seed', [ - 'company' => $company->id, - '--class' => 'Database\Seeds\Reports', - ]); - } - - public function createDashboards() - { - $users = User::cursor(); - - foreach ($users as $user) { - $companies = $user->companies; - - foreach ($companies as $company) { - app()->setLocale($company->locale); - - Artisan::call('user:seed', [ - 'user' => $user->id, - 'company' => $company->id, - ]); - } - } - } - - public function copyContacts() - { - $this->copyCustomers(); - - $this->copyVendors(); - } - - public function copyCustomers() - { - $contacts = []; - - $customers = DB::table('customers')->cursor(); - - $has_estimates = Schema::hasTable('estimates'); - $has_crm_companies = Schema::hasTable('crm_companies'); - $has_crm_contacts = Schema::hasTable('crm_contacts'); - $has_idea_soft_histories = Schema::hasTable('idea_soft_histories'); - $has_custom_fields_field_values = Schema::hasTable('custom_fields_field_values'); - - foreach ($customers as $customer) { - $data = (array) $customer; - $data['type'] = 'customer'; - unset($data['id']); - - $contact_id = DB::table('contacts')->insertGetId($data); - - $contacts[$customer->id] = $contact_id; - } - - $contacts = array_reverse($contacts, true); - - foreach ($contacts as $customer_id => $contact_id) { - - DB::table('invoices') - ->where('contact_id', $customer_id) - ->update([ - 'contact_id' => $contact_id, - ]); - - DB::table('revenues') - ->where('customer_id', $customer_id) - ->update([ - 'customer_id' => $contact_id, - ]); - - if ($has_estimates) { - DB::table('estimates') - ->where('customer_id', $customer_id) - ->update([ - 'customer_id' => $contact_id, - ]); - } - - if ($has_crm_companies) { - DB::table('crm_companies') - ->where('core_customer_id', $customer_id) - ->update([ - 'core_customer_id' => $contact_id, - ]); - } - - if ($has_crm_contacts) { - DB::table('crm_contacts') - ->where('core_customer_id', $customer_id) - ->update([ - 'core_customer_id' => $contact_id, - ]); - } - - if ($has_idea_soft_histories) { - DB::table('idea_soft_histories') - ->where('model_id', $customer_id) - ->where('model_type', 'App\Models\Income\Customer') - ->update([ - 'model_id' => $contact_id, - 'model_type' => 'App\Models\Common\Contact', - ]); - } - - if ($has_custom_fields_field_values) { - DB::table('custom_fields_field_values') - ->where('model_id', $customer_id) - ->where('model_type', 'App\Models\Income\Customer') - ->update([ - 'model_id' => $contact_id, - 'model_type' => 'App\Models\Common\Contact', - ]); - } - } - - Schema::drop('customers'); - } - - public function copyVendors() - { - $contacts = []; - - $vendors = DB::table('vendors')->cursor(); - - $has_custom_fields_field_values = Schema::hasTable('custom_fields_field_values'); - - foreach ($vendors as $vendor) { - $data = (array) $vendor; - $data['type'] = 'vendor'; - unset($data['id']); - - $contact_id = DB::table('contacts')->insertGetId($data); - - $contacts[$vendor->id] = $contact_id; - } - - $contacts = array_reverse($contacts, true); - - foreach ($contacts as $vendor_id => $contact_id) { - DB::table('bills') - ->where('contact_id', $vendor_id) - ->update([ - 'contact_id' => $contact_id, - ]); - - DB::table('payments') - ->where('vendor_id', $vendor_id) - ->update([ - 'vendor_id' => $contact_id, - ]); - - DB::table('mediables') - ->where('mediable_id', $vendor_id) - ->where('mediable_type', 'App\Models\Expense\Vendor') - ->update([ - 'mediable_id' => $contact_id, - 'mediable_type' => 'App\Models\Common\Contact', - ]); - - if ($has_custom_fields_field_values) { - DB::table('custom_fields_field_values') - ->where('model_id', $vendor_id) - ->where('model_type', 'App\Models\Expense\Vendor') - ->update([ - 'model_id' => $contact_id, - 'model_type' => 'App\Models\Common\Contact', - ]); - } - } - - Schema::drop('vendors'); - } - - public function copyTransactions() - { - $this->copyInvoicePayments(); - - $this->copyRevenues(); - - $this->copyBillPayments(); - - $this->copyPayments(); - } - - public function copyInvoicePayments() - { - $invoice_payments = DB::table('invoice_payments')->cursor(); - - $has_double_entry_ledger = Schema::hasTable('double_entry_ledger'); - - foreach ($invoice_payments as $invoice_payment) { - $invoice = DB::table('invoices')->where('id', $invoice_payment->invoice_id)->first(); - - if (empty($invoice)) { - continue; - } - - $payment_method = str_replace('offlinepayment.', 'offline-payments.', $invoice_payment->payment_method); - - $transaction_id = DB::table('transactions')->insertGetId([ - 'company_id' => $invoice_payment->company_id, - 'type' => 'income', - 'account_id' => $invoice_payment->account_id, - 'paid_at' => $invoice_payment->paid_at, - 'amount' => $invoice_payment->amount, - 'currency_code' => $invoice_payment->currency_code, - 'currency_rate' => $invoice_payment->currency_rate, - 'document_id' => $invoice_payment->invoice_id, - 'contact_id' => $invoice->contact_id, - 'description' => $invoice_payment->description, - 'category_id' => $invoice->category_id, - 'payment_method' => $payment_method, - 'reference' => $invoice_payment->reference, - 'parent_id' => $invoice->parent_id, - 'reconciled' => $invoice_payment->reconciled, - 'created_at' => $invoice_payment->created_at, - 'updated_at' => $invoice_payment->updated_at, - 'deleted_at' => $invoice_payment->deleted_at, - ]); - - if ($has_double_entry_ledger) { - DB::table('double_entry_ledger') - ->where('ledgerable_id', $invoice_payment->id) - ->where('ledgerable_type', 'App\Models\Income\InvoicePayment') - ->update([ - 'ledgerable_id' => $transaction_id, - 'ledgerable_type' => 'App\Models\Banking\Transaction', - ]); - } - } - - Schema::drop('invoice_payments'); - } - - public function copyRevenues() - { - $revenues = DB::table('revenues')->cursor(); - - $has_double_entry_ledger = Schema::hasTable('double_entry_ledger'); - $has_project_revenues = Schema::hasTable('project_revenues'); - $has_custom_fields_field_values = Schema::hasTable('custom_fields_field_values'); - - foreach ($revenues as $revenue) { - $payment_method = str_replace('offlinepayment.', 'offline-payments.', $revenue->payment_method); - - $transaction_id = DB::table('transactions')->insertGetId([ - 'company_id' => $revenue->company_id, - 'type' => 'income', - 'account_id' => $revenue->account_id, - 'paid_at' => $revenue->paid_at, - 'amount' => $revenue->amount, - 'currency_code' => $revenue->currency_code, - 'currency_rate' => $revenue->currency_rate, - 'contact_id' => $revenue->customer_id, - 'description' => $revenue->description, - 'category_id' => $revenue->category_id, - 'payment_method' => $payment_method, - 'reference' => $revenue->reference, - 'parent_id' => $revenue->parent_id, - 'reconciled' => $revenue->reconciled, - 'created_at' => $revenue->created_at, - 'updated_at' => $revenue->updated_at, - 'deleted_at' => $revenue->deleted_at, - ]); - - DB::table('transfers') - ->where('income_transaction_id', $revenue->id) - ->update([ - 'income_transaction_id' => $transaction_id, - ]); - - DB::table('recurring') - ->where('recurable_id', $revenue->id) - ->where('recurable_type', 'App\Models\Income\Revenue') - ->update([ - 'recurable_id' => $transaction_id, - 'recurable_type' => 'App\Models\Banking\Transaction', - ]); - - DB::table('mediables') - ->where('mediable_id', $revenue->id) - ->where('mediable_type', 'App\Models\Income\Revenue') - ->update([ - 'mediable_id' => $transaction_id, - 'mediable_type' => 'App\Models\Banking\Transaction', - ]); - - if ($has_double_entry_ledger) { - DB::table('double_entry_ledger') - ->where('ledgerable_id', $revenue->id) - ->where('ledgerable_type', 'App\Models\Income\Revenue') - ->update([ - 'ledgerable_id' => $transaction_id, - 'ledgerable_type' => 'App\Models\Banking\Transaction', - ]); - } - - if ($has_project_revenues) { - DB::table('project_revenues') - ->where('revenue_id', $revenue->id) - ->update([ - 'revenue_id' => $transaction_id, - ]); - } - - if ($has_custom_fields_field_values) { - DB::table('custom_fields_field_values') - ->where('model_id', $revenue->id) - ->where('model_type', 'App\Models\Income\Revenue') - ->update([ - 'model_id' => $transaction_id, - 'model_type' => 'App\Models\Banking\Transaction', - ]); - } - } - - Schema::drop('revenues'); - } - - public function copyBillPayments() - { - $bill_payments = DB::table('bill_payments')->cursor(); - - $has_double_entry_ledger = Schema::hasTable('double_entry_ledger'); - - foreach ($bill_payments as $bill_payment) { - $bill = DB::table('bills')->where('id', $bill_payment->bill_id)->first(); - - if (empty($bill)) { - continue; - } - - $payment_method = str_replace('offlinepayment.', 'offline-payments.', $bill_payment->payment_method); - - $transaction_id = DB::table('transactions')->insertGetId([ - 'company_id' => $bill_payment->company_id, - 'type' => 'expense', - 'account_id' => $bill_payment->account_id, - 'paid_at' => $bill_payment->paid_at, - 'amount' => $bill_payment->amount, - 'currency_code' => $bill_payment->currency_code, - 'currency_rate' => $bill_payment->currency_rate, - 'document_id' => $bill_payment->bill_id, - 'contact_id' => $bill->contact_id, - 'description' => $bill_payment->description, - 'category_id' => $bill->category_id, - 'payment_method' => $payment_method, - 'reference' => $bill_payment->reference, - 'parent_id' => $bill->parent_id, - 'reconciled' => $bill_payment->reconciled, - 'created_at' => $bill_payment->created_at, - 'updated_at' => $bill_payment->updated_at, - 'deleted_at' => $bill_payment->deleted_at, - ]); - - if ($has_double_entry_ledger) { - DB::table('double_entry_ledger') - ->where('ledgerable_id', $bill_payment->id) - ->where('ledgerable_type', 'App\Models\Expense\BillPayment') - ->update([ - 'ledgerable_id' => $transaction_id, - 'ledgerable_type' => 'App\Models\Banking\Transaction', - ]); - } - } - - Schema::drop('bill_payments'); - } - - public function copyPayments() - { - $payments = DB::table('payments')->cursor(); - - $has_double_entry_ledger = Schema::hasTable('double_entry_ledger'); - $has_project_payments = Schema::hasTable('project_payments'); - $has_receipts = Schema::hasTable('receipts'); - $has_custom_fields_field_values = Schema::hasTable('custom_fields_field_values'); - - foreach ($payments as $payment) { - $payment_method = str_replace('offlinepayment.', 'offline-payments.', $payment->payment_method); - - $transaction_id = DB::table('transactions')->insertGetId([ - 'company_id' => $payment->company_id, - 'type' => 'expense', - 'account_id' => $payment->account_id, - 'paid_at' => $payment->paid_at, - 'amount' => $payment->amount, - 'currency_code' => $payment->currency_code, - 'currency_rate' => $payment->currency_rate, - 'contact_id' => $payment->vendor_id, - 'description' => $payment->description, - 'category_id' => $payment->category_id, - 'payment_method' => $payment_method, - 'reference' => $payment->reference, - 'parent_id' => $payment->parent_id, - 'reconciled' => $payment->reconciled, - 'created_at' => $payment->created_at, - 'updated_at' => $payment->updated_at, - 'deleted_at' => $payment->deleted_at, - ]); - - DB::table('transfers') - ->where('expense_transaction_id', $payment->id) - ->update([ - 'expense_transaction_id' => $transaction_id, - ]); - - DB::table('recurring') - ->where('recurable_id', $payment->id) - ->where('recurable_type', 'App\Models\Expense\Payment') - ->update([ - 'recurable_id' => $transaction_id, - 'recurable_type' => 'App\Models\Banking\Transaction', - ]); - - DB::table('mediables') - ->where('mediable_id', $payment->id) - ->where('mediable_type', 'App\Models\Expense\Payment') - ->update([ - 'mediable_id' => $transaction_id, - 'mediable_type' => 'App\Models\Banking\Transaction', - ]); - - if ($has_double_entry_ledger) { - DB::table('double_entry_ledger') - ->where('ledgerable_id', $payment->id) - ->where('ledgerable_type', 'App\Models\Expense\Payment') - ->update([ - 'ledgerable_id' => $transaction_id, - 'ledgerable_type' => 'App\Models\Banking\Transaction', - ]); - } - - if ($has_project_payments) { - DB::table('project_payments') - ->where('payment_id', $payment->id) - ->update([ - 'payment_id' => $transaction_id, - ]); - } - - if ($has_receipts) { - DB::table('receipts') - ->where('payment_id', $payment->id) - ->update([ - 'payment_id' => $transaction_id, - ]); - } - - if ($has_custom_fields_field_values) { - DB::table('custom_fields_field_values') - ->where('model_id', $payment->id) - ->where('model_type', 'App\Models\Expense\Payment') - ->update([ - 'model_id' => $transaction_id, - 'model_type' => 'App\Models\Banking\Transaction', - ]); - } - } - - Schema::drop('payments'); - } - - public function updateInvoices() - { - DB::table('recurring') - ->where('recurable_type', 'App\Models\Income\Invoice') - ->update([ - 'recurable_type' => 'App\Models\Sale\Invoice', - ]); - - DB::table('mediables') - ->where('mediable_type', 'App\Models\Income\Invoice') - ->update([ - 'mediable_type' => 'App\Models\Sale\Invoice', - ]); - } - - public function updateBills() - { - DB::table('recurring') - ->where('recurable_type', 'App\Models\Expense\Bill') - ->update([ - 'recurable_type' => 'App\Models\Purchase\Bill', - ]); - - DB::table('mediables') - ->where('mediable_type', 'App\Models\Expense\Bill') - ->update([ - 'mediable_type' => 'App\Models\Purchase\Bill', - ]); - } - - public function updateModules() - { - DB::table('modules') - ->where('alias', 'offlinepayment') - ->update([ - 'alias' => 'offline-payments', - ]); - - DB::table('modules') - ->where('alias', 'paypalstandard') - ->update([ - 'alias' => 'paypal-standard', - ]); - } - - public function updatePermissions() - { - $this->attachPermissionsByRoleNames([ - 'admin' => [ - 'common-dashboards' => 'c,r,u,d', - 'common-reports' => 'c,r,u,d', - 'common-search' => 'r', - 'common-widgets' => 'c,r,u,d', - 'modules-api-key' => 'c,u', - 'offline-payments-settings' => 'r,u,d', - 'paypal-standard-settings' => 'r,u', - 'settings-company' => 'r', - 'settings-defaults' => 'r', - 'settings-email' => 'r', - 'settings-invoice' => 'r', - 'settings-localisation' => 'r', - 'settings-modules' => 'r,u', - 'settings-schedule' => 'r', - 'widgets-account-balance' => 'r', - 'widgets-cash-flow' => 'r', - 'widgets-expenses-by-category' => 'r', - 'widgets-income-by-category' => 'r', - 'widgets-latest-expenses' => 'r', - 'widgets-latest-income' => 'r', - 'widgets-total-expenses' => 'r', - 'widgets-total-income' => 'r', - 'widgets-total-profit' => 'r', - ], - 'manager' => [ - 'common-dashboards' => 'c,r,u,d', - 'common-reports' => 'c,r,u,d', - 'common-search' => 'r', - 'common-widgets' => 'c,r,u,d', - 'offline-payments-settings' => 'r,u,d', - 'paypal-standard-settings' => 'r,u', - 'settings-company' => 'r', - 'settings-defaults' => 'r', - 'settings-email' => 'r', - 'settings-invoice' => 'r', - 'settings-localisation' => 'r', - 'settings-modules' => 'r,u', - 'settings-schedule' => 'r', - 'widgets-account-balance' => 'r', - 'widgets-cash-flow' => 'r', - 'widgets-expenses-by-category' => 'r', - 'widgets-income-by-category' => 'r', - 'widgets-latest-expenses' => 'r', - 'widgets-latest-income' => 'r', - 'widgets-total-expenses' => 'r', - 'widgets-total-income' => 'r', - 'widgets-total-profit' => 'r', - ], - 'customer' => [ - 'client-portal' => 'r', - 'portal-invoices' => 'r,u', - 'portal-payments' => 'r,u', - 'portal-profile' => 'r,u', - ], - ]); - - $this->detachPermissionsByRoleNames([ - 'admin' => [ - 'read-modules-token', - 'update-modules-token', - 'create-wizard-companies', - 'read-wizard-companies', - 'update-wizard-companies', - 'create-wizard-currencies', - 'read-wizard-currencies', - 'update-wizard-currencies', - 'delete-wizard-currencies', - 'create-wizard-taxes', - 'read-wizard-taxes', - 'update-wizard-taxes', - 'create-wizard-finish', - 'read-wizard-finish', - 'update-wizard-finish', - ], - 'manager' => [ - 'read-modules-token', - 'update-modules-token', - 'create-wizard-companies', - 'read-wizard-companies', - 'update-wizard-companies', - 'create-wizard-currencies', - 'read-wizard-currencies', - 'update-wizard-currencies', - 'delete-wizard-currencies', - 'create-wizard-taxes', - 'read-wizard-taxes', - 'update-wizard-taxes', - 'create-wizard-finish', - 'read-wizard-finish', - 'update-wizard-finish', - ], - 'customer' => [ - 'read-customer-panel', - 'read-customers-invoices', - 'update-customers-invoices', - 'read-customers-payments', - 'update-customers-payments', - 'read-customers-transactions', - 'read-customers-profile', - 'update-customers-profile', - ], - ]); - - $this->updatePermissionNames([ - 'expenses-bills' => 'purchases-bills', - 'expenses-payments' => 'purchases-payments', - 'expenses-vendors' => 'purchases-vendors', - 'incomes-customers' => 'sales-customers', - 'incomes-invoices' => 'sales-invoices', - 'incomes-revenues' => 'sales-revenues', - ]); - } - - public function deleteOldFiles() - { - $files = [ - 'app/Console/Commands/ModuleDelete.php', - 'app/Console/Commands/ModuleDisable.php', - 'app/Console/Commands/ModuleEnable.php', - 'app/Console/Commands/ModuleInstall.php', - 'app/Console/Stubs/modules/route-provider.stub', - 'app/Console/Stubs/modules/routes.stub', - 'app/Console/Stubs/modules/start.stub', - 'app/Console/Stubs/modules/views/master.stub', - 'app/Events/AdminMenuCreated.php', - 'app/Events/BillCreated.php', - 'app/Events/BillUpdated.php', - 'app/Events/CompanySwitched.php', - 'app/Events/CustomerMenuCreated.php', - 'app/Events/InvoiceCreated.php', - 'app/Events/InvoicePaid.php', - 'app/Events/InvoicePrinting.php', - 'app/Events/InvoiceUpdated.php', - 'app/Events/ModuleInstalled.php', - 'app/Events/PaymentGatewayListing.php', - 'app/Events/UpdateFinished.php', - 'app/Http/Controllers/Api/Expenses/Payments.php', - 'app/Http/Controllers/Api/Expenses/Vendors.php', - 'app/Http/Controllers/Api/Incomes/Customers.php', - 'app/Http/Controllers/Api/Incomes/InvoicePayments.php', - 'app/Http/Controllers/Api/Incomes/Revenues.php', - 'app/Http/Controllers/ApiController.php', - 'app/Http/Controllers/Controller.php', - 'app/Http/Controllers/Common/Dashboard.php', - 'app/Http/Controllers/Modals/BillPayments.php', - 'app/Http/Controllers/Modals/InvoicePayments.php', - 'app/Http/Controllers/modules/Token.php', - 'app/Http/Middleware/CustomerMenu.php', - 'app/Http/Middleware/RedirectIfWizardCompleted.php', - 'app/Http/Middleware/SignedUrlCompany.php', - 'app/Http/Requests/Expense/BillPayment.php', - 'app/Http/Requests/Expense/Payment.php', - 'app/Http/Requests/Expense/Vendor.php', - 'app/Http/Requests/Income/Customer.php', - 'app/Http/Requests/Income/InvoicePayment.php', - 'app/Http/Requests/Income/Revenue.php', - 'app/Http/Requests/Request.php', - 'app/Http/ViewComposers/All.php', - 'app/Jobs/Expense/CreateBillPayment.php', - 'app/Jobs/Income/CreateInvoicePayment.php', - 'app/Models/Company/Company.php', - 'app/Models/Expense/BillPayment.php', - 'app/Models/Expense/Payment.php', - 'app/Models/Expense/Vendor.php', - 'app/Models/Income/Customer.php', - 'app/Models/Income/InvoicePayment.php', - 'app/Models/Income/Revenue.php', - 'app/Models/Item/Item.php', - 'app/Models/Model.php', - 'app/Notifications/Common/Item.php', - 'app/Notifications/Common/ItemReminder.php', - 'app/Notifications/Customer/Invoice.php', - 'app/Providers/AppServiceProvider.php', - 'app/Providers/AuthServiceProvider.php', - 'app/Providers/BroadcastServiceProvider.php', - 'app/Providers/EventServiceProvider.php', - 'app/Providers/FormServiceProvider.php', - 'app/Providers/ObserverServiceProvider.php', - 'app/Providers/RouteServiceProvider.php', - 'app/Providers/ValidationServiceProvider.php', - 'app/Providers/ViewComposerServiceProvider.php', - 'app/Transformers/Company/Company.php', - 'app/Transformers/Expense/BillPayments.php', - 'app/Transformers/Expense/Payment.php', - 'app/Transformers/Expense/Vendor.php', - 'app/Transformers/Income/Customer.php', - 'app/Transformers/Income/InvoicePayments.php', - 'app/Transformers/Income/Revenue.php', - 'app/Transformers/Item/Item.php', - 'config/dotenv-editor.php', - 'config/eloquentfilter.php', - 'config/menus.php', - 'config/modules.php', - 'docker-compose.yml', - 'database/seeds/Roles.php', - 'database/seeds/CompanySeeder.php', - 'Dockerfile', - 'modules/PaypalStandard/Http/Controllers/PaypalStandard.php', - 'modules/PaypalStandard/Http/routes.php', - 'modules/PaypalStandard/Listeners/Gateway.php', - 'modules/PaypalStandard/Providers/PaypalStandardServiceProvider.php', - 'modules/PaypalStandard/start.php', - 'public/css/akaunting-green.css', - 'public/css/app.css', - 'public/css/bootstrap3-print-fix.css', - 'public/css/bootstrap-fancyfile.css', - 'public/css/countdown.css', - 'public/css/daterangepicker.css', - 'public/css/ekko-lightbox.css', - 'public/css/font-awesome.min.css', - 'public/css/install.css', - 'public/css/invoice.css', - 'public/css/ionicons.min.css', - 'public/css/jquery.countdown.css', - 'public/css/modules.css', - 'public/css/skin-black.css', - 'public/fonts/FontAwesome.otf', - 'public/fonts/fontawesome-webfont.eot', - 'public/fonts/fontawesome-webfont.svg', - 'public/fonts/fontawesome-webfont.ttf', - 'public/fonts/fontawesome-webfont.woff', - 'public/fonts/fontawesome-webfont.woff2', - 'public/img/install.jpg', - 'public/img/login.jpg', - 'public/img/maintanance.png', - 'public/js/bootstrap-fancyfile.js', - 'public/js/jquery/jquery.maskMoney.js', - 'resources/assets/js/app.js', - 'resources/assets/js/components/Example.vue', - 'resources/assets/sass/_variables.scss', - 'resources/assets/sass/app.scss', - 'resources/views/purchases/bills/bill.blade.php', - 'resources/views/sales/invoices/invoice.blade.php', - 'resources/views/layouts/bill.blade.php', - 'resources/views/layouts/customer.blade.php', - 'resources/views/layouts/invoice.blade.php', - 'resources/views/layouts/link.blade.php', - 'resources/views/modules/token/create.blade.php', - 'resources/views/partials/link/content.blade.php', - 'resources/views/partials/link/footer.blade.php', - 'resources/views/partials/link/head.blade.php', - 'resources/views/reports/profit_loss/body.blade.php', - 'resources/views/reports/profit_loss/index.blade.php', - 'resources/views/reports/profit_loss/print.blade.php', - 'resources/views/reports/tax_summary/body.blade.php', - 'resources/views/reports/tax_summary/index.blade.php', - 'resources/views/reports/tax_summary/print.blade.php', - 'resources/views/settings/settings/edit.blade.php', - 'resources/views/vendor/flash/message.blade.php', - 'resources/views/vendor/flash/modal.blade.php', - 'resources/views/wizard/currencies/create.blade.php', - 'resources/views/wizard/currencies/edit.blade.php', - 'resources/views/wizard/taxes/create.blade.php', - 'resources/views/wizard/taxes/edit.blade.php', - 'routes/web.php', - ]; - - $directories = [ - 'app/Filters', - 'app/Http/Controllers/Api/Expenses', - 'app/Http/Controllers/Api/Incomes', - 'app/Http/Controllers/Expenses', - 'app/Http/Controllers/Incomes', - 'app/Http/Controllers/Customers', - 'app/Http/Controllers/Reports', - 'app/Http/Requests/Customer', - 'app/Http/Requests/Expense', - 'app/Http/Requests/Income', - 'app/Jobs/Expense', - 'app/Jobs/Income', - 'app/Listeners/Incomes', - 'app/Listeners/Updates', - 'app/Models/Company', - 'app/Models/Expense', - 'app/Models/Income', - 'app/Models/Item', - 'app/Notifications/Expense', - 'app/Notifications/Income', - 'app/Overrides', - 'app/Transformers/Expense', - 'app/Transformers/Income', - 'modules/OfflinePayment', - 'public/js/chartjs', - 'public/js/daterangepicker', - 'public/js/highchart', - 'public/js/lightbox', - 'public/js/moment', - 'resources/views/common/dashboard', - 'resources/views/customers', - 'resources/views/expenses', - 'resources/views/incomes', - 'resources/views/partials/customer', - 'resources/views/reports/expense_summary', - 'resources/views/reports/income_expense_summary', - 'resources/views/reports/income_summary', - 'tests/Feature/Expenses', - 'tests/Feature/Incomes', - 'tests/Feature/Reports', - ]; - - foreach ($files as $file) { - File::delete(base_path($file)); - } - - foreach ($directories as $directory) { - File::deleteDirectory(base_path($directory)); - } - } - - public function updateEnv() - { - Installer::updateEnv([ - 'QUEUE_CONNECTION' => 'sync', - 'LOG_CHANNEL' => 'stack', - 'FIREWALL_ENABLED' => 'true', - 'MODEL_CACHE_ENABLED' => 'true', - ]); - } -} diff --git a/app/Listeners/Update/V20/Version2014.php b/app/Listeners/Update/V20/Version2014.php deleted file mode 100644 index 112a924cf..000000000 --- a/app/Listeners/Update/V20/Version2014.php +++ /dev/null @@ -1,29 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V20/Version2017.php b/app/Listeners/Update/V20/Version2017.php deleted file mode 100644 index b5b9dcf76..000000000 --- a/app/Listeners/Update/V20/Version2017.php +++ /dev/null @@ -1,29 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V20/Version2020.php b/app/Listeners/Update/V20/Version2020.php deleted file mode 100644 index 303627531..000000000 --- a/app/Listeners/Update/V20/Version2020.php +++ /dev/null @@ -1,29 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V20/Version2023.php b/app/Listeners/Update/V20/Version2023.php deleted file mode 100644 index 930272689..000000000 --- a/app/Listeners/Update/V20/Version2023.php +++ /dev/null @@ -1,29 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V20/Version2024.php b/app/Listeners/Update/V20/Version2024.php deleted file mode 100644 index 4d252a036..000000000 --- a/app/Listeners/Update/V20/Version2024.php +++ /dev/null @@ -1,54 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $this->updateDatabase(); - - $this->updatePermissions(); - } - - public function updateDatabase() - { - Artisan::call('migrate', ['--force' => true]); - } - - public function updatePermissions() - { - $this->attachPermissionsByRoleNames([ - 'admin' => [ - 'banking-transactions' => 'c,r,u,d', - 'common-notifications' => 'c,r,u,d', - 'common-uploads' => 'r,d', - ], - 'manager' => [ - 'banking-transactions' => 'c,r,u,d', - 'common-notifications' => 'c,r,u,d', - ], - ]); - } -} diff --git a/app/Listeners/Update/V20/Version203.php b/app/Listeners/Update/V20/Version203.php deleted file mode 100644 index aa4682279..000000000 --- a/app/Listeners/Update/V20/Version203.php +++ /dev/null @@ -1,52 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $this->updateCompanies(); - } - - protected function updateCompanies() - { - $company_id = company_id(); - - $companies = Company::cursor(); - - foreach ($companies as $company) { - $company->makeCurrent(); - - $this->updateSettings($company); - } - - company($company_id)->makeCurrent(); - } - - public function updateSettings($company) - { - setting()->set(['invoice.payment_terms' => setting('invoice.payment_terms', 0)]); - - setting()->save(); - } -} diff --git a/app/Listeners/Update/V20/Version205.php b/app/Listeners/Update/V20/Version205.php deleted file mode 100644 index ad6170507..000000000 --- a/app/Listeners/Update/V20/Version205.php +++ /dev/null @@ -1,100 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $this->items = []; - - $this->updateBillItems(); - - $this->updateInvoiceItems(); - } - - protected function updateBillItems() - { - $bill_items = DB::table('bill_items')->whereNull('deleted_at')->where('item_id', 0)->cursor(); - - foreach ($bill_items as $bill_item) { - $item_id = $this->getItemId($bill_item); - - DB::table('bill_items') - ->where('id', $bill_item->id) - ->update(['item_id' => $item_id]); - } - } - - protected function updateInvoiceItems() - { - $invoice_items = DB::table('invoice_items')->whereNull('deleted_at')->where('item_id', 0)->cursor(); - - foreach ($invoice_items as $invoice_item) { - $item_id = $this->getItemId($invoice_item); - - DB::table('invoice_items') - ->where('id', $invoice_item->id) - ->update(['item_id' => $item_id]); - - DB::table('items') - ->where('id', $item_id) - ->update(['sale_price' => $invoice_item->price]); - } - } - - protected function getItemId($item) - { - // Set category_id for company. - if (!isset($this->categories[$item->company_id])) { - $this->categories[$item->company_id] = DB::table('categories')->where('company_id', $item->company_id)->where('type', 'item')->first()->id; - } - - // Return set item_id for item name. - if (isset($this->items[$item->company_id]) && in_array($item->name, $this->items[$item->company_id])) { - return array_search($item->name, $this->items[$item->company_id]); - } - - // Insert new item. - $item_id = DB::table('items')->insertGetId([ - 'company_id' => $item->company_id, - 'name' => $item->name, - 'description' => null, - 'sale_price' => $item->price, - 'purchase_price' => $item->price, - 'category_id' => $this->categories[$item->company_id], - 'tax_id' => null, - 'enabled' => 1, - 'created_at' => $item->created_at, - 'updated_at' => $item->updated_at, - 'deleted_at' => null, - ]); - - // Set item_id for item name. - $this->items[$item->company_id][$item_id] = $item->name; - - return $item_id; - } -} diff --git a/app/Listeners/Update/V20/Version207.php b/app/Listeners/Update/V20/Version207.php deleted file mode 100644 index c783ac319..000000000 --- a/app/Listeners/Update/V20/Version207.php +++ /dev/null @@ -1,32 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - // Update .env file - Installer::updateEnv([ - 'MAIL_MAILER' => env('MAIL_DRIVER', config('mail.default')), - ]); - } -} diff --git a/app/Listeners/Update/V20/Version208.php b/app/Listeners/Update/V20/Version208.php deleted file mode 100644 index 988d1b08c..000000000 --- a/app/Listeners/Update/V20/Version208.php +++ /dev/null @@ -1,29 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V20/Version209.php b/app/Listeners/Update/V20/Version209.php deleted file mode 100644 index 1aae96c77..000000000 --- a/app/Listeners/Update/V20/Version209.php +++ /dev/null @@ -1,29 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('view:clear'); - } -} diff --git a/app/Listeners/Update/V21/Version210.php b/app/Listeners/Update/V21/Version210.php deleted file mode 100644 index 4008ac825..000000000 --- a/app/Listeners/Update/V21/Version210.php +++ /dev/null @@ -1,1219 +0,0 @@ - [ - 'estimate_invoice', - 'foriba_earchive_one_steps', - 'foriba_earchive_three_steps', - 'foriba_earchive_two_steps', - 'foriba_incoming_invoice_histories', - 'foriba_invoices', - 'inventory_invoice_items', - 'iyzico_invoice_refunds', - 'iyzico_invoices', - 'iyzico_order', - 'nesbilgi_bill_histories', - 'nesbilgi_earchive_one_steps', - 'nesbilgi_earchive_three_steps', - 'nesbilgi_earchive_two_steps', - 'nesbilgi_invoice_histories', - 'nesbilgi_invoices', - 'project_invoices', - ], - Document::BILL_TYPE => [ - 'foriba_incoming_invoice_histories', - 'inventory_bill_items', - 'nesbilgi_bill_histories', - 'project_bills', - ], - self::ESTIMATE_TYPE => [ - 'proposals', - 'estimate_invoice', - ], - self::CREDIT_NOTE_TYPE => [], - self::DEBIT_NOTE_TYPE => [] - ]; - - private const ESTIMATE_TYPE = 'estimate'; - private const CREDIT_NOTE_TYPE = 'credit-note'; - private const DEBIT_NOTE_TYPE = 'debit-note'; - - /** - * @var Collection - */ - private $totals; - - /** - * Handle the event. - * - * @param $event - * @return void - */ - public function handle(Event $event) - { - if ($this->skipThisUpdate($event)) { - return; - } - - $this->updateCompanies(); - - Artisan::call('migrate', ['--force' => true]); - - $this->migrateDocuments(); - - #todo remove tax_id column - $this->copyItemTax(); - - $this->deleteOldFiles(); - } - - private function migrateDocuments() - { - try { - $this->removeAutoIncrements(); - $this->addForeignKeys(); - - DB::transaction(function () { - $this->totals = $this->getTotals(['invoice', 'bill', 'estimate', 'credit_note', 'debit_note']); - - // Sort table's count by ascending to improve performance. - foreach ($this->totals->sortBy('count') as $total) { - $method = 'copy' . Str::plural(Str::studly($total->type)); - $this->$method(); - } - - $this->updateDocumentIds(); - }); - - $this->renameTables(); - } catch (\Exception $e) { - $this->revertTableRenaming(); - - Log::error($e); - } finally { - $this->addAutoIncrements(); - $this->removeForeignKeys(); - foreach (['estimate', 'bill', 'invoice'] as $item) { - $this->removeDocumentIdForeignKeys($item); - } - } - } - - private function updateInvoiceIds(): void - { - // Invoice ids did not changed - if ('invoice' === $this->totals->sortByDesc('count')->pluck('type')->first()) { - return; - } - - $incrementAmount = $this->getIncrementAmount('invoice', 's'); - - if (0 === $incrementAmount) { - return; - } - - DB::table('documents') - ->where('type', 'invoice') - ->whereNotNull('parent_id') - ->where('parent_id', '<>', 0) - ->increment('parent_id', $incrementAmount); - - DB::table('transactions') - ->where('type', 'income') - ->whereNotNull('document_id') - ->where('document_id', '<>', 0) - ->increment('document_id', $incrementAmount); - } - - private function updateBillIds(): void - { - // Bill ids did not changed - if ('bill' === $this->totals->sortByDesc('count')->pluck('type')->first()) { - return; - } - - $incrementAmount = $this->getIncrementAmount('bill', 's'); - - if (0 === $incrementAmount) { - return; - } - - DB::table('documents') - ->where('type', 'bill') - ->whereNotNull('parent_id') - ->where('parent_id', '<>', 0) - ->increment('parent_id', $incrementAmount); - - DB::table('transactions') - ->where('type', 'expense') - ->whereNotNull('document_id') - ->where('document_id', '<>', 0) - ->increment('document_id', $incrementAmount); - } - - private function updateDocumentIds() - { - $this->totals = $this->getTotals(); - $this->updateInvoiceIds(); - $this->updateBillIds(); - $this->updateCreditNoteTransactionsTable(); - - $tables = [ - 'recurring' => 'recurable', - 'mediables' => 'mediable', - 'project_activities' => 'activity', - 'custom_fields_field_values' => 'model', - 'double_entry_ledger' => 'ledgerable', - 'inventory_histories' => 'type', - 'magento_integrations' => 'item', - 'opencart_integrations' => 'item', - 'prestashop_integrations' => 'item', - 'woocommerce_integrations' => 'item', - ]; - - foreach ($tables as $table => $column) { - if (Schema::hasTable($table) === false || DB::table($table)->count() === 0) { - continue; - } - - $classes = [ - 'invoices' => [ - 'sort_key' => 'invoice', - 'table_suffix' => 's', - 'search' => [ - 'App\Models\Sale\Invoice', - 'App\Models\Income\Invoice', - ], - 'replacement' => 'App\Models\Document\Document', - ], - 'invoice_items' => [ - 'sort_key' => 'invoice', - 'table_suffix' => '_items', - 'search' => [ - 'App\Models\Sale\InvoiceItem', - 'App\Models\Income\InvoiceItem', - ], - 'replacement' => 'App\Models\Document\DocumentItem', - ], - 'invoice_item_taxes' => [ - 'sort_key' => 'invoice', - 'table_suffix' => '_item_taxes', - 'search' => [ - 'App\Models\Sale\InvoiceItemTax', - 'App\Models\Income\InvoiceItemTax', - ], - 'replacement' => 'App\Models\Document\DocumentItemTax', - ], - 'invoice_totals' => [ - 'sort_key' => 'invoice', - 'table_suffix' => '_totals', - 'search' => [ - 'App\Models\Sale\InvoiceTotal', - 'App\Models\Income\InvoiceTotal', - ], - 'replacement' => 'App\Models\Document\DocumentTotal', - ], - 'invoice_histories' => [ - 'sort_key' => 'invoice', - 'table_suffix' => '_histories', - 'search' => [ - 'App\Models\Sale\InvoiceHistory', - 'App\Models\Income\InvoiceHistory', - ], - 'replacement' => 'App\Models\Document\DocumentHistory', - ], - 'bills' => [ - 'sort_key' => 'bill', - 'table_suffix' => 's', - 'search' => [ - 'App\Models\Purchase\Bill', - 'App\Models\Expense\Bill', - ], - 'replacement' => 'App\Models\Document\Document', - ], - 'bill_items' => [ - 'sort_key' => 'bill', - 'table_suffix' => '_items', - 'search' => [ - 'App\Models\Purchase\BillItem', - 'App\Models\Expense\BillItem', - ], - 'replacement' => 'App\Models\Document\DocumentItem', - ], - 'bill_item_taxes' => [ - 'sort_key' => 'bill', - 'table_suffix' => '_item_taxes', - 'search' => [ - 'App\Models\Purchase\BillItemTax', - 'App\Models\Expense\BillItemTax', - ], - 'replacement' => 'App\Models\Document\DocumentItemTax', - ], - 'bill_totals' => [ - 'sort_key' => 'bill', - 'table_suffix' => '_totals', - 'search' => [ - 'App\Models\Purchase\BillTotal', - 'App\Models\Expense\BillTotal', - ], - 'replacement' => 'App\Models\Document\DocumentTotal', - ], - 'bill_histories' => [ - 'sort_key' => 'bill', - 'table_suffix' => '_histories', - 'search' => [ - 'App\Models\Purchase\BillHistory', - 'App\Models\Expense\BillHistory', - ], - 'replacement' => 'App\Models\Document\DocumentHistory', - ], - 'estimates' => [ - 'sort_key' => 'estimate', - 'table_suffix' => 's', - 'search' => [ - 'Modules\Estimates\Models\Estimate', - ], - ], - 'estimate_items' => [ - 'sort_key' => 'estimate', - 'table_suffix' => '_items', - 'search' => [ - 'Modules\Estimates\Models\EstimateItem', - ], - ], - 'estimate_item_taxes' => [ - 'sort_key' => 'estimate', - 'table_suffix' => '_item_taxes', - 'search' => [ - 'Modules\Estimates\Models\EstimateItemTax', - ], - ], - 'estimate_totals' => [ - 'sort_key' => 'estimate', - 'table_suffix' => '_totals', - 'search' => [ - 'Modules\Estimates\Models\EstimateTotal', - ], - ], - 'estimate_histories' => [ - 'sort_key' => 'estimate', - 'table_suffix' => '_histories', - 'search' => [ - 'Modules\Estimates\Models\EstimateHistory', - ], - ], - 'credit_notes' => [ - 'sort_key' => 'credit_note', - 'table_suffix' => 's', - 'search' => [ - 'Modules\CreditDebitNotes\Models\CreditNote', - ], - ], - 'credit_note_items' => [ - 'sort_key' => 'credit_note', - 'table_suffix' => '_items', - 'search' => [ - 'Modules\CreditDebitNotes\Models\CreditNoteItem', - ], - ], - 'credit_note_item_taxes' => [ - 'sort_key' => 'credit_note', - 'table_suffix' => '_item_taxes', - 'search' => [ - 'Modules\CreditDebitNotes\Models\CreditNoteItemTax', - ], - ], - 'credit_note_totals' => [ - 'sort_key' => 'credit_note', - 'table_suffix' => '_totals', - 'search' => [ - 'Modules\CreditDebitNotes\Models\CreditNoteTotal', - ], - ], - 'credit_note_histories' => [ - 'sort_key' => 'credit_note', - 'table_suffix' => '_histories', - 'search' => [ - 'Modules\CreditDebitNotes\Models\CreditNoteHistory', - ], - ], - 'debit_notes' => [ - 'sort_key' => 'debit_note', - 'table_suffix' => 's', - 'search' => [ - 'Modules\CreditDebitNotes\Models\DebitNote', - ], - ], - 'debit_note_items' => [ - 'sort_key' => 'debit_note', - 'table_suffix' => '_items', - 'search' => [ - 'Modules\CreditDebitNotes\Models\DebitNoteItem', - ], - ], - 'debit_note_item_taxes' => [ - 'sort_key' => 'debit_note', - 'table_suffix' => '_item_taxes', - 'search' => [ - 'Modules\CreditDebitNotes\Models\DebitNoteItemTax', - ], - ], - 'debit_note_totals' => [ - 'sort_key' => 'debit_note', - 'table_suffix' => '_totals', - 'search' => [ - 'Modules\CreditDebitNotes\Models\DebitNoteTotal', - ], - ], - 'debit_note_histories' => [ - 'sort_key' => 'debit_note', - 'table_suffix' => '_histories', - 'search' => [ - 'Modules\CreditDebitNotes\Models\DebitNoteHistory', - ], - ], - ]; - - foreach ($classes as $class) { - $incrementAmount = $this->getIncrementAmount($class['sort_key'], $class['table_suffix']); - - $builder = DB::table($table)->where("{$column}_type", $class['search'][0]); - - if (isset($class['search'][1])) { - $builder->orWhere("{$column}_type", $class['search'][1]); - } - - if ($incrementAmount !== 0) { - $builder->increment("{$column}_id", $incrementAmount); - } - - if (isset($class['replacement'])) { - $builder->update(["{$column}_type" => $class['replacement']]); - } - } - } - } - - private function getIncrementAmount(string $type, string $suffix): int - { - $incrementAmount = 0; - - foreach ($this->totals->sortByDesc('count')->pluck('type')->takeUntil($type) as $table) { - $incrementAmount += optional( - DB::table($table . $suffix)->orderByDesc('id')->first('id'), - function ($document) { - return $document->id; - } - ); - } - return $incrementAmount; - } - - private function updateCreditNoteTransactionsTable(): void - { - if (!Schema::hasTable('credits_transactions')) { - return; - } - - // Invoice ids did not changed - if ('invoice' !== $this->totals->sortByDesc('count')->pluck('type')->first()) { - $incrementAmount = $this->getIncrementAmount('invoice', 's'); - - if ($incrementAmount > 0) { - DB::table('credits_transactions') - ->where('type', 'expense') - ->whereNotNull('document_id') - ->where('document_id', '<>', 0) - ->increment('document_id', $incrementAmount); - } - } - - // Credit Note ids did not changed - if ('credit_note' !== $this->totals->sortByDesc('count')->pluck('type')->first()) { - $incrementAmount = $this->getIncrementAmount('credit_note', 's'); - - if ($incrementAmount > 0) { - DB::table('credits_transactions') - ->where('type', 'income') - ->whereNotNull('document_id') - ->where('document_id', '<>', 0) - ->increment('document_id', $incrementAmount); - } - - } - } - - private function renameTables(): void - { - $tables = [ - 'bill_histories', - 'bill_item_taxes', - 'bill_items', - 'bill_totals', - 'bills', - 'credit_note_histories', - 'credit_note_item_taxes', - 'credit_note_items', - 'credit_note_totals', - 'credit_notes', - 'debit_note_histories', - 'debit_note_item_taxes', - 'debit_note_items', - 'debit_note_totals', - 'debit_notes', - 'estimate_histories', - 'estimate_item_taxes', - 'estimate_items', - 'estimate_totals', - 'estimates', - 'invoice_histories', - 'invoice_item_taxes', - 'invoice_items', - 'invoice_totals', - 'invoices', - ]; - - foreach ($tables as $table) { - if (Schema::hasTable($table)) { - Schema::rename($table, "{$table}_v20"); - } - } - } - - private function revertTableRenaming(): void - { - $tables = [ - 'bill_histories', - 'bill_item_taxes', - 'bill_items', - 'bill_totals', - 'bills', - 'credit_note_histories', - 'credit_note_item_taxes', - 'credit_note_items', - 'credit_note_totals', - 'credit_notes', - 'debit_note_histories', - 'debit_note_item_taxes', - 'debit_note_items', - 'debit_note_totals', - 'debit_notes', - 'estimate_histories', - 'estimate_item_taxes', - 'estimate_items', - 'estimate_totals', - 'estimates', - 'invoice_histories', - 'invoice_item_taxes', - 'invoice_items', - 'invoice_totals', - 'invoices', - ]; - - foreach ($tables as $table) { - if (Schema::hasTable("{$table}_v20")) { - Schema::rename("{$table}_v20", $table); - } - } - } - - private function getTotals(array $types = []): Collection - { - if (DB::table('documents')->count() > 0) { - $counts = DB::table('documents') - ->select('type', DB::raw('COUNT(id) count')) - ->groupBy('type') - ->orderBy('id') - ->get() - ->transform( - function ($item, $key) { - $item->type = Str::replaceFirst('-', '_', $item->type); - return $item; - } - ); - - return $counts; - } - - $counts = []; - foreach ($types as $type) { - if (!Schema::hasTable(Str::plural($type))) { - continue; - } - - $count = DB::table(Str::plural($type))->count(); - - if ($count === 0) { - continue; - } - - $values = new \stdClass(); - $values->type = $type; - $values->count = $count; - $counts[] = $values; - } - - return collect($counts); - } - - private function batchCopyRelations(string $table, string $type): void - { - $offset = 0; - $limit = 500000; - $new_table = Str::replaceFirst(Str::replaceFirst('-', '_', $type), 'document', $table); - - // To be able to update relation ids - if (DB::table($new_table)->count() > 0) { - // Delete document's items which are not found in documents table by document_id - $this->deleteOrphanedRecords(); - - $document = DB::table($new_table)->orderBy('id')->first('type'); - if ($document) { - $this->addForeignKeysToRelationTables($document->type); - } - - // Update relation ids - $document = DB::table($table)->orderByDesc('id')->first('id'); - if ($document) { - DB::table($new_table)->orderByDesc('id')->increment('id', $document->id); - } - } - - $insertColumns = collect(Schema::getColumnListing($new_table)); - - $insertColumns = $insertColumns->reject(function ($value) use ($new_table, $table) { - if ($value === 'description' && $new_table === 'document_items') { - return true; - } - - if ($value === 'footer' && in_array($table, ['bills', 'debit_notes'])) { - return true; - } - - if ($value === 'order_number' && in_array($table, ['estimates', 'credit_notes', 'debit_notes'])) { - return true; - } - - if ($value === 'parent_id' && in_array($table, ['estimates', 'credit_notes', 'debit_notes'])) { - return true; - } - - if ($table === 'estimate_items' && in_array($value, ['discount_type', 'discount_rate'])) { - return true; - } - - return false; - }); - - $selectColumns = $insertColumns->map(function ($column) use($type) { - if ($column === 'type') { - return "'$type'"; - } - - if (Str::contains($column, 'document')) { - return Str::replaceFirst('document', Str::replaceFirst('-', '_', $type), $column) . ' as ' . $column; - } - - if ($column === 'issued_at') { - switch ($type) { - case Document::INVOICE_TYPE: - return "invoiced_at as $column"; - case Document::BILL_TYPE: - return "billed_at as $column"; - case self::ESTIMATE_TYPE: - return "estimated_at as $column"; - case self::DEBIT_NOTE_TYPE: - case self::CREDIT_NOTE_TYPE: - return "issued_at as $column"; - default: - return $column; - } - } - - // due_at column should not be null so we need fill it for the modules that don't have due_at column. - if ($column === 'due_at') { - switch ($type) { - case self::ESTIMATE_TYPE: - return 'estimated_at'; - case self::DEBIT_NOTE_TYPE: - case self::CREDIT_NOTE_TYPE: - return 'issued_at'; - default: - return $column; - } - } - - return $column; - }); - - $builder = DB::table($table)->selectRaw($selectColumns->implode(','))->limit($limit)->offset($offset); - - while ($builder->cursor()->count()) { - Schema::disableForeignKeyConstraints(); - DB::table($new_table)->insertUsing($insertColumns->toArray(), $builder); - Schema::enableForeignKeyConstraints(); - - $offset += $limit; - $builder->limit($limit)->offset($offset); - } - } - - private function deleteOrphanedRecords(): void - { - $builder = DB::table('document_items') - ->leftJoin( - 'documents', - function ($join) { - $join->on('documents.id', '=', 'document_items.document_id') - ->on('documents.type', '=', 'document_items.type'); - } - ) - ->whereNull('documents.id'); - - if ($builder->count()) { - $builder->delete(); - } - - $builder = DB::table('document_item_taxes') - ->leftJoin( - 'document_items', - function ($join) { - $join->on('document_items.id', '=', 'document_item_taxes.document_item_id') - ->on('document_items.type', '=', 'document_item_taxes.type'); - } - ) - ->whereNull('document_items.id'); - - if ($builder->count()) { - $builder->delete(); - } - } - - private function copyInvoices(): void - { - $this->batchCopyRelations('invoices', Document::INVOICE_TYPE); - $this->batchCopyRelations('invoice_items', Document::INVOICE_TYPE); - $this->batchCopyRelations('invoice_item_taxes', Document::INVOICE_TYPE); - $this->batchCopyRelations('invoice_histories', Document::INVOICE_TYPE); - $this->batchCopyRelations('invoice_totals', Document::INVOICE_TYPE); - } - - private function copyBills(): void - { - $this->batchCopyRelations('bills', Document::BILL_TYPE); - $this->batchCopyRelations('bill_items', Document::BILL_TYPE); - $this->batchCopyRelations('bill_item_taxes', Document::BILL_TYPE); - $this->batchCopyRelations('bill_histories', Document::BILL_TYPE); - $this->batchCopyRelations('bill_totals', Document::BILL_TYPE); - } - - private function copyEstimates(): void - { - $has_estimates = Schema::hasTable('estimates'); - - if ($has_estimates === false) { - return; - } - - $this->batchCopyRelations('estimates', self::ESTIMATE_TYPE); - $this->batchCopyRelations('estimate_items', self::ESTIMATE_TYPE); - $this->batchCopyRelations('estimate_item_taxes', self::ESTIMATE_TYPE); - $this->batchCopyRelations('estimate_histories', self::ESTIMATE_TYPE); - $this->batchCopyRelations('estimate_totals', self::ESTIMATE_TYPE); - } - - private function copyCreditNotes(): void - { - $has_credit_notes = Schema::hasTable('credit_notes'); - - if ($has_credit_notes === false) { - return; - } - - $this->batchCopyRelations('credit_notes', self::CREDIT_NOTE_TYPE); - $this->batchCopyRelations('credit_note_items', self::CREDIT_NOTE_TYPE); - $this->batchCopyRelations('credit_note_item_taxes', self::CREDIT_NOTE_TYPE); - $this->batchCopyRelations('credit_note_histories', self::CREDIT_NOTE_TYPE); - $this->batchCopyRelations('credit_note_totals', self::CREDIT_NOTE_TYPE); - } - - private function copyDebitNotes(): void - { - $has_debit_notes = Schema::hasTable('debit_notes'); - - if ($has_debit_notes === false) { - return; - } - - $this->batchCopyRelations('debit_notes', self::DEBIT_NOTE_TYPE); - $this->batchCopyRelations('debit_note_items', self::DEBIT_NOTE_TYPE); - $this->batchCopyRelations('debit_note_item_taxes', self::DEBIT_NOTE_TYPE); - $this->batchCopyRelations('debit_note_histories', self::DEBIT_NOTE_TYPE); - $this->batchCopyRelations('debit_note_totals', self::DEBIT_NOTE_TYPE); - } - - // To keep original ids - private function removeAutoIncrements() - { - Schema::disableForeignKeyConstraints(); - - Schema::table( - 'document_histories', - function (Blueprint $table) { - $table->unsignedInteger('id')->change(); - } - ); - Schema::table( - 'document_totals', - function (Blueprint $table) { - $table->unsignedInteger('id')->change(); - } - ); - - Schema::table( - 'document_item_taxes', - function (Blueprint $table) { - $table->unsignedInteger('id')->change(); - } - ); - - Schema::table( - 'document_items', - function (Blueprint $table) { - $table->unsignedInteger('id')->change(); - } - ); - - Schema::table( - 'documents', - function (Blueprint $table) { - $table->unsignedInteger('id')->change(); - } - ); - - Schema::enableForeignKeyConstraints(); - } - - private function addForeignKeys(): void - { - Schema::disableForeignKeyConstraints(); - - Schema::table( - 'document_histories', - function (Blueprint $table) { - $table->foreign('document_id') - ->references('id') - ->on('documents') - ->cascadeOnUpdate(); - } - ); - - Schema::table( - 'document_items', - function (Blueprint $table) { - $table->foreign('document_id') - ->references('id') - ->on('documents') - ->cascadeOnUpdate(); - } - ); - - Schema::table( - 'document_item_taxes', - function (Blueprint $table) { - $table->foreign('document_id') - ->references('id') - ->on('documents') - ->cascadeOnUpdate(); - - $table->foreign('document_item_id') - ->references('id') - ->on('document_items') - ->cascadeOnUpdate() - ->cascadeOnDelete(); - } - ); - - Schema::table( - 'document_totals', - function (Blueprint $table) { - $table->foreign('document_id') - ->references('id') - ->on('documents') - ->cascadeOnUpdate(); - } - ); - - Schema::enableForeignKeyConstraints(); - } - - private function addAutoIncrements() - { - Schema::disableForeignKeyConstraints(); - - Schema::table( - 'documents', - function (Blueprint $table) { - $table->increments('id')->change(); - } - ); - - Schema::table( - 'document_items', - function (Blueprint $table) { - $table->increments('id')->change(); - } - ); - - Schema::table( - 'document_item_taxes', - function (Blueprint $table) { - $table->increments('id')->change(); - } - ); - - Schema::table( - 'document_totals', - function (Blueprint $table) { - $table->increments('id')->change(); - } - ); - - Schema::table( - 'document_histories', - function (Blueprint $table) { - $table->increments('id')->change(); - } - ); - - Schema::enableForeignKeyConstraints(); - } - - private function removeForeignKeys(): void - { - Schema::disableForeignKeyConstraints(); - - Schema::table( - 'document_histories', - function (Blueprint $table) { - $table->dropForeign(['document_id']); - } - ); - - Schema::table( - 'document_items', - function (Blueprint $table) { - $table->dropForeign(['document_id']); - } - ); - - Schema::table( - 'document_item_taxes', - function (Blueprint $table) { - $table->dropForeign(['document_id']); - $table->dropForeign(['document_item_id']); - } - ); - - Schema::table( - 'document_totals', - function (Blueprint $table) { - $table->dropForeign(['document_id']); - } - ); - - Schema::enableForeignKeyConstraints(); - } - - private function addForeignKeysToRelationTables(string $type): void - { - Schema::disableForeignKeyConstraints(); - - foreach ($this->tableRelations[$type] as $table) { - if (!Schema::hasTable($table)) { - continue; - } - - $column = "{$type}_id"; - if ($table === 'proposals') { - $column = 'estimates_id'; - } - - Schema::table( - $table, - function (Blueprint $table) use ($column) { - $table->unsignedInteger($column)->change(); - } - ); - - Schema::table( - $table, - function (Blueprint $table) use ($column) { - $connection = Schema::getConnection(); - $d_table = $connection->getDoctrineSchemaManager()->listTableDetails( - $connection->getTablePrefix() . $table->getTable() - ); - - if (!$d_table->hasForeignKey("{$connection->getTablePrefix()}{$table->getTable()}_{$column}_foreign")) { - $table->foreign($column) - ->references('id') - ->on('documents') - ->cascadeOnUpdate(); - } - } - ); - } - - Schema::enableForeignKeyConstraints(); - } - - private function removeDocumentIdForeignKeys(string $type): void - { - Schema::disableForeignKeyConstraints(); - - foreach ($this->tableRelations[$type] as $table) { - if (!Schema::hasTable($table)) { - continue; - } - - $column = "{$type}_id"; - if ($table === 'proposals') { - $column = 'estimates_id'; - } - - Schema::table( - $table, - function (Blueprint $table) use ($column) { - $connection = Schema::getConnection(); - $d_table = $connection->getDoctrineSchemaManager()->listTableDetails( - $connection->getTablePrefix() . $table->getTable() - ); - - if ($d_table->hasForeignKey("{$connection->getTablePrefix()}{$table->getTable()}_{$column}_foreign")) { - $table->dropForeign([$column]); - } - } - ); - - Schema::table( - $table, - function (Blueprint $table) use ($column) { - $table->integer($column)->change(); - } - ); - } - - Schema::enableForeignKeyConstraints(); - } - - protected function updateCompanies() - { - $company_id = company_id(); - - $companies = Company::cursor(); - - foreach ($companies as $company) { - $company->makeCurrent(); - - $this->updateSettings(); - } - - company($company_id)->makeCurrent(); - } - - public function updateSettings() - { - $income_category = Category::income()->enabled()->first(); - $expense_category = Category::expense()->enabled()->first(); - - if (empty($income_category) || empty($expense_category)) { - return; - } - - setting()->set(['default.income_category' => setting('default.income_category', $income_category->id)]); - setting()->set(['default.expense_category' => setting('default.expense_category', $expense_category->id)]); - - setting()->save(); - } - - public function copyItemTax() - { - $items = DB::table('items')->cursor(); - - DB::transaction(function () use ($items) { - foreach ($items as $item) { - DB::table('item_taxes')->insert( - [ - 'company_id' => $item->company_id, - 'item_id' => $item->id, - 'tax_id' => $item->tax_id, - 'created_at' => $item->created_at, - 'updated_at' => $item->updated_at, - 'deleted_at' => $item->deleted_at, - ] - ); - } - }); - } - - public function deleteOldFiles() - { - $files = [ - 'app/Abstracts/DocumentModel.php', - 'app/Events/Purchase/BillCancelled.php', - 'app/Events/Purchase/BillCreated.php', - 'app/Events/Purchase/BillCreating.php', - 'app/Events/Purchase/BillReceived.php', - 'app/Events/Purchase/BillRecurring.php', - 'app/Events/Purchase/BillReminded.php', - 'app/Events/Purchase/BillUpdated.php', - 'app/Events/Purchase/BillUpdating.php', - 'app/Events/Sale/InvoiceCancelled.php', - 'app/Events/Sale/InvoiceCreated.php', - 'app/Events/Sale/InvoiceCreating.php', - 'app/Events/Sale/InvoicePrinting.php', - 'app/Events/Sale/InvoiceRecurring.php', - 'app/Events/Sale/InvoiceReminded.php', - 'app/Events/Sale/InvoiceSent.php', - 'app/Events/Sale/InvoiceUpdated.php', - 'app/Events/Sale/InvoiceUpdating.php', - 'app/Events/Sale/InvoiceViewed.php', - 'app/Events/Sale/PaymentReceived.php', - 'app/Http/Controllers/Api/Purchases/Bills.php', - 'app/Http/Controllers/Api/Sales/InvoiceTransactions.php', - 'app/Http/Controllers/Api/Sales/Invoices.php', - 'app/Http/Controllers/Modals/BillTransactions.php', - 'app/Http/Controllers/Modals/InvoiceTransactions.php', - 'app/Http/Requests/Purchase/Bill.php', - 'app/Http/Requests/Purchase/BillAddItem.php', - 'app/Http/Requests/Purchase/BillHistory.php', - 'app/Http/Requests/Purchase/BillItem.php', - 'app/Http/Requests/Purchase/BillItemTax.php', - 'app/Http/Requests/Purchase/BillTotal.php', - 'app/Http/Requests/Sale/Invoice.php', - 'app/Http/Requests/Sale/InvoiceAddItem.php', - 'app/Http/Requests/Sale/InvoiceHistory.php', - 'app/Http/Requests/Sale/InvoiceItem.php', - 'app/Http/Requests/Sale/InvoiceItemTax.php', - 'app/Http/Requests/Sale/InvoiceTotal.php', - 'app/Jobs/Banking/CreateDocumentTransaction.php', - 'app/Jobs/Purchase/CancelBill.php', - 'app/Jobs/Purchase/CreateBill.php', - 'app/Jobs/Purchase/CreateBillHistory.php', - 'app/Jobs/Purchase/CreateBillItem.php', - 'app/Jobs/Purchase/CreateBillItemsAndTotals.php', - 'app/Jobs/Purchase/DeleteBill.php', - 'app/Jobs/Purchase/DuplicateBill.php', - 'app/Jobs/Purchase/UpdateBill.php', - 'app/Jobs/Sale/CancelInvoice.php', - 'app/Jobs/Sale/CreateInvoice.php', - 'app/Jobs/Sale/CreateInvoiceHistory.php', - 'app/Jobs/Sale/CreateInvoiceItem.php', - 'app/Jobs/Sale/CreateInvoiceItemsAndTotals.php', - 'app/Jobs/Sale/DeleteInvoice.php', - 'app/Jobs/Sale/DuplicateInvoice.php', - 'app/Jobs/Sale/UpdateInvoice.php', - 'app/Listeners/Purchase/CreateBillCreatedHistory.php', - 'app/Listeners/Purchase/IncreaseNextBillNumber.php', - 'app/Listeners/Purchase/MarkBillCancelled.php', - 'app/Listeners/Purchase/MarkBillReceived.php', - 'app/Listeners/Purchase/SendBillRecurringNotification.php', - 'app/Listeners/Purchase/SendBillReminderNotification.php', - 'app/Listeners/Sale/CreateInvoiceCreatedHistory.php', - 'app/Listeners/Sale/CreateInvoiceTransaction.php', - 'app/Listeners/Sale/IncreaseNextInvoiceNumber.php', - 'app/Listeners/Sale/MarkInvoiceCancelled.php', - 'app/Listeners/Sale/MarkInvoiceSent.php', - 'app/Listeners/Sale/MarkInvoiceViewed.php', - 'app/Listeners/Sale/SendInvoicePaymentNotification.php', - 'app/Listeners/Sale/SendInvoiceRecurringNotification.php', - 'app/Listeners/Sale/SendInvoiceReminderNotification.php', - 'app/Models/Purchase/Bill.php', - 'app/Models/Purchase/BillHistory.php', - 'app/Models/Purchase/BillItem.php', - 'app/Models/Purchase/BillItemTax.php', - 'app/Models/Purchase/BillTotal.php', - 'app/Models/Sale/Invoice.php', - 'app/Models/Sale/InvoiceHistory.php', - 'app/Models/Sale/InvoiceItem.php', - 'app/Models/Sale/InvoiceItemTax.php', - 'app/Models/Sale/InvoiceTotal.php', - 'app/Traits/Purchases.php', - 'app/Traits/Sales.php', - 'app/Transformers/Purchase/Bill.php', - 'app/Transformers/Purchase/BillHistories.php', - 'app/Transformers/Purchase/BillItems.php', - 'app/Transformers/Purchase/BillTotals.php', - 'app/Transformers/Sale/Invoice.php', - 'app/Transformers/Sale/InvoiceHistories.php', - 'app/Transformers/Sale/InvoiceItems.php', - 'app/Transformers/Sale/InvoiceTotals.php', - 'app/Utilities/Updater.php', - 'config/maintenancemode.php', - 'database/factories/Bill.php', - 'database/factories/Invoice.php', - 'public/0.js', - 'public/38.js', - 'public/js/purchases/bills.js', - 'public/js/sales/invoices.js', - 'resources/views/modals/bills/payment.blade.php', - 'resources/views/modals/invoices/payment.blade.php', - 'resources/views/partials/documents/item/print.blade.php', - 'resources/views/partials/documents/item/show.blade.php', - 'resources/views/purchases/bills/item.blade.php', - 'resources/views/sales/invoices/item.blade.php', - ]; - - $directories = [ - 'app/Events/Purchase', - 'app/Events/Sale', - 'app/Http/Controllers/Api/Purchases', - 'app/Http/Controllers/Api/Sales', - 'app/Http/Requests/Purchase', - 'app/Http/Requests/Sale', - 'app/Jobs/Purchase', - 'app/Jobs/Sale', - 'app/Listeners/Purchase', - 'app/Listeners/Sale', - 'app/Models/Purchase', - 'app/Models/Sale', - 'app/Transformers/Purchase', - 'app/Transformers/Sale', - 'resources/views/modals/bills', - 'resources/views/modals/invoices', - 'resources/views/partials/documents/item', - 'resources/views/partials/documents', - ]; - - foreach ($files as $file) { - File::delete(base_path($file)); - } - - foreach ($directories as $directory) { - File::deleteDirectory(base_path($directory)); - } - } -} diff --git a/app/Listeners/Update/V21/Version2112.php b/app/Listeners/Update/V21/Version2112.php deleted file mode 100644 index 32f5c6f18..000000000 --- a/app/Listeners/Update/V21/Version2112.php +++ /dev/null @@ -1,101 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $this->updateDatabase(); - - $this->updateCompanies(); - } - - public function updateDatabase() - { - DB::table('migrations')->insert([ - 'id' => DB::table('migrations')->max('id') + 1, - 'migration' => '2016_06_27_000001_create_mediable_test_tables', - 'batch' => DB::table('migrations')->max('batch') + 1, - ]); - - Artisan::call('migrate', ['--force' => true]); - } - - public function updateCompanies() - { - $companies = Company::withTrashed()->cursor(); - - foreach ($companies as $company) { - $this->moveMedia($company); - } - } - - public function moveMedia($company) - { - $medias = Media::inDirectory('uploads', $company->id . '/', true)->cursor(); - - foreach ($medias as $media) { - // Bizarre record - if (empty($media->directory) || empty($media->basename)) { - $media->delete(); - - continue; - } - - // Delete media from db if file not exists - if (!Storage::exists($media->directory . '/' . $media->basename)) { - $media->delete(); - - continue; - } - - // Delete completely if soft deleted - if (!empty($media->deleted_at)) { - $media->delete(); - - Storage::delete($media->directory . '/' . $media->basename); - - continue; - } - - $date = Date::parse($media->created_at)->format('Y/m/d'); - - $new_folder = $date . '/'. $media->directory; - - // Check if already exists and delete - if (Storage::exists($new_folder . '/' . $media->basename)) { - Storage::delete($new_folder . '/' . $media->basename); - } - - $media->move($new_folder); - } - - // Delete old company folder - File::deleteDirectory(Storage::path($company->id)); - } -} diff --git a/app/Listeners/Update/V21/Version2114.php b/app/Listeners/Update/V21/Version2114.php deleted file mode 100644 index 6720bc357..000000000 --- a/app/Listeners/Update/V21/Version2114.php +++ /dev/null @@ -1,83 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $migration = DB::table('migrations') - ->where('migration', '2016_06_27_000001_create_mediable_test_tables') - ->first(); - - if ($migration === null) { - DB::table('migrations')->insert([ - 'id' => DB::table('migrations')->max('id') + 1, - 'migration' => '2016_06_27_000001_create_mediable_test_tables', - 'batch' => DB::table('migrations')->max('batch') + 1, - ]); - } - - Artisan::call('migrate', ['--force' => true]); - - $this->updateMediaTables(); - } - - public function updateMediaTables() - { - $company_ids = []; - - foreach (Media::withTrashed()->withoutGlobalScope(Company::class)->cursor() as $media) { - $company_id = null; - - if (preg_match('/\d{4}(\/\d{2}){2}\/(\d+)\//', $media->directory, $matches) && isset($matches[2])) { // 2021/04/09/34235/invoices - $company_id = $matches[2]; - } elseif (preg_match('/^(\d+)\//', $media->directory, $matches) && isset($matches[1])) { // 34235/invoices - $company_id = $matches[1]; - } - - if (null === $company_id) { - continue; - } - - $company_ids[$company_id][] = $media->id; - } - - foreach ($company_ids as $company_id => $media_ids) { - DB::table('media')->whereIn('id', $media_ids)->update(['company_id' => $company_id]); - DB::table('mediables')->whereIn('media_id', $media_ids)->update(['company_id' => $company_id]); - } - - Schema::table('media', function (Blueprint $table) { - $table->unsignedInteger('company_id')->default(null)->change(); - }); - - Schema::table('mediables', function (Blueprint $table) { - $table->unsignedInteger('company_id')->default(null)->change(); - }); - } -} diff --git a/app/Listeners/Update/V21/Version2116.php b/app/Listeners/Update/V21/Version2116.php deleted file mode 100644 index 91905c57b..000000000 --- a/app/Listeners/Update/V21/Version2116.php +++ /dev/null @@ -1,43 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $migration = DB::table('migrations') - ->where('migration', '2016_06_27_000001_create_mediable_test_tables') - ->first(); - - if ($migration === null) { - DB::table('migrations')->insert([ - 'id' => DB::table('migrations')->max('id') + 1, - 'migration' => '2016_06_27_000001_create_mediable_test_tables', - 'batch' => DB::table('migrations')->max('batch') + 1, - ]); - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V21/Version2117.php b/app/Listeners/Update/V21/Version2117.php deleted file mode 100644 index 20f4c2f5c..000000000 --- a/app/Listeners/Update/V21/Version2117.php +++ /dev/null @@ -1,62 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $this->updateCompanies(); - - Artisan::call('migrate', ['--force' => true]); - } - - protected function updateCompanies() - { - $company_id = company_id(); - - $companies = Company::cursor(); - - foreach ($companies as $company) { - $company->makeCurrent(); - - $this->cacheReports(); - } - - company($company_id)->makeCurrent(); - } - - protected function cacheReports() - { - try { - Report::all()->each(function ($report) { - Cache::put('reports.totals.' . $report->id, Utility::getClassInstance($report)->getGrandTotal()); - }); - } catch (\Throwable $e) { - report($e); - } - } -} diff --git a/app/Listeners/Update/V21/Version2118.php b/app/Listeners/Update/V21/Version2118.php deleted file mode 100644 index 14cae6b3b..000000000 --- a/app/Listeners/Update/V21/Version2118.php +++ /dev/null @@ -1,58 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $this->updateEmailTemplate(); - - Artisan::call('cache:clear'); - - Artisan::call('migrate', ['--force' => true]); - } - - protected function updateEmailTemplate() - { - $company_id = company_id(); - - $companies = Company::cursor(); - - foreach ($companies as $company) { - $company->makeCurrent(); - - EmailTemplate::create([ - 'company_id' => $company->id, - 'alias' => 'revenue_new_customer', - 'class' => 'App\Notifications\Sale\Revenue', - 'name' => 'settings.email.templates.revenue_new_customer', - 'subject' => trans('email_templates.revenue_new_customer.subject'), - 'body' => trans('email_templates.revenue_new_customer.body'), - ]); - } - - company($company_id)->makeCurrent(); - } -} diff --git a/app/Listeners/Update/V21/Version2124.php b/app/Listeners/Update/V21/Version2124.php deleted file mode 100644 index 709b3c808..000000000 --- a/app/Listeners/Update/V21/Version2124.php +++ /dev/null @@ -1,30 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V21/Version2125.php b/app/Listeners/Update/V21/Version2125.php deleted file mode 100644 index ca64200b2..000000000 --- a/app/Listeners/Update/V21/Version2125.php +++ /dev/null @@ -1,30 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V21/Version2126.php b/app/Listeners/Update/V21/Version2126.php deleted file mode 100644 index b40d173d9..000000000 --- a/app/Listeners/Update/V21/Version2126.php +++ /dev/null @@ -1,37 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - - $country_code = array_search(setting('company.country'), trans('countries')); - - if ($country_code) { - setting()->set('company.country', $country_code); - setting()->save(); - } - } -} \ No newline at end of file diff --git a/app/Listeners/Update/V21/Version2127.php b/app/Listeners/Update/V21/Version2127.php deleted file mode 100644 index 3b871d50e..000000000 --- a/app/Listeners/Update/V21/Version2127.php +++ /dev/null @@ -1,30 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} \ No newline at end of file diff --git a/app/Listeners/Update/V21/Version213.php b/app/Listeners/Update/V21/Version213.php deleted file mode 100644 index 67504389b..000000000 --- a/app/Listeners/Update/V21/Version213.php +++ /dev/null @@ -1,56 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $this->updateCompanies(); - } - - protected function updateCompanies() - { - $company_id = company_id(); - - $companies = Company::cursor(); - - foreach ($companies as $company) { - $company->makeCurrent(); - - $this->updateSettings(); - } - - company($company_id)->makeCurrent(); - } - - public function updateSettings() - { - $company_logo = setting('company.logo'); - - if (is_array($company_logo)) { - setting()->set('company.logo', $company_logo['id']); - } - - setting()->save(); - } -} diff --git a/app/Listeners/Update/V21/Version2133.php b/app/Listeners/Update/V21/Version2133.php deleted file mode 100644 index abb4a069e..000000000 --- a/app/Listeners/Update/V21/Version2133.php +++ /dev/null @@ -1,30 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V21/Version2134.php b/app/Listeners/Update/V21/Version2134.php deleted file mode 100644 index a5da96219..000000000 --- a/app/Listeners/Update/V21/Version2134.php +++ /dev/null @@ -1,30 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V21/Version218.php b/app/Listeners/Update/V21/Version218.php deleted file mode 100644 index 5c82baefe..000000000 --- a/app/Listeners/Update/V21/Version218.php +++ /dev/null @@ -1,44 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - $this->updatePermissions(); - } - - public function updatePermissions() - { - // c=create, r=read, u=update, d=delete - $this->attachPermissionsByRoleNames([ - 'admin' => [ - 'widgets-currencies' => 'r', - ], - 'manager' => [ - 'widgets-currencies' => 'r', - ], - ]); - } -} diff --git a/app/Listeners/Update/V21/Version219.php b/app/Listeners/Update/V21/Version219.php deleted file mode 100644 index 8a3c73c15..000000000 --- a/app/Listeners/Update/V21/Version219.php +++ /dev/null @@ -1,29 +0,0 @@ -skipThisUpdate($event)) { - return; - } - - Artisan::call('migrate', ['--force' => true]); - } -} diff --git a/app/Listeners/Update/V30/Version300.php b/app/Listeners/Update/V30/Version300.php new file mode 100644 index 000000000..745988f4d --- /dev/null +++ b/app/Listeners/Update/V30/Version300.php @@ -0,0 +1,656 @@ +skipThisUpdate($event)) { + return; + } + + Log::channel('stderr')->info('Starting the Akaunting 3.0 update...'); + + $this->updateDatabase(); + + $this->deleteOldWidgets(); + + $this->updateCompanies(); + + $this->updatePermissions(); + + $this->deleteOldFiles(); + + $this->clearNotifications(); + + Log::channel('stderr')->info('Akaunting 3.0 update finished.'); + } + + public function updateDatabase() + { + Log::channel('stderr')->info('Updating database...'); + + DB::table('migrations')->insert([ + 'id' => DB::table('migrations')->max('id') + 1, + 'migration' => '2019_11_16_000000_core_v2', + 'batch' => DB::table('migrations')->max('batch') + 1, + ]); + + Artisan::call('migrate', ['--force' => true]); + + Log::channel('stderr')->info('Database updated.'); + } + + public function updateCompanies() + { + Log::channel('stderr')->info('Updating companies...'); + + $company_id = company_id(); + + $companies = Company::cursor(); + + foreach ($companies as $company) { + Log::channel('stderr')->info('Updating company:' . $company->id); + + $company->makeCurrent(); + + $this->createNewWidgets(); + + $this->updateEmailTemplates(); + + $this->updateRecurables(); + + $this->updateTransactions(); + + Log::channel('stderr')->info('Company updated:' . $company->id); + } + + company($company_id)->makeCurrent(); + + Log::channel('stderr')->info('Companies updated.'); + } + + public function deleteOldWidgets() + { + Log::channel('stderr')->info('Deleting old widgets...'); + + // Delete old widgets + $old_widgets = [ + 'App\\Widgets\\TotalIncome', + 'App\\Widgets\\TotalExpenses', + 'App\\Widgets\\TotalProfit', + 'App\\Widgets\\CashFlow', + 'App\\Widgets\\IncomeByCategory', + 'App\\Widgets\\ExpensesByCategory', + 'App\\Widgets\\AccountBalance', + 'App\\Widgets\\LatestIncome', + 'App\\Widgets\\LatestExpenses', + ]; + + DB::transaction(function () use ($old_widgets) { + DB::table('widgets')->whereIn('class', $old_widgets)->delete(); + }); + + Log::channel('stderr')->info('Old widgets deleted.'); + } + + public function createNewWidgets() + { + Log::channel('stderr')->info('Creating new widgets...'); + + // Create new widgets + $new_widgets = [ + 'App\Widgets\Receivables', + 'App\Widgets\Payables', + 'App\Widgets\CashFlow', + 'App\Widgets\ProfitLoss', + 'App\Widgets\ExpensesByCategory', + 'App\Widgets\AccountBalance', + 'App\Widgets\BankFeeds', + ]; + + Log::channel('stderr')->info('Creating new widgets...'); + + Dashboard::whereDoesntHave('widgets')->each(function($dashboard) use ($new_widgets) { + $sort = 1; + + foreach ($new_widgets as $class_name) { + $class = new $class_name(); + + $this->dispatch(new CreateWidget([ + 'company_id' => $dashboard->company_id, + 'dashboard_id' => $dashboard->id, + 'class' => $class_name, + 'name' => $class->getDefaultName(), + 'sort' => $sort, + 'settings' => $class->getDefaultSettings(), + ])); + + $sort++; + } + }); + + Log::channel('stderr')->info('New widgets created.'); + } + + public function updateEmailTemplates() + { + Log::channel('stderr')->info('Updating/Creating email templates...'); + + $payment_received_model = EmailTemplate::alias('revenue_new_customer')->first(); + + $payment_received_request = [ + 'company_id' => company_id(), + 'alias' => 'payment_received_customer', + 'class' => 'App\Notifications\Banking\Transaction', + 'name' => 'settings.email.templates.payment_received_customer', + ]; + + Log::channel('stderr')->info('Updating old email templates...'); + + if (!empty($payment_received_model)) { + $this->dispatch(new UpdateEmailTemplate($payment_received_model, array_merge($payment_received_request, [ + 'subject' => $payment_received_model->subject, + 'body' => $payment_received_model->body, + ]))); + } else { + $this->dispatch(new CreateEmailTemplate(array_merge($payment_received_request, [ + 'subject' => trans('email_templates.payment_received_customer.subject'), + 'body' => trans('email_templates.payment_received_customer.body'), + 'created_from' => 'core::seed', + ]))); + } + + Log::channel('stderr')->info('Creating new email templates...'); + + $this->dispatch(new CreateEmailTemplate([ + 'company_id' => company_id(), + 'alias' => 'invoice_view_admin', + 'class' => 'App\Notifications\Sale\Invoice', + 'name' => 'settings.email.templates.invoice_view_admin', + 'subject' => trans('email_templates.invoice_view_admin.subject'), + 'body' => trans('email_templates.invoice_view_admin.body'), + 'created_from' => 'core::seed', + ])); + + $this->dispatch(new CreateEmailTemplate([ + 'company_id' => company_id(), + 'alias' => 'payment_made_vendor', + 'class' => 'App\Notifications\Banking\Transaction', + 'name' => 'settings.email.templates.payment_made_vendor', + 'subject' => trans('email_templates.payment_made_vendor.subject'), + 'body' => trans('email_templates.payment_made_vendor.body'), + 'created_from' => 'core::seed', + ])); + + Log::channel('stderr')->info('Email templates updated/created.'); + } + + public function updateRecurables() + { + Log::channel('stderr')->info('Updating recurring...'); + + $recurrings = Recurring::with('recurable')->cursor(); + + foreach ($recurrings as $recurring) { + // Document or Transaction + $model = $recurring->recurable; + + if ($model instanceof Document) { + $cloneable_relations = ['items', 'totals']; + $number_field = 'document_number'; + } else { + $cloneable_relations = []; + $number_field = 'number'; + } + + $model->cloneable_relations = $cloneable_relations; + + // Create the recurring template + $clone = $model->duplicate(); + $clone->type = $clone->type . '-recurring'; + $clone->$number_field = $this->getNextTransactionNumber('-recurring'); + $clone->saveQuietly(); + + $this->increaseNextTransactionNumber('-recurring'); + + // Update the recurring table + $recurring->recurable_id = $clone->id; + $recurring->saveQuietly(); + + // Set the new recurring template as parent for the original model + $model->parent_id = $clone->id; + $model->saveQuietly(); + + // Set the new recurring template as parent for child models + DB::table($model->getTable())->where('parent_id', $model->id)->update([ + 'parent_id' => $clone->id, + 'created_from' => 'core::recurring', + ]); + } + + Log::channel('stderr')->info('Recurring updated.'); + } + + public function updateTransactions() + { + Log::channel('stderr')->info('Updating transactions...'); + + $transactions = Transaction::isNotRecurring()->cursor(); + + $number = 1; + $transaction_number = $this->getTransactionNumber($number); + + foreach ($transactions as $transaction) { + $transaction->number = $transaction_number; + $transaction->saveQuietly(); + + $number++; + $transaction_number = $this->getTransactionNumber($number); + } + + $this->saveNextTransactionNumber($number); + + Log::channel('stderr')->info('Transactions updated.'); + } + + public function clearNotifications() + { + try { + $users = User::all(); + + foreach ($users as $user) { + $notifications = $user->unreadNotifications; + + foreach ($notifications as $notification) { + $notification->markAsRead(); + } + } + } catch (\Exception $e) {} + } + + public function getTransactionNumber($number): string + { + $prefix = setting('transaction.number_prefix'); + $digit = setting('transaction.number_digit'); + + return $prefix . str_pad($number, $digit, '0', STR_PAD_LEFT); + } + + public function saveNextTransactionNumber($next): void + { + setting(['transaction.number_next' => $next]); + setting()->save(); + } + + public function updatePermissions() + { + Log::channel('stderr')->info('Updating permissions...'); + + $rows = [ + 'accountant' => [ + 'admin-panel' => 'r', + 'api' => 'r', + 'common-dashboards' => 'r', + 'common-items' => 'r', + 'purchases-bills' => 'r', + 'purchases-vendors' => 'r', + 'sales-customers' => 'r', + 'sales-invoices' => 'r', + 'banking-accounts' => 'r', + 'banking-reconciliations' => 'r', + 'banking-transactions' => 'r', + 'banking-transfers' => 'r', + 'reports-expense-summary' => 'r', + 'reports-income-summary' => 'r', + 'reports-income-expense-summary' => 'r', + 'reports-profit-loss' => 'r', + 'reports-tax-summary' => 'r', + 'modules-home' => 'r', + 'modules-item' => 'r', + 'modules-my' => 'r', + 'modules-tiles' => 'r', + ], + ]; + + Log::channel('stderr')->info('Attaching new permissions...'); + + // c=create, r=read, u=update, d=delete + $this->attachPermissionsByRoleNames($rows); + + // c=create, r=read, u=update, d=delete + $this->attachPermissionsToAdminRoles([ + 'settings-email-templates' => 'r,u', + 'settings-company' => 'u', + 'settings-defaults' => 'u', + 'settings-email' => 'u', + 'settings-invoice' => 'u', + 'settings-localisation' => 'u', + 'settings-schedule' => 'u', + 'widgets-bank-feeds' => 'r', + 'widgets-payables' => 'r', + 'widgets-profit-loss' => 'r', + 'widgets-receivables' => 'r', + ]); + + Log::channel('stderr')->info('Dettaching old permissions...'); + + // c=create, r=read, u=update, d=delete + $this->detachPermissionsFromAdminRoles([ + 'auth-permissions' => 'c,r,u,d', + 'auth-roles' => 'c,r,u,d', + 'common-notifications' => 'c,r,u,d', + 'purchases-payments' => 'c,r,u,d', + 'sales-revenues' => 'c,r,u,d', + 'settings-settings' => 'r,u', + 'settings-settings' => 'r,u', + 'widgets-income-by-category' => 'r', + 'widgets-latest-expenses' => 'r', + 'widgets-latest-income' => 'r', + 'widgets-total-expenses' => 'r', + 'widgets-total-income' => 'r', + 'widgets-total-profit' => 'r', + ]); + + Log::channel('stderr')->info('Permissions updated.'); + } + + public function deleteOldFiles() + { + Log::channel('stderr')->info('Deleting old files and folders...'); + + $files = [ + 'app/Abstracts/View/Components/Document.php', + 'app/Abstracts/View/Components/DocumentForm.php', + 'app/Abstracts/View/Components/DocumentIndex.php', + 'app/Abstracts/View/Components/DocumentShow.php', + 'app/Abstracts/View/Components/DocumentTemplate.php', + 'app/Abstracts/View/Components/Transaction.php', + 'app/Abstracts/View/Components/TransactionShow.php', + 'app/Abstracts/View/Components/TransactionTemplate.php', + 'app/Http/BulkActions/Auth/Permissions.php', + 'app/Http/BulkActions/Auth/Roles.php', + 'app/Http/BulkActions/Purchases/Payments.php', + 'app/Http/BulkActions/Sales/Revenues.php', + 'app/Http/Exports/Purchases/Payments.php', + 'app/Http/Exports/Sales/Revenues.php', + 'app/Http/Imports/Purchases/Payments.php', + 'app/Http/Imports/Sales/Revenues.php', + 'app/Http/Controllers/Api/Auth/Permissions.php', + 'app/Http/Controllers/Api/Auth/Roles.php', + 'app/Http/Controllers/Auth/Permissions.php', + 'app/Http/Controllers/Auth/Roles.php', + 'app/Http/Controllers/Common/Notifications.php', + 'app/Http/Controllers/Purchases/Payments.php', + 'app/Http/Controllers/Sales/Revenues.php', + 'app/Http/Controllers/Settings/Settings.php', + 'app/Http/Requests/Auth/Permission.php', + 'app/Http/Requests/Auth/Role.php', + 'app/Http/ViewComposers/Header.php', + 'app/Http/ViewComposers/Index.php', + 'app/Http/ViewComposers/Notifications.php', + 'app/Http/ViewComposers/Show.php', + 'app/Http/ViewComposers/Suggestions.php', + 'app/Http/ViewComposers/Menu.php', + 'app/Http/ViewComposers/Logo.php', + 'app/Http/ViewComposers/Modules.php', + 'app/Http/ViewComposers/Wizard.php', + 'app/Models/Common/EmailTemplate.php', + 'app/Notifications/Sale/Revenue.php', + 'app/Transformers/Auth/Permission.php', + 'app/Transformers/Auth/Role.php', + 'app/View/Components/Documents/Index/CardBody.php', + 'app/View/Components/Documents/Index/CardFooter.php', + 'app/View/Components/Documents/Index/CardHeader.php', + 'app/View/Components/Documents/Index/TopButtons.php', + 'app/View/Components/Documents/Show/Timeline.php', + 'app/View/Components/Documents/Show/Transactions.php', + 'app/View/Components/Transactions/Show/Header.php', + 'app/View/Components/Transactions/Show/Footer.php', + 'app/View/Components/Transfers/Show/Header.php', + 'app/View/Components/Transfers/Show/Footer.php', + 'app/Widgets/IncomeByCategory.php', + 'app/Widgets/LatestExpenses.php', + 'app/Widgets/LatestIncome.php', + 'app/Widgets/TotalExpense.php', + 'app/Widgets/TotalIncome.php', + 'app/Widgets/TotalProfit.php', + 'database/factories/Permission.php', + 'database/factories/Role.php', + 'database/migrations/2020_01_08_000000_core_v200.php', + 'database/migrations/2020_03_20_183732_core_v208.php', + 'database/migrations/2020_06_09_000000_core_v2014.php', + 'database/migrations/2020_07_20_000000_core_v2017.php', + 'database/migrations/2020_10_13_000000_core_v210.php', + 'database/migrations/2021_04_01_000000_core_v219.php', + 'database/migrations/2021_05_17_000000_core_v2114.php', + 'database/migrations/2021_06_17_000000_core_v2117.php', + 'database/migrations/2021_09_01_000000_core_v2124.php', + 'database/migrations/2021_09_10_000000_core_v2125.php', + 'database/migrations/2021_09_10_000000_core_v2126.php', + 'database/migrations/2021_09_10_000000_core_v2127.php', + 'database/migrations/2022_03_02_000000_core_v2133.php', + 'database/migrations/2022_03_23_000000_core_v2134.php', + 'public/files/import/payments.xlsx', + 'public/files/import/revenues.xlsx', + 'resources/assets/js/views/auth/permissions.js', + 'resources/assets/js/views/auth/roles.js', + 'resources/views/components/documents/index/card-body.blade.php', + 'resources/views/components/documents/index/card-footer.blade.php', + 'resources/views/components/documents/index/card-header.blade.php', + 'resources/views/components/documents/index/top-buttons.blade.php', + 'resources/views/components/documents/show/timeline.blade.php', + 'resources/views/components/documents/show/transactions.blade.php', + 'resources/views/components/form-group-title.blade.php', + 'resources/views/components/transactions/show/header.blade.php', + 'resources/views/components/transactions/show/footer.blade.php', + 'resources/views/components/transfers/show/header.blade.php', + 'resources/views/components/transfers/show/footer.blade.php', + 'resources/views/components/layouts/modules.php', + 'resources/views/layouts/admin.blade.php', + 'resources/views/layouts/auth.blade.php', + 'resources/views/layouts/install.blade.php', + 'resources/views/layouts/maintenance.blade.php', + 'resources/views/layouts/modules.blade.php', + 'resources/views/layouts/portal.blade.php', + 'resources/views/layouts/print.blade.php', + 'resources/views/layouts/signed.blade.php', + 'resources/views/layouts/wizard.blade.php', + 'resources/views/partials/admin/content.blade.php', + 'resources/views/partials/admin/empty_page.blade.php', + 'resources/views/partials/admin/favorites.blade.php', + 'resources/views/partials/admin/footer.blade.php', + 'resources/views/partials/admin/head.blade.php', + 'resources/views/partials/admin/header.blade.php', + 'resources/views/partials/admin/menu.blade.php', + 'resources/views/partials/admin/pagination.blade.php', + 'resources/views/partials/admin/scripts.blade.php', + 'resources/views/partials/admin/suggestions.blade.php', + 'resources/views/partials/auth/head.blade.php', + 'resources/views/partials/auth/scripts.blade.php', + 'resources/views/partials/form/bulk_action_all_group.blade.php', + 'resources/views/partials/form/bulk_action_group.blade.php', + 'resources/views/partials/form/bulk_action_row_group.blade.php', + 'resources/views/partials/form/checkbox_group.blade.php', + 'resources/views/partials/form/date_group.blade.php', + 'resources/views/partials/form/date_range.blade.php', + 'resources/views/partials/form/date_time_group.blade.php', + 'resources/views/partials/form/delete_button.blade.php', + 'resources/views/partials/form/delete_link.blade.php', + 'resources/views/partials/form/email_group.blade.php', + 'resources/views/partials/form/enabled_group.blade.php', + 'resources/views/partials/form/file_group.blade.php', + 'resources/views/partials/form/invoice_text.blade.php', + 'resources/views/partials/form/money_group.blade.php', + 'resources/views/partials/form/multi_select_add_new_group.blade.php', + 'resources/views/partials/form/multi_select_group.blade.php', + 'resources/views/partials/form/multi_select_remote_add_new_group.blade.php', + 'resources/views/partials/form/multi_select_remote_group.blade.php', + 'resources/views/partials/form/number_group.blade.php', + 'resources/views/partials/form/password_group.blade.php', + 'resources/views/partials/form/radio_group.blade.php', + 'resources/views/partials/form/recurring.blade.php', + 'resources/views/partials/form/save_buttons.blade.php', + 'resources/views/partials/form/select_add_new_group.blade.php', + 'resources/views/partials/form/select_group.blade.php', + 'resources/views/partials/form/select_group_add_new_group.blade.php', + 'resources/views/partials/form/select_group_group.blade.php', + 'resources/views/partials/form/select_remote_add_new_group.blade.php', + 'resources/views/partials/form/select_remote_group.blade.php', + 'resources/views/partials/form/text_editor_group.blade.php', + 'resources/views/partials/form/text_group.blade.php', + 'resources/views/partials/form/textarea_group.blade.php', + 'resources/views/partials/form/time_group.blade.php', + 'resources/views/partials/email/body.blade.php', + 'resources/views/partials/email/footer.blade.php', + 'resources/views/partials/media/file.blade.php', + 'resources/views/partials/reports/detail.blade.php', + 'resources/views/partials/reports/detail/content/footer.blade.php', + 'resources/views/partials/reports/detail/content/header.blade.php', + 'resources/views/partials/reports/detail/table.blade.php', + 'resources/views/partials/reports/detail/table/body.blade.php', + 'resources/views/partials/reports/detail/table/footer.blade.php', + 'resources/views/partials/reports/detail/table/header.blade.php', + 'resources/views/partials/reports/detail/table/row.blade.php', + 'resources/views/partials/reports/fields.blade.php', + 'resources/views/partials/reports/filter.blade.php', + 'resources/views/partials/reports/header.blade.php', + 'resources/views/partials/reports/print.blade.php', + 'resources/views/partials/reports/show.blade.php', + 'resources/views/partials/reports/summary.blade.php', + 'resources/views/partials/reports/summary/chart.blade.php', + 'resources/views/partials/reports/summary/content/footer.blade.php', + 'resources/views/partials/reports/summary/content/header.blade.php', + 'resources/views/partials/reports/summary/table.blade.php', + 'resources/views/partials/reports/summary/table/body.blade.php', + 'resources/views/partials/reports/summary/table/footer.blade.php', + 'resources/views/partials/reports/summary/table/header.blade.php', + 'resources/views/partials/reports/summary/table/row.blade.php', + 'resources/views/partials/install/head.blade.php', + 'resources/views/partials/install/scripts.blade.php', + 'resources/views/partials/maintenance/body.blade.php', + 'resources/views/partials/maintenance/head.blade.php', + 'resources/views/partials/modules/bar.blade.php', + 'resources/views/partials/modules/head.blade.php', + 'resources/views/partials/modules/item.blade.php', + 'resources/views/partials/modules/items.blade.php', + 'resources/views/partials/modules/my_apps_item.blade.php', + 'resources/views/partials/modules/no_apps.blade.php', + 'resources/views/partials/modules/pre_sale.blade.php', + 'resources/views/partials/modules/releases.blade.php', + 'resources/views/partials/modules/reviews.blade.php', + 'resources/views/partials/modules/show/price.blade.php', + 'resources/views/partials/modules/show/toggle.blade.php', + 'resources/views/partials/portal/content.blade.php', + 'resources/views/partials/portal/footer.blade.php', + 'resources/views/partials/portal/head.blade.php', + 'resources/views/partials/portal/header.blade.php', + 'resources/views/partials/portal/menu.blade.php', + 'resources/views/partials/portal/navbar.blade.php', + 'resources/views/partials/portal/pagination.blade.php', + 'resources/views/partials/portal/payment_method/hosted.blade.php', + 'resources/views/partials/portal/payment_method/redirect.blade.php', + 'resources/views/partials/portal/scripts.blade.php', + 'resources/views/partials/print/head.blade.php', + 'resources/views/partials/print/scripts.blade.php', + 'resources/views/partials/pwa/pwa.blade.php', + 'resources/views/partials/signed/content.blade.php', + 'resources/views/partials/signed/footer.blade.php', + 'resources/views/partials/signed/head.blade.php', + 'resources/views/partials/wizard/head.blade.php', + 'resources/views/partials/wizard/scripts.blade.php', + 'resources/views/partials/wizard/steps.blade.php', + 'resources/views/partials/widgets/header.blade.php', + 'resources/views/settings/settings/index.blade.php', + 'resources/views/widgets/latest_expenses.blade.php', + 'resources/views/widgets/latest_income.blade.php', + 'resources/views/widgets/total_expenses.blade.php', + 'resources/views/widgets/total_income.blade.php', + 'resources/views/widgets/total_profit.blade.php', + ]; + + $directories = [ + 'app/Listeners/Update/V20', + 'app/Listeners/Update/V21', + 'modules/BC21', + 'modules/Bc21', + 'resources/views/auth/permissions', + 'resources/views/auth/roles', + 'resources/views/common/notifications', + 'resources/views/purchases/payments', + 'resources/views/sales/revenues', + 'resources/views/layouts', + 'resources/views/partials/admin', + 'resources/views/partials/auth', + 'resources/views/partials/form', + 'resources/views/partials/install', + 'resources/views/partials/maintenance', + 'resources/views/partials/modules/show', + 'resources/views/partials/modules', + 'resources/views/partials/portal/payment_method', + 'resources/views/partials/portal', + 'resources/views/partials/print', + 'resources/views/partials/pwa', + 'resources/views/partials/signed', + 'resources/views/partials/wizard', + 'resources/views/partials/email', + 'resources/views/partials/media', + 'resources/views/partials/reports/details/content', + 'resources/views/partials/reports/details/table', + 'resources/views/partials/reports/details', + 'resources/views/partials/reports/summary/content', + 'resources/views/partials/reports/summary/table', + 'resources/views/partials/reports/summary', + 'resources/views/partials/reports', + 'resources/views/partials/widgets', + ]; + + Log::channel('stderr')->info('Deleting old files...'); + + foreach ($files as $file) { + File::delete(base_path($file)); + } + + Log::channel('stderr')->info('Deleting old folders...'); + + foreach ($directories as $directory) { + File::deleteDirectory(base_path($directory)); + } + + Log::channel('stderr')->info('Old files and folders deleted.'); + } +} diff --git a/app/Models/Auth/Permission.php b/app/Models/Auth/Permission.php index 31108210f..d954786e6 100644 --- a/app/Models/Auth/Permission.php +++ b/app/Models/Auth/Permission.php @@ -2,16 +2,15 @@ namespace App\Models\Auth; +use Akaunting\Sortable\Traits\Sortable; use App\Traits\Tenants; -use Illuminate\Database\Eloquent\Factories\HasFactory; use Laratrust\Models\LaratrustPermission; use Laratrust\Traits\LaratrustPermissionTrait; -use Kyslik\ColumnSortable\Sortable; use Lorisleiva\LaravelSearchString\Concerns\SearchString; class Permission extends LaratrustPermission { - use HasFactory, LaratrustPermissionTrait, SearchString, Sortable, Tenants; + use LaratrustPermissionTrait, SearchString, Sortable, Tenants; protected $table = 'permissions'; @@ -79,14 +78,4 @@ class Permission extends LaratrustPermission return $title; } - - /** - * Create a new factory instance for the model. - * - * @return \Illuminate\Database\Eloquent\Factories\Factory - */ - protected static function newFactory() - { - return \Database\Factories\Permission::new(); - } } diff --git a/app/Models/Auth/Role.php b/app/Models/Auth/Role.php index 5c05905c3..7c844462a 100644 --- a/app/Models/Auth/Role.php +++ b/app/Models/Auth/Role.php @@ -2,16 +2,15 @@ namespace App\Models\Auth; +use Akaunting\Sortable\Traits\Sortable; use App\Traits\Tenants; -use Illuminate\Database\Eloquent\Factories\HasFactory; use Laratrust\Models\LaratrustRole; use Laratrust\Traits\LaratrustRoleTrait; -use Kyslik\ColumnSortable\Sortable; use Lorisleiva\LaravelSearchString\Concerns\SearchString; class Role extends LaratrustRole { - use HasFactory, LaratrustRoleTrait, SearchString, Sortable, Tenants; + use LaratrustRoleTrait, SearchString, Sortable, Tenants; protected $table = 'roles'; @@ -22,6 +21,40 @@ class Role extends LaratrustRole */ protected $fillable = ['name', 'display_name', 'description', 'created_from', 'created_by']; + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('roles.roles.edit', $this->id), + 'permission' => 'update-roles-roles', + ]; + + $actions[] = [ + 'title' => trans('general.duplicate'), + 'icon' => 'file_copy', + 'url' => route('roles.roles.duplicate', $this->id), + 'permission' => 'create-roles-roles', + ]; + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'roles.roles.destroy', + 'permission' => 'delete-roles-roles', + 'model' => $this, + ]; + + return $actions; + } + /** * Scope to get all rows filtered, sorted and paginated. * @@ -39,14 +72,4 @@ class Role extends LaratrustRole return $query->usingSearchString($search)->sortable($sort)->paginate($limit); } - - /** - * Create a new factory instance for the model. - * - * @return \Illuminate\Database\Eloquent\Factories\Factory - */ - protected static function newFactory() - { - return \Database\Factories\Role::new(); - } } diff --git a/app/Models/Auth/User.php b/app/Models/Auth/User.php index 9322be231..2d4d21c8a 100644 --- a/app/Models/Auth/User.php +++ b/app/Models/Auth/User.php @@ -2,11 +2,12 @@ namespace App\Models\Auth; -use App\Traits\Tenants; +use Akaunting\Sortable\Traits\Sortable; use App\Notifications\Auth\Reset; use App\Traits\Media; use App\Traits\Owners; use App\Traits\Sources; +use App\Traits\Tenants; use App\Traits\Users; use App\Utilities\Date; use Illuminate\Contracts\Translation\HasLocalePreference; @@ -14,7 +15,6 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; -use Kyslik\ColumnSortable\Sortable; use Laratrust\Traits\LaratrustUserTrait; use Lorisleiva\LaravelSearchString\Concerns\SearchString; @@ -65,11 +65,11 @@ class User extends Authenticatable implements HasLocalePreference { parent::boot(); - static::retrieved(function($model) { + static::retrieved(function ($model) { $model->setCompanyIds(); }); - static::saving(function($model) { + static::saving(function ($model) { $model->unsetCompanyIds(); }); } @@ -94,6 +94,10 @@ class User extends Authenticatable implements HasLocalePreference */ public function getNameAttribute($value) { + if (empty($value)) { + return trans('general.na'); + } + return ucfirst($value); } @@ -106,7 +110,7 @@ class User extends Authenticatable implements HasLocalePreference if (setting('default.use_gravatar', '0') == '1') { try { // Check for gravatar - $url = 'https://www.gravatar.com/avatar/' . md5(strtolower($this->getAttribute('email'))).'?size=90&d=404'; + $url = 'https://www.gravatar.com/avatar/' . md5(strtolower($this->getAttribute('email'))) . '?size=90&d=404'; $client = new \GuzzleHttp\Client(['verify' => false]); @@ -141,14 +145,6 @@ class User extends Authenticatable implements HasLocalePreference } } - /** - * Send reset link to user via email - */ - public function sendPasswordResetNotification($token) - { - $this->notify(new Reset($token)); - } - /** * Always capitalize the name when we save it to the database */ @@ -165,6 +161,14 @@ class User extends Authenticatable implements HasLocalePreference $this->attributes['password'] = bcrypt($value); } + /** + * Send reset link to user via email + */ + public function sendPasswordResetNotification($token) + { + $this->notify(new Reset($token)); + } + /** * Scope to get all rows filtered, sorted and paginated. * @@ -294,6 +298,48 @@ class User extends Authenticatable implements HasLocalePreference return $this->locale; } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + if (user()->id == $this->id) { + return $actions; + } + + if (! $this->hasPendingInvitation()) { + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('users.edit', $this->id), + 'permission' => 'update-auth-users', + ]; + } + + if ($this->hasPendingInvitation()) { + $actions[] = [ + 'title' => trans('general.resend') . ' ' . trans_choice('general.invitations', 1), + 'icon' => 'replay', + 'url' => route('users.invite', $this->id), + 'permission' => 'update-auth-users', + ]; + } + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'users.destroy', + 'permission' => 'delete-auth-users', + 'model' => $this, + ]; + + return $actions; + } + /** * Create a new factory instance for the model. * diff --git a/app/Models/Auth/UserInvitation.php b/app/Models/Auth/UserInvitation.php new file mode 100644 index 000000000..661088a5f --- /dev/null +++ b/app/Models/Auth/UserInvitation.php @@ -0,0 +1,40 @@ +belongsTo('App\Models\Auth\User'); + } + + /** + * Scope a query to only include given token value. + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @return void + */ + public function scopeToken($query, $token) + { + $query->where('token', $token); + } +} diff --git a/app/Models/Banking/Account.php b/app/Models/Banking/Account.php index 620f97dbe..53c90e202 100644 --- a/app/Models/Banking/Account.php +++ b/app/Models/Banking/Account.php @@ -4,8 +4,8 @@ namespace App\Models\Banking; use App\Abstracts\Model; use App\Traits\Transactions; -use Illuminate\Database\Eloquent\Factories\HasFactory; use Bkwld\Cloner\Cloneable; +use Illuminate\Database\Eloquent\Factories\HasFactory; class Account extends Model { @@ -25,7 +25,7 @@ class Account extends Model * * @var array */ - protected $fillable = ['company_id', 'name', 'number', 'currency_code', 'opening_balance', 'bank_name', 'bank_phone', 'bank_address', 'enabled', 'created_from', 'created_by']; + protected $fillable = ['company_id', 'type', 'name', 'number', 'currency_code', 'opening_balance', 'bank_name', 'bank_phone', 'bank_address', 'enabled', 'created_from', 'created_by']; /** * The attributes that should be cast. @@ -42,7 +42,7 @@ class Account extends Model * * @var array */ - public $sortable = ['name', 'number', 'opening_balance', 'enabled']; + public $sortable = ['name', 'number', 'balance', 'bank_name', 'bank_phone']; public function currency() { @@ -74,6 +74,21 @@ class Account extends Model return $query->where('number', '=', $number); } + /** + * Sort by balance + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @param $direction + * + * @return \Illuminate\Database\Eloquent\Builder + */ + public function balanceSortable($query, $direction) + { + return $query//->join('transactions', 'transactions.account_id', '=', 'accounts.id') + ->orderBy('balance', $direction) + ->select(['accounts.*', 'accounts.opening_balance as balance']); + } + /** * Get the current balance. * @@ -127,6 +142,39 @@ class Account extends Model return $total; } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + $actions[] = [ + 'title' => trans('general.show'), + 'icon' => 'visibility', + 'url' => route('accounts.show', $this->id), + 'permission' => 'read-banking-accounts', + ]; + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('accounts.edit', $this->id), + 'permission' => 'update-banking-accounts', + ]; + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'accounts.destroy', + 'permission' => 'delete-banking-accounts', + 'model' => $this, + ]; + + return $actions; + } /** * Create a new factory instance for the model. diff --git a/app/Models/Banking/Reconciliation.php b/app/Models/Banking/Reconciliation.php index 3210c1e55..738a75d27 100644 --- a/app/Models/Banking/Reconciliation.php +++ b/app/Models/Banking/Reconciliation.php @@ -42,6 +42,33 @@ class Reconciliation extends Model return $this->belongsTo('App\Models\Banking\Account'); } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('reconciliations.edit', $this->id), + 'permission' => 'update-banking-reconciliations', + ]; + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'reconciliations.destroy', + 'permission' => 'delete-banking-reconciliations', + 'model' => $this, + ]; + + return $actions; + } + /** * Create a new factory instance for the model. * diff --git a/app/Models/Banking/Transaction.php b/app/Models/Banking/Transaction.php index b870bc1ea..8cd4712fe 100644 --- a/app/Models/Banking/Transaction.php +++ b/app/Models/Banking/Transaction.php @@ -12,6 +12,7 @@ use App\Traits\Media; use App\Traits\Recurring; use App\Traits\Transactions; use Bkwld\Cloner\Cloneable; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Support\Str; @@ -19,6 +20,13 @@ class Transaction extends Model { use Cloneable, Currencies, DateTime, HasFactory, Media, Recurring, Transactions; + public const INCOME_TYPE = 'income'; + public const INCOME_SPLIT_TYPE = 'income-split'; + public const INCOME_RECURRING_TYPE = 'income-recurring'; + public const EXPENSE_TYPE = 'expense'; + public const EXPENSE_SPLIT_TYPE = 'expense-split'; + public const EXPENSE_RECURRING_TYPE = 'expense-recurring'; + protected $table = 'transactions'; protected $dates = ['deleted_at', 'paid_at']; @@ -31,6 +39,7 @@ class Transaction extends Model protected $fillable = [ 'company_id', 'type', + 'number', 'account_id', 'paid_at', 'amount', @@ -43,6 +52,7 @@ class Transaction extends Model 'payment_method', 'reference', 'parent_id', + 'split_id', 'created_from', 'created_by', ]; @@ -62,7 +72,7 @@ class Transaction extends Model * * @var array */ - public $sortable = ['paid_at', 'amount','category.name', 'account.name']; + public $sortable = ['type', 'number', 'paid_at', 'amount','category.name', 'account.name', 'customer.name', 'invoice.document_number']; /** * Clonable relationships. @@ -96,6 +106,11 @@ class Transaction extends Model return $this->belongsTo('App\Models\Setting\Category')->withDefault(['name' => trans('general.na')]); } + public function children() + { + return $this->hasMany('App\Models\Banking\Transaction', 'parent_id'); + } + public function contact() { return $this->belongsTo('App\Models\Common\Contact')->withDefault(['name' => trans('general.na')]); @@ -116,29 +131,27 @@ class Transaction extends Model return $this->belongsTo('App\Models\Document\Document', 'document_id'); } + public function parent() + { + return $this->belongsTo('App\Models\Banking\Transaction', 'parent_id'); + } + public function recurring() { return $this->morphOne('App\Models\Common\Recurring', 'recurable'); } + public function splits() + { + return $this->hasMany('App\Models\Banking\Transaction', 'split_id'); + } + public function user() { return $this->belongsTo('App\Models\Auth\User', 'contact_id', 'id'); } - public function parent() - { - return $this->belongsTo('App\Models\Banking\Transaction', 'parent_id'); - } - - /** - * Scope to only include contacts of a given type. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param mixed $types - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeType($query, $types) + public function scopeType(Builder $query, $types): Builder { if (empty($types)) { return $query; @@ -147,167 +160,110 @@ class Transaction extends Model return $query->whereIn($this->qualifyColumn('type'), (array) $types); } - /** - * Scope to include only income. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeIncome($query) + public function scopeIncome(Builder $query): Builder { return $query->whereIn($this->qualifyColumn('type'), (array) $this->getIncomeTypes()); } - /** - * Scope to include only expense. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeExpense($query) + public function scopeIncomeRecurring(Builder $query): Builder + { + return $query->where($this->qualifyColumn('type'), '=', self::INCOME_RECURRING_TYPE); + } + + public function scopeExpense(Builder $query): Builder { return $query->whereIn($this->qualifyColumn('type'), (array) $this->getExpenseTypes()); } - /** - * Get only transfers. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeIsTransfer($query) + public function scopeExpenseRecurring(Builder $query): Builder + { + return $query->where($this->qualifyColumn('type'), '=', self::EXPENSE_RECURRING_TYPE); + } + + public function scopeIsRecurring(Builder $query): Builder + { + return $query->where($this->qualifyColumn('type'), 'like', '%-recurring'); + } + + public function scopeIsNotRecurring(Builder $query): Builder + { + return $query->where($this->qualifyColumn('type'), 'not like', '%-recurring'); + } + + public function scopeIsTransfer(Builder $query): Builder { return $query->where('category_id', '=', Category::transfer()); } - /** - * Skip transfers. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeIsNotTransfer($query) + public function scopeIsNotTransfer(Builder $query): Builder { return $query->where('category_id', '<>', Category::transfer()); } - /** - * Get only documents (invoice/bill). - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeIsDocument($query) + public function scopeIsDocument(Builder $query): Builder { return $query->whereNotNull('document_id'); } - /** - * Get only transactions (revenue/payment). - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeIsNotDocument($query) + public function scopeIsNotDocument(Builder $query): Builder { return $query->whereNull('document_id'); } - /** - * Get by document id. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param integer $document_id - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeDocumentId($query, $document_id) + public function scopeDocumentId(Builder $query, int $document_id): Builder { return $query->where('document_id', '=', $document_id); } - /** - * Get by account id. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param integer $account_id - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeAccountId($query, $account_id) + public function scopeAccountId(Builder $query, int $account_id): Builder { return $query->where('account_id', '=', $account_id); } - /** - * Get by contact id. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param integer $contact_id - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeContactId($query, $contact_id) + public function scopeContactId(Builder $query, int $contact_id): Builder { return $query->where('contact_id', '=', $contact_id); } - /** - * Get by category id. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param integer $category_id - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeCategoryId($query, $category_id) + public function scopeCategoryId(Builder $query, int $category_id): Builder { return $query->where('category_id', '=', $category_id); } /** * Order by paid date. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder */ - public function scopeLatest($query) + public function scopeLatest(Builder $query): Builder { return $query->orderBy('paid_at', 'desc'); } - /** - * Scope paid invoice. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopePaid($query) + public function scopePaid(Builder $query): Builder { return $query->sum('amount'); } - /** - * Get only reconciled. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeIsReconciled($query) + public function scopeIsReconciled(Builder $query): Builder { return $query->where('reconciled', 1); } - /** - * Get only not reconciled. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeIsNotReconciled($query) + public function scopeIsNotReconciled(Builder $query): Builder { return $query->where('reconciled', 0); } public function onCloning($src, $child = null) { - $this->document_id = null; + if (app()->has(\App\Console\Commands\RecurringCheck::class)) { + $suffix = ''; + } else { + $suffix = $src->isRecurringTransaction() ? '-recurring' : ''; + } + + $this->number = $this->getNextTransactionNumber($suffix); + $this->document_id = null; + $this->split_id = null; } /** @@ -346,6 +302,16 @@ class Transaction extends Model return $this->getMedia('attachment')->all(); } + /** + * Get the splittable status. + * + * @return bool + */ + public function getIsSplittableAttribute() + { + return is_null($this->split_id); + } + public function delete_attachment() { if ($attachments = $this->attachment) { @@ -362,7 +328,7 @@ class Transaction extends Model */ public function getHasTransferRelationAttribute() { - return (bool) (optional($this->category)->id == optional($this->category)->transfer()); + return (bool) ($this->category?->id == $this->category?->transfer()); } /** @@ -372,7 +338,9 @@ class Transaction extends Model */ public function getTypeTitleAttribute($value) { - return $value ?? trans_choice('general.' . Str::plural($this->type), 1); + $type = $this->getRealTypeOfRecurringTransaction($this->type); + + return $value ?? trans_choice('general.' . Str::plural($type), 1); } /** @@ -387,18 +355,18 @@ class Transaction extends Model } if ($this->isIncome()) { - if (! empty($this->document) && $this->document->type != 'invoice') { + if (! empty($this->document_id) && $this->document->type != 'invoice') { return $this->getRouteFromConfig(); } else { - return ! empty($this->document_id) ? 'invoices.show' : 'revenues.show'; + return !empty($this->document_id) ? 'invoices.show' : 'transactions.show'; } } if ($this->isExpense()) { - if (! empty($this->document) && $this->document->type != 'bill') { + if (! empty($this->document_id) && $this->document->type != 'bill') { return $this->getRouteFromConfig(); } else { - return ! empty($this->document_id) ? 'bills.show' : 'payments.show'; + return !empty($this->document_id) ? 'bills.show' : 'transactions.show'; } } @@ -409,8 +377,8 @@ class Transaction extends Model { $route = ''; - $alias = config('type.' . $this->document->type . '.alias'); - $prefix = config('type.' . $this->document->type . '.route.prefix'); + $alias = config('type.document.' . $this->document->type . '.alias'); + $prefix = config('type.document.' . $this->document->type . '.route.prefix'); // if use module set module alias if (!empty($alias)) { @@ -438,10 +406,195 @@ class Transaction extends Model return !empty($value) ? $value : (!empty($this->document_id) ? $this->document_id : $this->id); } - public function getTemplatePathAttribute($value = null) + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() { - $type_for_theme = ($this->type == 'income') ? 'sales.revenues.print_default' : 'purchases.payments.print_default'; - return $value ?: $type_for_theme; + $actions = []; + + $prefix = 'transactions'; + + if (Str::contains($this->type, 'recurring')) { + $prefix = 'recurring-transactions'; + } + + try { + $actions[] = [ + 'title' => trans('general.show'), + 'icon' => 'visibility', + 'url' => route($prefix. '.show', $this->id), + 'permission' => 'read-banking-transactions', + 'attributes' => [ + 'id' => 'index-more-actions-show-' . $this->id, + ], + ]; + } catch (\Exception $e) {} + + try { + if (! $this->reconciled) { + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route($prefix. '.edit', $this->id), + 'permission' => 'update-banking-transactions', + 'attributes' => [ + 'id' => 'index-more-actions-edit-' . $this->id, + ], + ]; + } + } catch (\Exception $e) {} + + try { + if (empty($this->document_id)) { + $actions[] = [ + 'title' => trans('general.duplicate'), + 'icon' => 'file_copy', + 'url' => route($prefix. '.duplicate', $this->id), + 'permission' => 'create-banking-transactions', + 'attributes' => [ + 'id' => 'index-more-actions-duplicate-' . $this->id, + ], + ]; + } + } catch (\Exception $e) {} + + try { + if ($this->is_splittable && empty($this->document_id) && empty($this->recurring)) { + $conenct = [ + 'type' => 'button', + 'title' => trans('general.connect'), + 'icon' => 'sensors', + 'permission' => 'create-banking-transactions', + 'attributes' => [ + 'id' => 'index-transactions-more-actions-connect-' . $this->id, + ], + ]; + + $transaction = $this->load('account')->toJson(); + $currency = $this->currency->toJson(); + + if ($this->contact->exists) { + $document = $this->contact->invoices()->notPaid()->where('currency_code', $this->currency_code)->with(['media', 'totals', 'transactions'])->get()->toJson(); + + $conenct['attributes']['@click'] = 'onConnect()'; + } else { + $document = \App\Models\Document\Document::invoice()->notPaid()->where('currency_code', $this->currency_code)->with(['media', 'totals', 'transactions'])->get()->toJson(); + + $conenct['attributes']['@click'] = 'onConnect()'; + } + + $actions[] = $conenct; + + $actions[] = [ + 'type' => 'divider', + ]; + } + } catch (\Exception $e) {} + + try { + $actions[] = [ + 'title' => trans('general.print'), + 'icon' => 'print', + 'url' => route($prefix. '.print', $this->id), + 'permission' => 'read-banking-transactions', + 'attributes' => [ + 'id' => 'index-more-actions-print-' . $this->id, + 'target' => '_blank', + ], + ]; + } catch (\Exception $e) {} + + try { + $actions[] = [ + 'title' => trans('general.download_pdf'), + 'icon' => 'pdf', + 'url' => route($prefix. '.pdf', $this->id), + 'permission' => 'read-banking-transactions', + 'attributes' => [ + 'id' => 'index-more-actions-pdf-' . $this->id, + 'target' => '_blank', + ], + ]; + } catch (\Exception $e) {} + + if ($prefix != 'recurring-transactions') { + $actions[] = [ + 'type' => 'divider', + ]; + + try { + $actions[] = [ + 'type' => 'button', + 'title' => trans('general.share_link'), + 'icon' => 'share', + 'url' => route('modals.transactions.share.create', $this->id), + 'permission' => 'read-banking-transactions', + 'attributes' => [ + 'id' => 'index-more-actions-share-' . $this->id, + '@click' => 'onShareLink("' . route('modals.transactions.share.create', $this->id) . '")', + ], + ]; + } catch (\Exception $e) {} + + try { + $actions[] = [ + 'type' => 'button', + 'title' => trans('invoices.send_mail'), + 'icon' => 'email', + 'url' => route('modals.transactions.emails.create', $this->id), + 'permission' => 'read-banking-transactions', + 'attributes' => [ + 'id' => 'index-more-actions-send-email-' . $this->id, + '@click' => 'onEmail("' . route('modals.transactions.emails.create', $this->id) . '")', + ], + ]; + } catch (\Exception $e) {} + + $actions[] = [ + 'type' => 'divider', + ]; + + try { + if (! $this->reconciled) { + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'text' => ! empty($this->recurring) ? 'transactions' : 'recurring_template', + 'route' => $prefix. '.destroy', + 'permission' => 'delete-banking-transactions', + 'model' => $this, + ]; + } + } catch (\Exception $e) {} + } else { + try { + $actions[] = [ + 'title' => trans('general.end'), + 'icon' => 'block', + 'url' => route($prefix. '.end', $this->id), + 'permission' => 'update-banking-transactions', + ]; + } catch (\Exception $e) {} + } + + return $actions; + } + + /** + * Get the recurring status label. + * + * @return string + */ + public function getRecurringStatusLabelAttribute() + { + return match($this->recurring->status) { + 'active' => 'status-partial', + 'ended' => 'status-success', + default => 'status-success', + }; } /** diff --git a/app/Models/Banking/Transfer.php b/app/Models/Banking/Transfer.php index 5bdad7e75..1c927ceb4 100644 --- a/app/Models/Banking/Transfer.php +++ b/app/Models/Banking/Transfer.php @@ -224,6 +224,47 @@ class Transfer extends Model return $value ?: $this->expense_transaction->reference; } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + $actions[] = [ + 'title' => trans('general.show'), + 'icon' => 'visibility', + 'url' => route('transfers.show', $this->id), + 'permission' => 'read-banking-transfers', + ]; + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('transfers.edit', $this->id), + 'permission' => 'update-banking-transfers', + ]; + + $actions[] = [ + 'title' => trans('general.duplicate'), + 'icon' => 'file_copy', + 'url' => route('transfers.duplicate', $this->id), + 'permission' => 'update-banking-transfers', + ]; + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'transfers.destroy', + 'permission' => 'delete-banking-transfers', + 'model' => $this, + ]; + + return $actions; + } + /** * Create a new factory instance for the model. * diff --git a/app/Models/Common/Company.php b/app/Models/Common/Company.php index 5859076fa..334fd877d 100644 --- a/app/Models/Common/Company.php +++ b/app/Models/Common/Company.php @@ -2,6 +2,7 @@ namespace App\Models\Common; +use Akaunting\Sortable\Traits\Sortable; use App\Events\Common\CompanyForgettingCurrent; use App\Events\Common\CompanyForgotCurrent; use App\Events\Common\CompanyMadeCurrent; @@ -14,15 +15,15 @@ use App\Traits\Sources; use App\Traits\Tenants; use App\Traits\Transactions; use App\Utilities\Overrider; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model as Eloquent; use Illuminate\Database\Eloquent\SoftDeletes; -use Kyslik\ColumnSortable\Sortable; use Laratrust\Contracts\Ownable; use Lorisleiva\LaravelSearchString\Concerns\SearchString; class Company extends Eloquent implements Ownable { - use Contacts, Media, Owners, SearchString, SoftDeletes, Sortable, Sources, Tenants, Transactions; + use Contacts, HasFactory, Media, Owners, SearchString, SoftDeletes, Sortable, Sources, Tenants, Transactions; protected $table = 'companies'; @@ -48,33 +49,21 @@ class Company extends Eloquent implements Ownable * * @var array */ - public $sortable = ['name', 'domain', 'email', 'enabled', 'created_at']; + public $sortable = ['id', 'name', 'domain', 'email', 'enabled', 'created_at', 'tax_number', 'country', 'currency']; /** - * Create a new Eloquent model instance. + * Fill the model with an array of attributes. * * @param array $attributes - * @return void + * @return $this + * + * @throws \Illuminate\Database\Eloquent\MassAssignmentException */ - public function __construct(array $attributes = []) + public function fill(array $attributes) { $this->allAttributes = $attributes; - parent::__construct($attributes); - } - - /** - * Update the model in the database. - * - * @param array $attributes - * @param array $options - * @return bool - */ - public function update(array $attributes = [], array $options = []) - { - $this->allAttributes = $attributes; - - return parent::update($attributes, $options); + return parent::fill($attributes); } public static function boot() @@ -90,7 +79,7 @@ class Company extends Eloquent implements Ownable $model->unsetCommonSettingsFromAttributes(); }); } catch(\Throwable $e) { - + } } @@ -176,7 +165,7 @@ class Company extends Eloquent implements Ownable public function email_templates() { - return $this->hasMany('App\Models\Common\EmailTemplate'); + return $this->hasMany('App\Models\Setting\EmailTemplate'); } public function expense_transactions() @@ -298,7 +287,7 @@ class Company extends Eloquent implements Ownable list($group, $key) = explode('.', $setting->getAttribute('key')); // Load only general settings - if (!in_array($group, $groups)) { + if (! in_array($group, $groups)) { continue; } @@ -315,8 +304,13 @@ class Company extends Eloquent implements Ownable if ($this->getAttribute('logo') == '') { $this->setAttribute('logo', 'public/img/company.png'); } + + // Set default default company currency if empty + if ($this->getAttribute('currency') == '') { + $this->setAttribute('currency', config('setting.fallback.default.currency')); + } } catch(\Throwable $e) { - + } } @@ -334,7 +328,7 @@ class Company extends Eloquent implements Ownable list($group, $key) = explode('.', $setting->getAttribute('key')); // Load only general settings - if (!in_array($group, $groups)) { + if (! in_array($group, $groups)) { continue; } @@ -343,7 +337,7 @@ class Company extends Eloquent implements Ownable $this->offsetUnset('logo'); } catch(\Throwable $e) { - + } } @@ -430,6 +424,54 @@ class Company extends Eloquent implements Ownable ->select('companies.*'); } + /** + * Sort by company tax number + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @param $direction + * + * @return \Illuminate\Database\Eloquent\Builder + */ + public function taxNumberSortable($query, $direction) + { + return $query->join('settings', 'companies.id', '=', 'settings.company_id') + ->where('key', 'company.tax_number') + ->orderBy('value', $direction) + ->select('companies.*'); + } + + /** + * Sort by company country + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @param $direction + * + * @return \Illuminate\Database\Eloquent\Builder + */ + public function countrySortable($query, $direction) + { + return $query->join('settings', 'companies.id', '=', 'settings.company_id') + ->where('key', 'company.country') + ->orderBy('value', $direction) + ->select('companies.*'); + } + + /** + * Sort by company currency + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @param $direction + * + * @return \Illuminate\Database\Eloquent\Builder + */ + public function currencySortable($query, $direction) + { + return $query->join('settings', 'companies.id', '=', 'settings.company_id') + ->where('key', 'default.currency') + ->orderBy('value', $direction) + ->select('companies.*'); + } + /** * Scope autocomplete. * @@ -489,6 +531,42 @@ class Company extends Eloquent implements Ownable return implode(', ', $location); } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + if ($this->enabled) { + $actions[] = [ + 'title' => trans('general.switch'), + 'icon' => 'settings_ethernet', + 'url' => route('companies.switch', $this->id), + 'permission' => 'read-common-companies', + ]; + } + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('companies.edit', $this->id), + 'permission' => 'update-common-companies', + ]; + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'companies.destroy', + 'permission' => 'delete-common-companies', + 'model' => $this, + ]; + + return $actions; + } + public function makeCurrent($force = false) { if (!$force && $this->isCurrent()) { @@ -502,9 +580,6 @@ class Company extends Eloquent implements Ownable // Bind to container app()->instance(static::class, $this); - // Set session for backward compatibility @deprecated - //session(['company_id' => $this->id]); - // Load settings setting()->setExtraColumns(['company_id' => $this->id]); setting()->forgetAll(); @@ -521,7 +596,7 @@ class Company extends Eloquent implements Ownable public function isCurrent() { - return optional(static::getCurrent())->id === $this->id; + return static::getCurrent()?->id === $this->id; } public function isNotCurrent() @@ -551,9 +626,6 @@ class Company extends Eloquent implements Ownable // Remove from container app()->forgetInstance(static::class); - // Unset session for backward compatibility @deprecated - //session()->forget('company_id'); - // Remove settings setting()->forgetAll(); @@ -590,4 +662,14 @@ class Company extends Eloquent implements Ownable return $this->created_by; } + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return \Database\Factories\Company::new(); + } } diff --git a/app/Models/Common/Contact.php b/app/Models/Common/Contact.php index 75990d1d6..9d1453ee7 100644 --- a/app/Models/Common/Contact.php +++ b/app/Models/Common/Contact.php @@ -2,21 +2,28 @@ namespace App\Models\Common; +use App\Traits\Media; use App\Abstracts\Model; -use App\Models\Document\Document; -use App\Scopes\Contact as Scope; use App\Traits\Contacts; use App\Traits\Currencies; -use App\Traits\Media; use App\Traits\Transactions; +use App\Scopes\Contact as Scope; +use App\Models\Document\Document; +use App\Utilities\Date; +use App\Utilities\Str; use Bkwld\Cloner\Cloneable; -use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Notifications\Notifiable; +use Illuminate\Database\Eloquent\Factories\HasFactory; + class Contact extends Model { use Cloneable, Contacts, Currencies, HasFactory, Media, Notifiable, Transactions; + public const CUSTOMER_TYPE = 'customer'; + public const VENDOR_TYPE = 'vendor'; + public const EMPLOYEE_TYPE = 'employee'; + protected $table = 'contacts'; /** @@ -169,6 +176,11 @@ class Contact extends Model $this->user_id = null; } + public function getInitialsAttribute($value) + { + return Str::getInitials($this->name); + } + /** * Get the current balance. * @@ -191,7 +203,35 @@ class Contact extends Model $collection = $this->isCustomer() ? 'invoices' : 'bills'; - $this->$collection->whereNotIn('status', ['draft', 'cancelled', 'paid'])->each(function ($item) use (&$amount) { + $this->$collection->whereIn('status', ['sent', 'received', 'viewed', 'partial'])->each(function ($item) use (&$amount) { + $amount += $this->convertToDefault($item->amount_due, $item->currency_code, $item->currency_rate); + }); + + return $amount; + } + + public function getOpenAttribute() + { + $amount = 0; + $today = Date::today()->toDateString(); + + $collection = $this->isCustomer() ? 'invoices' : 'bills'; + + $this->$collection->whereIn('status', ['sent', 'received', 'viewed', 'partial'])->where('due_at', '>=', $today)->each(function ($item) use (&$amount) { + $amount += $this->convertToDefault($item->amount_due, $item->currency_code, $item->currency_rate); + }); + + return $amount; + } + + public function getOverdueAttribute() + { + $amount = 0; + $today = Date::today()->toDateString(); + + $collection = $this->isCustomer() ? 'invoices' : 'bills'; + + $this->$collection->whereIn('status', ['sent', 'received', 'viewed', 'partial'])->where('due_at', '<', $today)->each(function ($item) use (&$amount) { $amount += $this->convertToDefault($item->amount_due, $item->currency_code, $item->currency_rate); }); @@ -221,6 +261,71 @@ class Contact extends Model return implode(', ', $location); } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + $group = config('type.contact.' . $this->type . '.group'); + $prefix = config('type.contact.' . $this->type . '.route.prefix'); + $permission_prefix = config('type.contact.' . $this->type . '.permission.prefix'); + $translation_prefix = config('type.contact.' . $this->type . '.translation.prefix'); + + if (empty($prefix)) { + if (in_array($this->type, (array) $this->getCustomerTypes())) { + $prefix = config('type.contact.customer.route.prefix'); + } elseif (in_array($this->type, (array) $this->getVendorTypes())) { + $prefix = config('type.contact.vendor.route.prefix'); + } else { + return $actions; + } + } + + try { + $actions[] = [ + 'title' => trans('general.show'), + 'icon' => 'visibility', + 'url' => route($prefix . '.show', $this->id), + 'permission' => 'read-' . $group . '-' . $permission_prefix, + ]; + } catch (\Exception $e) {} + + try { + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route($prefix . '.edit', $this->id), + 'permission' => 'update-' . $group . '-' . $permission_prefix, + ]; + } catch (\Exception $e) {} + + try { + $actions[] = [ + 'title' => trans('general.duplicate'), + 'icon' => 'file_copy', + 'url' => route($prefix . '.duplicate', $this->id), + 'permission' => 'create-' . $group . '-' . $permission_prefix, + ]; + } catch (\Exception $e) {} + + try { + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'title' => $translation_prefix, + 'route' => $prefix . '.destroy', + 'permission' => 'delete-' . $group . '-' . $permission_prefix, + 'model' => $this, + ]; + } catch (\Exception $e) {} + + return $actions; + } + /** * Create a new factory instance for the model. * diff --git a/app/Models/Common/Dashboard.php b/app/Models/Common/Dashboard.php index cbfb867af..87518173a 100644 --- a/app/Models/Common/Dashboard.php +++ b/app/Models/Common/Dashboard.php @@ -114,6 +114,42 @@ class Dashboard extends Model return $alias; } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + if ($this->enabled) { + $actions[] = [ + 'title' => trans('general.switch'), + 'icon' => 'settings_ethernet', + 'url' => route('dashboards.switch', $this->id), + 'permission' => 'read-common-dashboards', + ]; + } + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('dashboards.edit', $this->id), + 'permission' => 'update-common-dashboards', + ]; + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'dashboards.destroy', + 'permission' => 'delete-common-dashboards', + 'model' => $this, + ]; + + return $actions; + } + /** * Create a new factory instance for the model. * diff --git a/app/Models/Common/EmailTemplate.php b/app/Models/Common/EmailTemplate.php deleted file mode 100644 index 3391becf8..000000000 --- a/app/Models/Common/EmailTemplate.php +++ /dev/null @@ -1,44 +0,0 @@ -where('alias', $alias); - } - - /** - * Scope to only include email templates of a given module alias (class). - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param string $alias - * @return \Illuminate\Database\Eloquent\Builder - */ - public function scopeModuleAlias($query, $alias) - { - $class = ($alias == 'core') ? 'App\\\\' : 'Modules\\\\' . Str::studly($alias) . '\\\\'; - - return $query->where('class', 'like', $class . '%'); - } -} diff --git a/app/Models/Common/Item.php b/app/Models/Common/Item.php index 33288f14f..2599e5e33 100644 --- a/app/Models/Common/Item.php +++ b/app/Models/Common/Item.php @@ -27,7 +27,7 @@ class Item extends Model * * @var array */ - protected $fillable = ['company_id', 'name', 'description', 'sale_price', 'purchase_price', 'category_id', 'enabled', 'created_from', 'created_by']; + protected $fillable = ['company_id', 'type', 'name', 'description', 'sale_price', 'purchase_price', 'category_id', 'enabled', 'created_from', 'created_by']; /** * The attributes that should be cast. @@ -45,7 +45,7 @@ class Item extends Model * * @var array */ - protected $sortable = ['name', 'category', 'sale_price', 'purchase_price', 'enabled']; + protected $sortable = ['name', 'category.name', 'sale_price', 'purchase_price', 'enabled']; /** * @var array @@ -82,6 +82,11 @@ class Item extends Model return $query->where('name', '=', $name); } + public function scopeBilling($query, $billing) + { + return $query->where($billing . '_price', '=', null); + } + /** * Get the item id. * @@ -149,6 +154,40 @@ class Item extends Model return $this->getMedia('picture')->last(); } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('items.edit', $this->id), + 'permission' => 'update-common-items', + ]; + + $actions[] = [ + 'title' => trans('general.duplicate'), + 'icon' => 'file_copy', + 'url' => route('items.duplicate', $this->id), + 'permission' => 'create-common-items', + ]; + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'items.destroy', + 'permission' => 'delete-common-items', + 'model' => $this, + ]; + + return $actions; + } + /** * Create a new factory instance for the model. * diff --git a/app/Models/Common/Recurring.php b/app/Models/Common/Recurring.php index 76f49af25..01b981afa 100644 --- a/app/Models/Common/Recurring.php +++ b/app/Models/Common/Recurring.php @@ -4,11 +4,16 @@ namespace App\Models\Common; use App\Abstracts\Model; use App\Traits\Recurring as RecurringTrait; +use Illuminate\Database\Eloquent\Builder; class Recurring extends Model { use RecurringTrait; + public const ACTIVE_STATUS = 'active'; + public const END_STATUS = 'ended'; + public const COMPLETE_STATUS = 'completed'; + protected $table = 'recurring'; /** @@ -16,7 +21,30 @@ class Recurring extends Model * * @var array */ - protected $fillable = ['company_id', 'recurable_id', 'recurable_type', 'frequency', 'interval', 'started_at', 'count', 'created_from', 'created_by']; + protected $fillable = [ + 'company_id', + 'recurable_id', + 'recurable_type', + 'frequency', + 'interval', + 'started_at', + 'status', + 'limit_by', + 'limit_count', + 'limit_date', + 'auto_send', + 'created_from', + 'created_by', + ]; + + /** + * The attributes that should be cast. + * + * @var array + */ + protected $casts = [ + 'auto_send' => 'boolean', + ]; /** * Get all of the owning recurable models. @@ -25,4 +53,19 @@ class Recurring extends Model { return $this->morphTo(); } + + public function scopeActive(Builder $query): Builder + { + return $query->where($this->qualifyColumn('status'), '=', static::ACTIVE_STATUS); + } + + public function scopeEnded(Builder $query): Builder + { + return $query->where($this->qualifyColumn('status'), '=', static::END_STATUS); + } + + public function scopeCompleted(Builder $query): Builder + { + return $query->where($this->qualifyColumn('status'), '=', static::COMPLETE_STATUS); + } } diff --git a/app/Models/Document/Document.php b/app/Models/Document/Document.php index 522fc0a3d..e818d8c83 100644 --- a/app/Models/Document/Document.php +++ b/app/Models/Document/Document.php @@ -22,7 +22,9 @@ class Document extends Model use HasFactory, Documents, Cloneable, Currencies, DateTime, Media, Recurring; public const INVOICE_TYPE = 'invoice'; + public const INVOICE_RECURRING_TYPE = 'invoice-recurring'; public const BILL_TYPE = 'bill'; + public const BILL_RECURRING_TYPE = 'bill-recurring'; protected $table = 'documents'; @@ -94,6 +96,11 @@ class Document extends Model return $this->belongsTo('App\Models\Setting\Category')->withDefault(['name' => trans('general.na')]); } + public function children() + { + return $this->hasMany('App\Models\Document\Document', 'parent_id'); + } + public function contact() { return $this->belongsTo('App\Models\Common\Contact')->withDefault(['name' => trans('general.na')]); @@ -119,6 +126,19 @@ class Document extends Model return $this->hasMany('App\Models\Document\DocumentHistory', 'document_id'); } + public function last_history() + { + return $this->hasOne('App\Models\Document\DocumentHistory', 'document_id')->latest()->withDefault([ + 'description' => trans('messages.success.added', ['type' => $this->document_number]), + 'created_at' => $this->created_at + ]); + } + + public function parent() + { + return $this->belongsTo('App\Models\Document\Document', 'parent_id'); + } + public function payments() { return $this->transactions(); @@ -144,56 +164,66 @@ class Document extends Model return $this->totals()->orderBy('sort_order'); } - public function parent() - { - return $this->belongsTo('App\Models\Document\Document', 'parent_id'); - } - - public function scopeLatest(Builder $query) + public function scopeLatest(Builder $query): Builder { return $query->orderBy('issued_at', 'desc'); } - public function scopeNumber(Builder $query, string $number) + public function scopeNumber(Builder $query, string $number): Builder { return $query->where('document_number', '=', $number); } - public function scopeDue($query, $date) + public function scopeDue(Builder $query, $date): Builder { return $query->whereDate('due_at', '=', $date); } - public function scopeAccrued($query) + public function scopeAccrued(Builder $query): Builder { return $query->whereNotIn('status', ['draft', 'cancelled']); } - public function scopePaid($query) + public function scopePaid(Builder $query): Builder { return $query->where('status', '=', 'paid'); } - public function scopeNotPaid($query) + public function scopeNotPaid(Builder $query): Builder { return $query->where('status', '<>', 'paid'); } - public function scopeType(Builder $query, string $type) + public function scopeFuture(Builder $query): Builder + { + return $query->whereIn('status', $this->getDocumentStatusesForFuture()); + } + + public function scopeType(Builder $query, string $type): Builder { return $query->where($this->qualifyColumn('type'), '=', $type); } - public function scopeInvoice(Builder $query) + public function scopeInvoice(Builder $query): Builder { return $query->where($this->qualifyColumn('type'), '=', self::INVOICE_TYPE); } - public function scopeBill(Builder $query) + public function scopeInvoiceRecurring(Builder $query): Builder + { + return $query->where($this->qualifyColumn('type'), '=', self::INVOICE_RECURRING_TYPE); + } + + public function scopeBill(Builder $query): Builder { return $query->where($this->qualifyColumn('type'), '=', self::BILL_TYPE); } + public function scopeBillRecurring(Builder $query): Builder + { + return $query->where($this->qualifyColumn('type'), '=', self::BILL_RECURRING_TYPE); + } + /** * @inheritDoc * @@ -202,8 +232,14 @@ class Document extends Model */ public function onCloning($src, $child = null) { + if (app()->has(\App\Console\Commands\RecurringCheck::class)) { + $type = $this->getRealTypeOfRecurringDocument($src->type); + } else { + $type = $src->type; + } + $this->status = 'draft'; - $this->document_number = $this->getNextDocumentNumber($src->type); + $this->document_number = $this->getNextDocumentNumber($type); } public function getSentAtAttribute(string $value = null) @@ -354,29 +390,29 @@ class Document extends Model */ public function getStatusLabelAttribute() { - switch ($this->status) { - case 'paid': - $label = 'success'; - break; - case 'partial': - $label = 'info'; - break; - case 'sent': - case 'received': - $label = 'danger'; - break; - case 'viewed': - $label = 'warning'; - break; - case 'cancelled': - $label = 'dark'; - break; - default: - $label = 'primary'; - break; - } + return match($this->status) { + 'paid' => 'status-success', + 'partial' => 'status-partial', + 'sent' => 'status-danger', + 'received' => 'status-danger', + 'viewed' => 'status-sent', + 'cancelled' => 'status-canceled', + default => 'status-draft', + }; + } - return $label; + /** + * Get the recurring status label. + * + * @return string + */ + public function getRecurringStatusLabelAttribute() + { + return match($this->recurring->status) { + 'active' => 'status-partial', + 'ended' => 'status-success', + default => 'status-success', + }; } /** @@ -429,6 +465,167 @@ class Document extends Model return implode(', ', $location); } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + $group = config('type.document.' . $this->type . '.group'); + $prefix = config('type.document.' . $this->type . '.route.prefix'); + $permission_prefix = config('type.document.' . $this->type . '.permission.prefix'); + $translation_prefix = config('type.document.' . $this->type . '.translation.prefix'); + + if (empty($prefix)) { + return $actions; + } + + try { + $actions[] = [ + 'title' => trans('general.show'), + 'icon' => 'visibility', + 'url' => route($prefix . '.show', $this->id), + 'permission' => 'read-' . $group . '-' . $permission_prefix, + 'attributes' => [ + 'id' => 'index-more-actions-show-' . $this->id, + ], + ]; + } catch (\Exception $e) {} + + try { + if (! $this->reconciled) { + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route($prefix . '.edit', $this->id), + 'permission' => 'update-' . $group . '-' . $permission_prefix, + 'attributes' => [ + 'id' => 'index-more-actions-edit-' . $this->id, + ], + ]; + } + } catch (\Exception $e) {} + + try { + $actions[] = [ + 'title' => trans('general.duplicate'), + 'icon' => 'file_copy', + 'url' => route($prefix . '.duplicate', $this->id), + 'permission' => 'create-' . $group . '-' . $permission_prefix, + 'attributes' => [ + 'id' => 'index-more-actions-duplicate-' . $this->id, + ], + ]; + } catch (\Exception $e) {} + + try { + $actions[] = [ + 'title' => trans('general.print'), + 'icon' => 'print', + 'url' => route($prefix . '.print', $this->id), + 'permission' => 'read-' . $group . '-' . $permission_prefix, + 'attributes' => [ + 'id' => 'index-more-actions-print-' . $this->id, + 'target' => '_blank', + ], + ]; + } catch (\Exception $e) {} + + try { + $actions[] = [ + 'title' => trans('general.download_pdf'), + 'icon' => 'pdf', + 'url' => route($prefix . '.pdf', $this->id), + 'permission' => 'read-' . $group . '-' . $permission_prefix, + 'attributes' => [ + 'id' => 'index-more-actions-pdf-' . $this->id, + 'target' => '_blank', + ], + ]; + } catch (\Exception $e) {} + + if (!str_contains($this->type, 'recurring')) { + $actions[] = [ + 'type' => 'divider', + ]; + + try { + $actions[] = [ + 'type' => 'button', + 'title' => trans('general.share_link'), + 'icon' => 'share', + 'url' => route('modals.'. $prefix . '.share.create', $this->id), + 'permission' => 'read-' . $group . '-' . $permission_prefix, + 'attributes' => [ + 'id' => 'index-more-actions-share-link-' . $this->id, + '@click' => 'onShareLink("' . route('modals.'. $prefix . '.share.create', $this->id) . '")', + ], + ]; + } catch (\Exception $e) {} + + try { + if ($this->type == 'invoice') { + $actions[] = [ + 'type' => 'button', + 'title' => trans('invoices.send_mail'), + 'icon' => 'email', + 'url' => route('modals.'. $prefix . '.emails.create', $this->id), + 'permission' => 'read-' . $group . '-' . $permission_prefix, + 'attributes' => [ + 'id' => 'index-more-actions-send-email-' . $this->id, + '@click' => 'onEmail("' . route('modals.'. $prefix . '.emails.create', $this->id) . '")', + ], + ]; + } + } catch (\Exception $e) {} + + $actions[] = [ + 'type' => 'divider', + ]; + + try { + $actions[] = [ + 'title' => trans('general.cancel'), + 'icon' => 'cancel', + 'url' => route($prefix . '.cancelled', $this->id), + 'permission' => 'update-' . $group . '-' . $permission_prefix, + 'attributes' => [ + 'id' => 'index-more-actions-cancel-' . $this->id, + ], + ]; + } catch (\Exception $e) {} + + $actions[] = [ + 'type' => 'divider', + ]; + + try { + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'title' => $translation_prefix, + 'route' => $prefix . '.destroy', + 'permission' => 'delete-' . $group . '-' . $permission_prefix, + 'model' => $this, + ]; + } catch (\Exception $e) {} + } else { + try { + $actions[] = [ + 'title' => trans('general.end'), + 'icon' => 'block', + 'url' => route($prefix. '.end', $this->id), + 'permission' => 'update-' . $group . '-' . $permission_prefix, + ]; + } catch (\Exception $e) {} + } + + return $actions; + } + protected static function newFactory(): Factory { return DocumentFactory::new(); diff --git a/app/Models/Setting/Category.php b/app/Models/Setting/Category.php index 3743645a1..c3a85e64e 100644 --- a/app/Models/Setting/Category.php +++ b/app/Models/Setting/Category.php @@ -3,14 +3,24 @@ namespace App\Models\Setting; use App\Abstracts\Model; +use App\Builders\Category as Builder; use App\Models\Document\Document; +use App\Relations\HasMany\Category as HasMany; +use App\Scopes\Category as Scope; use App\Traits\Transactions; +use Illuminate\Database\Eloquent\Builder as EloquentBuilder; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model as EloquentModel; class Category extends Model { use HasFactory, Transactions; + public const INCOME_TYPE = 'income'; + public const EXPENSE_TYPE = 'expense'; + public const ITEM_TYPE = 'item'; + public const OTHER_TYPE = 'other'; + protected $table = 'categories'; /** @@ -18,7 +28,7 @@ class Category extends Model * * @var array */ - protected $fillable = ['company_id', 'name', 'type', 'color', 'enabled', 'created_from', 'created_by']; + protected $fillable = ['company_id', 'name', 'type', 'color', 'enabled', 'created_from', 'created_by', 'parent_id']; /** * The attributes that should be cast. @@ -36,6 +46,65 @@ class Category extends Model */ public $sortable = ['name', 'type', 'enabled']; + /** + * The "booted" method of the model. + * + * @return void + */ + protected static function booted() + { + static::addGlobalScope(new Scope); + } + + /** + * Create a new Eloquent query builder for the model. + * + * @param \Illuminate\Database\Query\Builder $query + * @return \App\Builders\Category + */ + public function newEloquentBuilder($query) + { + return new Builder($query); + } + + /** + * Instantiate a new HasMany relationship. + * + * @param EloquentBuilder $query + * @param EloquentModel $parent + * @param string $foreignKey + * @param string $localKey + * @return HasMany + */ + protected function newHasMany(EloquentBuilder $query, EloquentModel $parent, $foreignKey, $localKey) + { + return new HasMany($query, $parent, $foreignKey, $localKey); + } + + /** + * Retrieve the model for a bound value. + * + * @param mixed $value + * @param string|null $field + * @return \Illuminate\Database\Eloquent\Model|null + */ + public function resolveRouteBinding($value, $field = null) + { + return $this->resolveRouteBindingQuery($this, $value, $field) + ->withoutGlobalScope(Scope::class) + ->first(); + } + + public function categories() + { + return $this->hasMany(Category::class, 'parent_id')->withSubCategory(); + } + + public function sub_categories() + { + return $this->hasMany(Category::class, 'parent_id')->withSubCategory()->with('categories')->orderBy('name'); + } + public function documents() { return $this->hasMany('App\Models\Document\Document'); @@ -147,6 +216,50 @@ class Category extends Model return (int) $query->other()->pluck('id')->first(); } + /** + * Scope gets only parent categories. + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @return \Illuminate\Database\Eloquent\Builder + */ + public function scopeWithSubCategory($query) + { + return $query->withoutGlobalScope(new Scope); + } + + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'create', + 'url' => route('categories.edit', $this->id), + 'permission' => 'update-settings-categories', + ]; + + $transfer_id = Category::transfer(); + + if ($this->id == $transfer_id) { + return $actions; + } + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'categories.destroy', + 'permission' => 'delete-settings-categories', + 'model' => $this, + ]; + + return $actions; + } + /** * Create a new factory instance for the model. * diff --git a/app/Models/Setting/Currency.php b/app/Models/Setting/Currency.php index c037bab3c..18aa2cde1 100644 --- a/app/Models/Setting/Currency.php +++ b/app/Models/Setting/Currency.php @@ -101,6 +101,18 @@ class Currency extends Model return $this->contacts()->whereIn('type', (array) $this->getVendorTypes()); } + /** + * Scope currency by code. + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @param mixed $code + * @return \Illuminate\Database\Eloquent\Builder + */ + public function scopeCode($query, $code) + { + return $query->where($this->qualifyColumn('code'), $code); + } + /** * Get the current precision. * @@ -172,15 +184,30 @@ class Currency extends Model } /** - * Scope currency by code. + * Get the line actions. * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param mixed $code - * @return \Illuminate\Database\Eloquent\Builder + * @return array */ - public function scopeCode($query, $code) + public function getLineActionsAttribute() { - return $query->where($this->qualifyColumn('code'), $code); + $actions = []; + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('currencies.edit', $this->id), + 'permission' => 'update-settings-currencies', + ]; + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'currencies.destroy', + 'permission' => 'delete-settings-currencies', + 'model' => $this, + ]; + + return $actions; } /** diff --git a/app/Models/Setting/EmailTemplate.php b/app/Models/Setting/EmailTemplate.php new file mode 100644 index 000000000..8907ead78 --- /dev/null +++ b/app/Models/Setting/EmailTemplate.php @@ -0,0 +1,71 @@ +name); + } + + public function getGroupAttribute() + { + if (Str::startsWith($this->alias, 'invoice_')) { + $group = 'general.invoices'; + } elseif (Str::startsWith($this->alias, 'bill_')) { + $group = 'general.bills'; + } elseif (Str::startsWith($this->alias, 'payment_')) { + $group = 'general.payments'; + } else { + $group = 'general.others'; + } + + return $group; + } + + /** + * Scope to only include email templates of a given alias. + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @param mixed $alias + * @return \Illuminate\Database\Eloquent\Builder + */ + public function scopeAlias($query, $alias) + { + return $query->where('alias', $alias); + } + + /** + * Scope to only include email templates of a given module alias (class). + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @param string $alias + * @return \Illuminate\Database\Eloquent\Builder + */ + public function scopeModuleAlias($query, $alias) + { + $class = ($alias == 'core') ? 'App\\\\' : 'Modules\\\\' . Str::studly($alias) . '\\\\'; + + return $query->where('class', 'like', $class . '%'); + } +} diff --git a/app/Models/Setting/Tax.php b/app/Models/Setting/Tax.php index 2a341120a..5eb66775d 100644 --- a/app/Models/Setting/Tax.php +++ b/app/Models/Setting/Tax.php @@ -45,7 +45,7 @@ class Tax extends Model public function items() { - return $this->hasMany('App\Models\Common\Item'); + return $this->hasMany('App\Models\Common\ItemTax'); } public function document_items() @@ -136,6 +136,33 @@ class Tax extends Model return $title; } + /** + * Get the line actions. + * + * @return array + */ + public function getLineActionsAttribute() + { + $actions = []; + + $actions[] = [ + 'title' => trans('general.edit'), + 'icon' => 'edit', + 'url' => route('taxes.edit', $this->id), + 'permission' => 'update-settings-taxes', + ]; + + $actions[] = [ + 'type' => 'delete', + 'icon' => 'delete', + 'route' => 'taxes.destroy', + 'permission' => 'delete-settings-taxes', + 'model' => $this, + ]; + + return $actions; + } + /** * Create a new factory instance for the model. * diff --git a/app/Notifications/Auth/Invitation.php b/app/Notifications/Auth/Invitation.php new file mode 100644 index 000000000..d245ce652 --- /dev/null +++ b/app/Notifications/Auth/Invitation.php @@ -0,0 +1,52 @@ +invitation = $invitation; + } + + /** + * Get the notification's channels. + * + * @param mixed $notifiable + * @return array|string + */ + public function via($notifiable) + { + return ['mail']; + } + + /** + * Build the mail representation of the notification. + * + * @param mixed $notifiable + * @return \Illuminate\Notifications\Messages\MailMessage + */ + public function toMail($notifiable) + { + return (new MailMessage) + ->line(trans('auth.invitation.message_1')) + ->action(trans('auth.invitation.button'), route('register', $this->invitation->token)) + ->line(trans('auth.invitation.message_2')); + } +} diff --git a/app/Notifications/Banking/Transaction.php b/app/Notifications/Banking/Transaction.php new file mode 100644 index 000000000..b86399c5c --- /dev/null +++ b/app/Notifications/Banking/Transaction.php @@ -0,0 +1,121 @@ +transaction = $transaction; + $this->template = EmailTemplate::alias($template_alias)->first(); + $this->attach_pdf = $attach_pdf; + } + + /** + * Get the mail representation of the notification. + * + * @param mixed $notifiable + */ + public function toMail($notifiable): MailMessage + { + $message = $this->initMailMessage(); + + // Attach the PDF file + if ($this->attach_pdf) { + $message->attach($this->storeTransactionPdfAndGetPath($this->transaction), [ + 'mime' => 'application/pdf', + ]); + } + + return $message; + } + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable): array + { + return [ + 'template_alias' => $this->template->alias, + 'title' => trans('notifications.menu.' . $this->template->alias . '.title'), + 'description' => trans('notifications.menu.' . $this->template->alias . '.description', $this->getTagsBinding()), + 'transaction_id' => $this->transaction->id, + 'contact_name' => $this->transaction->contact->name, + 'amount' => $this->transaction->amount, + 'transaction_date' => company_date($this->transaction->paid_at), + ]; + } + + public function getTags(): array + { + return [ + '{payment_amount}', + '{payment_date}', + '{payment_guest_link}', + '{payment_admin_link}', + '{payment_portal_link}', + '{contact_name}', + '{company_name}', + '{company_email}', + '{company_tax_number}', + '{company_phone}', + '{company_address}', + ]; + } + + public function getTagsReplacement(): array + { + return [ + money($this->transaction->amount, $this->transaction->currency_code, true), + company_date($this->transaction->paid_at), + URL::signedRoute('signed.payments.show', [$this->transaction->id]), + route('transactions.show', $this->transaction->id), + route('portal.payments.show', $this->transaction->id), + $this->transaction->contact->name, + $this->transaction->company->name, + $this->transaction->company->email, + $this->transaction->company->tax_number, + $this->transaction->company->phone, + nl2br(trim($this->transaction->company->address)), + ]; + } +} diff --git a/app/Notifications/Common/ExportCompleted.php b/app/Notifications/Common/ExportCompleted.php index 5fbaeb9a0..5a7dd07f0 100644 --- a/app/Notifications/Common/ExportCompleted.php +++ b/app/Notifications/Common/ExportCompleted.php @@ -51,7 +51,7 @@ class ExportCompleted extends Notification implements ShouldQueue public function toMail($notifiable) { return (new MailMessage) - ->subject(trans('notifications.export.completed.subject')) + ->subject(trans('notifications.export.completed.title')) ->line(trans('notifications.export.completed.description')) ->action(trans('general.download'), $this->download_url); } @@ -65,6 +65,11 @@ class ExportCompleted extends Notification implements ShouldQueue public function toArray($notifiable) { return [ + 'title' => trans('notifications.menu.export_completed.title'), + 'description' => trans('notifications.menu.export_completed.description', [ + 'type' => $this->translation, + 'url' => $this->download_url, + ]), 'translation' => $this->translation, 'file_name' => $this->file_name, 'download_url' => $this->download_url, diff --git a/app/Notifications/Common/ExportFailed.php b/app/Notifications/Common/ExportFailed.php index 64f6e2060..13a9563e5 100644 --- a/app/Notifications/Common/ExportFailed.php +++ b/app/Notifications/Common/ExportFailed.php @@ -50,7 +50,7 @@ class ExportFailed extends Notification implements ShouldQueue public function toMail($notifiable) { return (new MailMessage) - ->subject(trans('notifications.export.failed.subject')) + ->subject(trans('notifications.export.failed.title')) ->line(trans('notifications.export.failed.description')) ->line($this->message); } @@ -64,6 +64,10 @@ class ExportFailed extends Notification implements ShouldQueue public function toArray($notifiable) { return [ + 'title' => trans('notifications.menu.export_failed.title'), + 'description' => trans('notifications.menu.export_failed.description', [ + 'issues' => $this->message, + ]), 'message' => $this->message, ]; } diff --git a/app/Notifications/Common/ImportCompleted.php b/app/Notifications/Common/ImportCompleted.php index b667a6830..155c547f9 100644 --- a/app/Notifications/Common/ImportCompleted.php +++ b/app/Notifications/Common/ImportCompleted.php @@ -48,7 +48,7 @@ class ImportCompleted extends Notification implements ShouldQueue $dashboard_url = route('dashboard', ['company_id' => company_id()]); return (new MailMessage) - ->subject(trans('notifications.import.completed.subject')) + ->subject(trans('notifications.import.completed.title')) ->line(trans('notifications.import.completed.description')) ->action(trans_choice('general.dashboards', 1), $dashboard_url); } @@ -62,6 +62,11 @@ class ImportCompleted extends Notification implements ShouldQueue public function toArray($notifiable) { return [ + 'title' => trans('notifications.menu.import_completed.title'), + 'description' => trans('notifications.menu.import_completed.description', [ + 'type' => $this->translation, + 'count' => $this->total_rows, + ]), 'translation' => $this->translation, 'total_rows' => $this->total_rows, ]; diff --git a/app/Notifications/Common/ImportFailed.php b/app/Notifications/Common/ImportFailed.php index b4aec313f..1b51c8499 100644 --- a/app/Notifications/Common/ImportFailed.php +++ b/app/Notifications/Common/ImportFailed.php @@ -50,7 +50,7 @@ class ImportFailed extends Notification implements ShouldQueue public function toMail($notifiable) { $message = (new MailMessage) - ->subject(trans('notifications.import.failed.subject')) + ->subject(trans('notifications.import.failed.title')) ->line(trans('notifications.import.failed.description')); foreach ($this->errors as $error) { @@ -69,6 +69,10 @@ class ImportFailed extends Notification implements ShouldQueue public function toArray($notifiable) { return [ + 'title' => trans('notifications.menu.import_failed.title'), + 'description' => trans('notifications.menu.import_failed.description', [ + 'issues' => $this->errors, + ]), 'errors' => $this->errors, ]; } diff --git a/app/Notifications/Install/UpdateFailed.php b/app/Notifications/Install/UpdateFailed.php index 5f5ff2061..5506bd82d 100644 --- a/app/Notifications/Install/UpdateFailed.php +++ b/app/Notifications/Install/UpdateFailed.php @@ -62,11 +62,11 @@ class UpdateFailed extends Notification */ public function toMail($notifiable) { - $subject = trans('notifications.update.mail.subject', [ + $subject = trans('notifications.update.mail.title', [ 'domain' => request()->getHttpHost(), ]); - $message = trans('notifications.update.mail.message', [ + $message = trans('notifications.update.mail.description', [ 'alias' => $this->getAliasName(), 'current_version' => $this->event->old, 'new_version' => $this->event->new, @@ -88,7 +88,7 @@ class UpdateFailed extends Notification */ public function toSlack($notifiable) { - $message = trans('notifications.update.slack.message', [ + $message = trans('notifications.update.slack.description', [ 'domain' => request()->getHttpHost(), ]); diff --git a/app/Notifications/Portal/PaymentReceived.php b/app/Notifications/Portal/PaymentReceived.php index 60ea927b4..247865de1 100644 --- a/app/Notifications/Portal/PaymentReceived.php +++ b/app/Notifications/Portal/PaymentReceived.php @@ -3,9 +3,13 @@ namespace App\Notifications\Portal; use App\Abstracts\Notification; -use App\Models\Common\EmailTemplate; +use App\Models\Banking\Transaction; +use App\Models\Setting\EmailTemplate; +use App\Models\Document\Document; use App\Traits\Documents; +use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Support\Facades\URL; +use Illuminate\Support\Str; class PaymentReceived extends Notification { @@ -21,14 +25,14 @@ class PaymentReceived extends Notification /** * The payment transaction. * - * @var string + * @var Transaction */ public $transaction; /** * The email template. * - * @var \App\Models\Common\EmailTemplate + * @var EmailTemplate */ public $template; @@ -41,13 +45,8 @@ class PaymentReceived extends Notification /** * Create a notification instance. - * - * @param object $invoice - * @param object $transaction - * @param object $template_alias - * @param object $attach_pdf */ - public function __construct($invoice = null, $transaction = null, $template_alias = null, $attach_pdf = false) + public function __construct(Document $invoice = null, Transaction $transaction = null, string $template_alias = null, bool $attach_pdf = false) { parent::__construct(); @@ -61,11 +60,10 @@ class PaymentReceived extends Notification * Build the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage */ - public function toMail($notifiable) + public function toMail($notifiable): MailMessage { - $message = $this->initMessage(); + $message = $this->initMailMessage(); // Attach the PDF file if ($this->attach_pdf) { @@ -81,12 +79,13 @@ class PaymentReceived extends Notification * Get the array representation of the notification. * * @param mixed $notifiable - * @return array */ - public function toArray($notifiable) + public function toArray($notifiable): array { return [ 'template_alias' => $this->template->alias, + 'title' => trans('notifications.menu.' . $this->template->alias . '.title'), + 'description' => trans('notifications.menu.' . $this->template->alias . '.description', $this->getTagsBinding()), 'invoice_id' => $this->invoice->id, 'invoice_number' => $this->invoice->document_number, 'customer_name' => $this->invoice->contact_name, @@ -97,7 +96,7 @@ class PaymentReceived extends Notification ]; } - public function getTags() + public function getTags(): array { return [ '{invoice_number}', @@ -119,7 +118,7 @@ class PaymentReceived extends Notification ]; } - public function getTagsReplacement() + public function getTagsReplacement(): array { return [ $this->invoice->document_number, diff --git a/app/Notifications/Purchase/Bill.php b/app/Notifications/Purchase/Bill.php index 2f79f07f9..9d255a563 100644 --- a/app/Notifications/Purchase/Bill.php +++ b/app/Notifications/Purchase/Bill.php @@ -3,31 +3,31 @@ namespace App\Notifications\Purchase; use App\Abstracts\Notification; -use App\Models\Common\EmailTemplate; +use App\Models\Setting\EmailTemplate; +use App\Models\Document\Document; +use Illuminate\Notifications\Messages\MailMessage; +use Illuminate\Support\Str; class Bill extends Notification { /** * The bill model. * - * @var object + * @var Document */ public $bill; /** * The email template. * - * @var \App\Models\Common\EmailTemplate + * @var EmailTemplate */ public $template; /** * Create a notification instance. - * - * @param object $bill - * @param object $template_alias */ - public function __construct($bill = null, $template_alias = null) + public function __construct(Document $bill = null, string $template_alias = null) { parent::__construct(); @@ -39,11 +39,10 @@ class Bill extends Notification * Build the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage */ - public function toMail($notifiable) + public function toMail($notifiable): MailMessage { - $message = $this->initMessage(); + $message = $this->initMailMessage(); return $message; } @@ -52,12 +51,13 @@ class Bill extends Notification * Get the array representation of the notification. * * @param mixed $notifiable - * @return array */ - public function toArray($notifiable) + public function toArray($notifiable): array { return [ 'template_alias' => $this->template->alias, + 'title' => trans('notifications.menu.' . $this->template->alias . '.title'), + 'description' => trans('notifications.menu.' . $this->template->alias . '.description', $this->getTagsBinding()), 'bill_id' => $this->bill->id, 'bill_number' => $this->bill->document_number, 'vendor_name' => $this->bill->contact_name, @@ -68,7 +68,7 @@ class Bill extends Notification ]; } - public function getTags() + public function getTags(): array { return [ '{bill_number}', @@ -86,7 +86,7 @@ class Bill extends Notification ]; } - public function getTagsReplacement() + public function getTagsReplacement(): array { return [ $this->bill->document_number, diff --git a/app/Notifications/Purchase/Payment.php b/app/Notifications/Purchase/Payment.php index 84e6d5a0b..49dbefddf 100644 --- a/app/Notifications/Purchase/Payment.php +++ b/app/Notifications/Purchase/Payment.php @@ -3,9 +3,10 @@ namespace App\Notifications\Purchase; use App\Abstracts\Notification; -use App\Models\Common\EmailTemplate; +use App\Models\Setting\EmailTemplate; use App\Traits\Transactions; use Illuminate\Support\Facades\URL; +use Illuminate\Support\Str; class Payment extends Notification { @@ -21,7 +22,7 @@ class Payment extends Notification /** * The email template. * - * @var \App\Models\Common\EmailTemplate + * @var EmailTemplate */ public $template; @@ -78,6 +79,8 @@ class Payment extends Notification { return [ 'template_alias' => $this->template->alias, + 'title' => trans('notifications.menu.' . $this->template->alias . '.title'), + 'description' => trans('notifications.menu.' . $this->template->alias . '.description', $this->getTagsBinding()), 'payment_id' => $this->payment->id, 'vendor_name' => $this->payment->contact->name, 'amount' => $this->payment->amount, diff --git a/app/Notifications/Sale/Invoice.php b/app/Notifications/Sale/Invoice.php index 271219423..8ec826a69 100644 --- a/app/Notifications/Sale/Invoice.php +++ b/app/Notifications/Sale/Invoice.php @@ -3,9 +3,12 @@ namespace App\Notifications\Sale; use App\Abstracts\Notification; -use App\Models\Common\EmailTemplate; +use App\Models\Setting\EmailTemplate; +use App\Models\Document\Document; use App\Traits\Documents; +use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Support\Facades\URL; +use Illuminate\Support\Str; class Invoice extends Notification { @@ -21,7 +24,7 @@ class Invoice extends Notification /** * The email template. * - * @var \App\Models\Common\EmailTemplate + * @var EmailTemplate */ public $template; @@ -34,29 +37,29 @@ class Invoice extends Notification /** * Create a notification instance. - * - * @param object $invoice - * @param object $template_alias - * @param object $attach_pdf */ - public function __construct($invoice = null, $template_alias = null, $attach_pdf = false) + public function __construct(Document $invoice = null, string $template_alias = null, bool $attach_pdf = false, array $custom_mail = []) { parent::__construct(); $this->invoice = $invoice; $this->template = EmailTemplate::alias($template_alias)->first(); $this->attach_pdf = $attach_pdf; + $this->custom_mail = $custom_mail; } /** * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage */ - public function toMail($notifiable) + public function toMail($notifiable): MailMessage { - $message = $this->initMessage(); + if (!empty($this->custom_mail['to'])) { + $notifiable->email = $this->custom_mail['to']; + } + + $message = $this->initMailMessage(); // Attach the PDF file if ($this->attach_pdf) { @@ -72,12 +75,13 @@ class Invoice extends Notification * Get the array representation of the notification. * * @param mixed $notifiable - * @return array */ - public function toArray($notifiable) + public function toArray($notifiable): array { return [ 'template_alias' => $this->template->alias, + 'title' => trans('notifications.menu.' . $this->template->alias . '.title'), + 'description' => trans('notifications.menu.' . $this->template->alias . '.description', $this->getTagsBinding()), 'invoice_id' => $this->invoice->id, 'invoice_number' => $this->invoice->document_number, 'customer_name' => $this->invoice->contact_name, @@ -88,7 +92,7 @@ class Invoice extends Notification ]; } - public function getTags() + public function getTags(): array { return [ '{invoice_number}', @@ -108,7 +112,7 @@ class Invoice extends Notification ]; } - public function getTagsReplacement() + public function getTagsReplacement(): array { return [ $this->invoice->document_number, diff --git a/app/Notifications/Sale/Revenue.php b/app/Notifications/Sale/Revenue.php deleted file mode 100644 index 608feaf9a..000000000 --- a/app/Notifications/Sale/Revenue.php +++ /dev/null @@ -1,121 +0,0 @@ -revenue = $revenue; - $this->template = EmailTemplate::alias($template_alias)->first(); - $this->attach_pdf = $attach_pdf; - } - - /** - * Get the mail representation of the notification. - * - * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage - */ - public function toMail($notifiable) - { - $message = $this->initMessage(); - - // Attach the PDF file - if ($this->attach_pdf) { - $message->attach($this->storeTransactionPdfAndGetPath($this->revenue), [ - 'mime' => 'application/pdf', - ]); - } - - return $message; - } - - /** - * Get the array representation of the notification. - * - * @param mixed $notifiable - * @return array - */ - public function toArray($notifiable) - { - return [ - 'template_alias' => $this->template->alias, - 'revenue_id' => $this->revenue->id, - 'customer_name' => $this->revenue->contact->name, - 'amount' => $this->revenue->amount, - 'revenue_date' => company_date($this->revenue->paid_at), - ]; - } - - public function getTags() - { - return [ - '{revenue_amount}', - '{revenue_date}', - '{revenue_guest_link}', - '{revenue_admin_link}', - '{revenue_portal_link}', - '{customer_name}', - '{company_name}', - '{company_email}', - '{company_tax_number}', - '{company_phone}', - '{company_address}', - ]; - } - - public function getTagsReplacement() - { - return [ - money($this->revenue->amount, $this->revenue->currency_code, true), - company_date($this->revenue->paid_at), - URL::signedRoute('signed.payments.show', [$this->revenue->id]), - route('revenues.show', $this->revenue->id), - route('portal.payments.show', $this->revenue->id), - $this->revenue->contact->name, - $this->revenue->company->name, - $this->revenue->company->email, - $this->revenue->company->tax_number, - $this->revenue->company->phone, - nl2br(trim($this->revenue->company->address)), - ]; - } -} diff --git a/app/Observers/Category.php b/app/Observers/Category.php new file mode 100644 index 000000000..432120bf9 --- /dev/null +++ b/app/Observers/Category.php @@ -0,0 +1,26 @@ +sub_categories as $sub_category) { + $this->dispatch(new DeleteCategory($sub_category)); + } + } +} diff --git a/app/Observers/Transaction.php b/app/Observers/Transaction.php index 4a823a490..3e051dfe5 100644 --- a/app/Observers/Transaction.php +++ b/app/Observers/Transaction.php @@ -4,8 +4,10 @@ namespace App\Observers; use App\Abstracts\Observer; use App\Events\Document\TransactionsCounted; +use App\Jobs\Banking\UpdateTransaction; use App\Jobs\Document\CreateDocumentHistory; use App\Models\Banking\Transaction as Model; +use App\Models\Document\Document; use App\Traits\Jobs; class Transaction extends Observer @@ -20,53 +22,40 @@ class Transaction extends Observer */ public function deleted(Model $transaction) { - if (empty($transaction->document_id)) { - return; + if (! empty($transaction->document_id)) { + $type = ($transaction->type == 'income') ? Document::INVOICE_TYPE : Document::BILL_TYPE; + + $this->updateDocument($transaction, $type); } - $function = ($transaction->type == 'income') ? 'updateInvoice' : 'updateBill'; - - $this->$function($transaction); + if (! empty($transaction->split_id)) { + $this->updateTransaction($transaction); + } } - protected function updateInvoice($transaction) + protected function updateDocument($transaction, $type) { - $invoice = $transaction->invoice; + $document = $transaction->{$type}; - if (empty($invoice)) { + if (empty($document)) { return; } - $invoice->transactions_count = $invoice->transactions->count(); - event(new TransactionsCounted($invoice)); + $document->transactions_count = $document->transactions->count(); - $invoice->status = ($invoice->transactions_count > 0) ? 'partial' : 'sent'; + event(new TransactionsCounted($document)); - unset($invoice->transactions_count); + $document->status = ($type == Document::INVOICE_TYPE) ? 'sent' : 'received'; - $invoice->save(); - - $this->dispatch(new CreateDocumentHistory($invoice, 0, $this->getDescription($transaction))); - } - - protected function updateBill($transaction) - { - $bill = $transaction->bill; - - if (empty($bill)) { - return; + if ($document->transactions_count > 0) { + $document->status = 'partial'; } - $bill->transactions_count = $bill->transactions->count(); - event(new TransactionsCounted($bill)); + unset($document->transactions_count); - $bill->status = ($bill->transactions_count > 0) ? 'partial' : 'received'; + $document->save(); - unset($bill->transactions_count); - - $bill->save(); - - $this->dispatch(new CreateDocumentHistory($bill, 0, $this->getDescription($transaction))); + $this->dispatch(new CreateDocumentHistory($document, 0, $this->getDescription($transaction))); } protected function getDescription($transaction) @@ -75,4 +64,17 @@ class Transaction extends Observer return trans('messages.success.deleted', ['type' => $amount . ' ' . trans_choice('general.payments', 1)]); } + + protected function updateTransaction($transaction) + { + $splitted_transaction = Model::find($transaction->split_id); + + if ($splitted_transaction->splits->count() == 0) { + $values = [ + 'type' => $transaction->type, + ]; + + $this->dispatch(new UpdateTransaction($splitted_transaction, $values)); + } + } } diff --git a/app/Providers/App.php b/app/Providers/App.php index b44b24c9a..e382c0b90 100644 --- a/app/Providers/App.php +++ b/app/Providers/App.php @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\Schema; use Illuminate\Support\ServiceProvider as Provider; +use Laravel\Sanctum\Sanctum; class App extends Provider { @@ -23,6 +24,8 @@ class App extends Provider if (config('app.env') !== 'production') { $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); } + + Sanctum::ignoreMigrations(); } /** diff --git a/app/Providers/Blade.php b/app/Providers/Blade.php index d0c1e99ea..1edb0ecde 100644 --- a/app/Providers/Blade.php +++ b/app/Providers/Blade.php @@ -2,6 +2,10 @@ namespace App\Providers; +use App\View\Components\Form\Group\Sswitch; +use App\View\Components\Media\Ffile as MFile; +use App\View\Components\Form\Input\Ffile; +use App\View\Components\Index\Ddefault; use App\Traits\DateTime; use Illuminate\Support\Facades\Blade as Facade; use Illuminate\Support\ServiceProvider; @@ -28,6 +32,11 @@ class Blade extends ServiceProvider Facade::if('readonly', function () { return config('read-only.enabled'); }); + + Facade::component('form.group.switch', Sswitch::class); + Facade::component('media.file', MFile::class); + Facade::component('form.input.file', Ffile::class); + Facade::component('index.default', Ddefault::class); } /** diff --git a/app/Providers/Event.php b/app/Providers/Event.php index 1bd084658..198f1c903 100644 --- a/app/Providers/Event.php +++ b/app/Providers/Event.php @@ -15,32 +15,7 @@ class Event extends Provider 'App\Events\Install\UpdateFinished' => [ 'App\Listeners\Update\CreateModuleUpdatedHistory', 'App\Listeners\Module\UpdateExtraModules', - 'App\Listeners\Update\V20\Version200', - 'App\Listeners\Update\V20\Version203', - 'App\Listeners\Update\V20\Version205', - 'App\Listeners\Update\V20\Version207', - 'App\Listeners\Update\V20\Version208', - 'App\Listeners\Update\V20\Version209', - 'App\Listeners\Update\V20\Version2014', - 'App\Listeners\Update\V20\Version2017', - 'App\Listeners\Update\V20\Version2020', - 'App\Listeners\Update\V20\Version2023', - 'App\Listeners\Update\V20\Version2024', - 'App\Listeners\Update\V21\Version210', - 'App\Listeners\Update\V21\Version213', - 'App\Listeners\Update\V21\Version218', - 'App\Listeners\Update\V21\Version219', - 'App\Listeners\Update\V21\Version2112', - 'App\Listeners\Update\V21\Version2114', - 'App\Listeners\Update\V21\Version2116', - 'App\Listeners\Update\V21\Version2117', - 'App\Listeners\Update\V21\Version2118', - 'App\Listeners\Update\V21\Version2124', - 'App\Listeners\Update\V21\Version2125', - 'App\Listeners\Update\V21\Version2126', - 'App\Listeners\Update\V21\Version2127', - 'App\Listeners\Update\V21\Version2133', - 'App\Listeners\Update\V21\Version2134', + 'App\Listeners\Update\V30\Version300', ], 'Illuminate\Auth\Events\Login' => [ 'App\Listeners\Auth\Login', @@ -55,6 +30,12 @@ class Event extends Provider 'App\Events\Auth\LandingPageShowing' => [ 'App\Listeners\Auth\AddLandingPages', ], + 'App\Events\Auth\InvitationCreated' => [ + 'App\Listeners\Auth\SendUserInvitation', + ], + 'App\Events\Auth\UserDeleted' => [ + 'App\Listeners\Auth\DeleteUserInvitation', + ], 'App\Events\Document\DocumentCreated' => [ 'App\Listeners\Document\CreateDocumentCreatedHistory', 'App\Listeners\Document\IncreaseNextDocumentNumber', @@ -84,15 +65,28 @@ class Event extends Provider ], 'App\Events\Document\DocumentViewed' => [ 'App\Listeners\Document\MarkDocumentViewed', + 'App\Listeners\Document\SendDocumentViewNotification', ], 'App\Events\Install\UpdateFailed' => [ 'App\Listeners\Update\SendNotificationOnFailure', ], + 'App\Events\Menu\NotificationsCreated' => [ + 'App\Listeners\Menu\ShowInNotifications', + ], 'App\Events\Menu\AdminCreated' => [ - 'App\Listeners\Menu\AddAdminItems', + 'App\Listeners\Menu\ShowInAdmin', + ], + 'App\Events\Menu\ProfileCreated' => [ + 'App\Listeners\Menu\ShowInProfile', + ], + 'App\Events\Menu\SettingsCreated' => [ + 'App\Listeners\Menu\ShowInSettings', + ], + 'App\Events\Menu\NewwCreated' => [ + 'App\Listeners\Menu\ShowInNeww', ], 'App\Events\Menu\PortalCreated' => [ - 'App\Listeners\Menu\AddPortalItems', + 'App\Listeners\Menu\ShowInPortal', ], 'App\Events\Module\Installed' => [ 'App\Listeners\Module\InstallExtraModules', @@ -101,6 +95,9 @@ class Event extends Provider 'App\Events\Module\Uninstalled' => [ 'App\Listeners\Module\FinishUninstallation', ], + 'App\Events\Banking\TransactionCreated' => [ + 'App\Listeners\Banking\IncreaseNextTransactionNumber', + ], ]; /** diff --git a/app/Providers/Form.php b/app/Providers/Form.php deleted file mode 100644 index ef18a2912..000000000 --- a/app/Providers/Form.php +++ /dev/null @@ -1,160 +0,0 @@ - ['required' => 'required'], 'value' => null, 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('dateTimeGroup', 'partials.form.date_time_group', [ - 'name', 'text', 'icon', 'attributes' => ['required' => 'required'], 'value' => null, 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('dateGroup', 'partials.form.date_group', [ - 'name', 'text', 'icon', 'attributes' => ['required' => 'required'], 'value' => null, 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('timeGroup', 'partials.form.time_group', [ - 'name', 'text', 'icon', 'attributes' => ['required' => 'required'], 'value' => null, 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('textGroup', 'partials.form.text_group', [ - 'name', 'text', 'icon', 'attributes' => ['required' => 'required'], 'value' => null, 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('emailGroup', 'partials.form.email_group', [ - 'name', 'text', 'icon', 'attributes' => ['required' => 'required'], 'value' => null, 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('passwordGroup', 'partials.form.password_group', [ - 'name', 'text', 'icon', 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('numberGroup', 'partials.form.number_group', [ - 'name', 'text', 'icon', 'attributes' => ['required' => 'required'], 'value' => null, 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('multiSelectGroup', 'partials.form.multi_select_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('multiSelectAddNewGroup', 'partials.form.multi_select_add_new_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('multiSelectRemoteGroup', 'partials.form.multi_select_remote_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('multiSelectRemoteAddNewGroup', 'partials.form.multi_select_remote_add_new_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required', 'path' => ''], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('selectGroup', 'partials.form.select_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('selectAddNewGroup', 'partials.form.select_add_new_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required', 'path' => ''], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('selectGroupGroup', 'partials.form.select_group_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('selectGroupAddNewGroup', 'partials.form.select_group_add_new_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('selectRemoteGroup', 'partials.form.select_remote_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('selectRemoteAddNewGroup', 'partials.form.select_remote_add_new_group', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required', 'path' => ''], 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('textareaGroup', 'partials.form.textarea_group', [ - 'name', 'text', 'icon', 'value' => null, 'attributes' => ['rows' => '3'], 'col' => 'col-md-12', 'group_class' => null - ]); - - Facade::component('textEditorGroup', 'partials.form.text_editor_group', [ - 'name', 'text', 'icon', 'value' => null, 'attributes' => ['rows' => '3'], 'col' => 'col-md-12', 'group_class' => null - ]); - - Facade::component('radioGroup', 'partials.form.radio_group', [ - 'name', 'text', 'value' => null, 'enable' => trans('general.yes'), 'disable' => trans('general.no'), 'attributes' => [], 'col' => 'col-md-6', - ]); - - Facade::component('checkboxGroup', 'partials.form.checkbox_group', [ - 'name', 'text', 'items' => [], 'value' => 'name', 'id' => 'id', 'selected'=>[], 'attributes' => ['required' => 'required'], 'col' => 'col-md-12', - ]); - - Facade::component('fileGroup', 'partials.form.file_group', [ - 'name', 'text', 'icon', 'attributes' => [], 'value' => null, 'col' => 'col-md-6', - ]); - - Facade::component('deleteButton', 'partials.form.delete_button', [ - 'item', 'url', 'text' => '', 'value' => 'name', 'id' => 'id', - ]); - - Facade::component('deleteLink', 'partials.form.delete_link', [ - 'item', 'url', 'text' => '', 'value' => 'name', 'id' => 'id', - ]); - - Facade::component('saveButtons', 'partials.form.save_buttons', [ - 'cancel', 'col' => 'col-md-12', - ]); - - Facade::component('recurring', 'partials.form.recurring', [ - 'page', 'model' => null, 'col' => 'col-md-6', - ]); - - Facade::component('invoice_text', 'partials.form.invoice_text', [ - 'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'input_name', 'input_value', 'col' => 'col-md-6', 'group_class' => null - ]); - - Facade::component('dateRange', 'partials.form.date_range', [ - 'name', 'text', 'icon', 'attributes' => ['required' => 'required'], 'value' => null, 'col' => 'col-md-6', - ]); - - Facade::component('bulkActionRowGroup', 'partials.form.bulk_action_row_group', [ - 'text', 'actions', 'path', 'attributes' => [] - ]); - - Facade::component('bulkActionAllGroup', 'partials.form.bulk_action_all_group', [ - 'attributes' => [] - ]); - - Facade::component('bulkActionGroup', 'partials.form.bulk_action_group', [ - 'id', 'name', 'attributes' => [] - ]); - - Facade::component('enabledGroup', 'partials.form.enabled_group', [ - 'id', 'name', 'value' - ]); - } - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - // - } -} diff --git a/app/Providers/Macro.php b/app/Providers/Macro.php index c045b1627..21c2a5f08 100644 --- a/app/Providers/Macro.php +++ b/app/Providers/Macro.php @@ -2,6 +2,7 @@ namespace App\Providers; +use Illuminate\Database\Eloquent\Collection; use Illuminate\Http\Request; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Str; @@ -27,7 +28,7 @@ class Macro extends ServiceProvider public function boot() { Request::macro('isApi', function () { - return $this->is(config('api.subtype') . '/*'); + return $this->is(config('api.prefix') . '/*'); }); Request::macro('isNotApi', function () { @@ -50,6 +51,14 @@ class Macro extends ServiceProvider return !$this->isInstall(); }); + Request::macro('isPreview', function ($company_id) { + return $this->is($company_id . '/preview/*'); + }); + + Request::macro('isNotPreview', function ($company_id) { + return !$this->isPreview($company_id); + }); + Request::macro('isSigned', function ($company_id) { return $this->is($company_id . '/signed/*'); }); @@ -109,5 +118,15 @@ class Macro extends ServiceProvider return false; }); + + Collection::macro('withChildren', function ($relation, $addChildren) { + $list = new Collection(); + + foreach ($this as $model) { + $addChildren($list, $model, $relation, 0, $addChildren); + } + + return $list; + }); } } diff --git a/app/Providers/Observer.php b/app/Providers/Observer.php index 27af5bdce..dd291bfd8 100644 --- a/app/Providers/Observer.php +++ b/app/Providers/Observer.php @@ -3,6 +3,7 @@ namespace App\Providers; use App\Models\Banking\Transaction; +use App\Models\Setting\Category; use Illuminate\Support\ServiceProvider as Provider; class Observer extends Provider @@ -25,5 +26,6 @@ class Observer extends Provider public function boot() { Transaction::observe('App\Observers\Transaction'); + Category::observe('App\Observers\Category'); } } diff --git a/app/Providers/Queue.php b/app/Providers/Queue.php index bba23b7c2..824e6c05d 100644 --- a/app/Providers/Queue.php +++ b/app/Providers/Queue.php @@ -43,10 +43,8 @@ class Queue extends Provider $payload = $event->job->payload(); - if (!array_key_exists('company_id', $payload)) { - $event->job->delete(); - - throw new \Exception('Missing company. Payload: ' . json_encode($payload)); + if (! array_key_exists('company_id', $payload)) { + return; } $company = company($payload['company_id']); diff --git a/app/Providers/Route.php b/app/Providers/Route.php index b975b7b84..952966034 100644 --- a/app/Providers/Route.php +++ b/app/Providers/Route.php @@ -78,6 +78,14 @@ class Route extends Provider ], $attributes)); }); + Facade::macro('preview', function ($alias, $routes, $attributes = []) { + return Facade::module($alias, $routes, array_merge([ + 'middleware' => 'preview', + 'prefix' => 'preview/' . $alias, + 'as' => 'preview.' . $alias . '.', + ], $attributes)); + }); + Facade::macro('portal', function ($alias, $routes, $attributes = []) { return Facade::module($alias, $routes, array_merge([ 'middleware' => 'portal', @@ -94,18 +102,14 @@ class Route extends Provider ], $attributes)); }); - Facade::macro('api', function ($alias, $routes, $attrs = []) { - $attributes = array_merge([ + Facade::macro('api', function ($alias, $routes, $attributes = []) { + return Facade::module($alias, $routes, array_merge([ 'namespace' => 'Modules\\' . module($alias)->getStudlyName() . '\Http\Controllers\Api', - 'prefix' => $alias, - 'as' => 'api.' . $alias, - ], $attrs); - - $api = app('Dingo\Api\Routing\Router'); - - return $api->version(config('api.version'), ['middleware' => ['api']], function($api) use ($attributes, $routes) { - $api->group($attributes, $routes); - }); + 'domain' => config('api.domain'), + 'middleware' => config('api.middleware'), + 'prefix' => config('api.prefix') ? config('api.prefix') . '/' . $alias : $alias, + 'as' => 'api.' . $alias . '.', + ], $attributes)); }); } @@ -130,6 +134,8 @@ class Route extends Provider $this->mapAdminRoutes(); + $this->mapPreviewRoutes(); + $this->mapPortalRoutes(); $this->mapSignedRoutes(); @@ -159,8 +165,10 @@ class Route extends Provider */ protected function mapApiRoutes() { - Facade::prefix('api') - ->namespace($this->namespace) + Facade::prefix(config('api.prefix')) + ->domain(config('api.domain')) + ->middleware(config('api.middleware')) + ->namespace($this->namespace . '\Api') ->group(base_path('routes/api.php')); } @@ -222,6 +230,20 @@ class Route extends Provider ->namespace($this->namespace) ->group(base_path('routes/admin.php')); } + /** + * Define the "preview" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + * + * @return void + */ + protected function mapPreviewRoutes() + { + Facade::prefix('{company_id}/preview') + ->middleware('preview') + ->namespace($this->namespace) + ->group(base_path('routes/preview.php')); + } /** * Define the "portal" routes for the application. diff --git a/app/Providers/Validation.php b/app/Providers/Validation.php index cc97a87d1..4bfdf0c4a 100644 --- a/app/Providers/Validation.php +++ b/app/Providers/Validation.php @@ -46,11 +46,11 @@ class Validation extends Provider Validator::extend('amount', function ($attribute, $value, $parameters, $validator) use (&$amount) { $status = false; - if ($value > 0) { + if ($value > 0 || in_array($value, $parameters)) { $status = true; } - if (!preg_match("/^(?=.*?[0-9])[0-9.,]+$/", $value)) { + if (! preg_match("/^(?=.*?[0-9])[0-9.,]+$/", $value)) { $status = false; } diff --git a/app/Providers/ViewComposer.php b/app/Providers/ViewComposer.php index 53425626f..0b4356edb 100644 --- a/app/Providers/ViewComposer.php +++ b/app/Providers/ViewComposer.php @@ -3,7 +3,7 @@ namespace App\Providers; use Illuminate\Support\ServiceProvider as Provider; -use View; +use Illuminate\Support\Facades\View; class ViewComposer extends Provider { @@ -14,46 +14,10 @@ class ViewComposer extends Provider */ public function boot() { - // Suggestions + // Add Contact Type View::composer( - 'partials.admin.header', 'App\Http\ViewComposers\Suggestions' - ); - - // Notifications - View::composer( - 'partials.admin.content', 'App\Http\ViewComposers\Notifications' - ); - - // Add company info to menu - View::composer( - ['partials.admin.menu', 'partials.portal.menu'], - 'App\Http\ViewComposers\Menu' - ); - - // Add notifications to header - View::composer( - ['partials.wizard.navbar', 'partials.admin.navbar', 'partials.portal.navbar'], - 'App\Http\ViewComposers\Header' - ); - - // Add limits and bulk actions to index - View::composer( - '*.index', 'App\Http\ViewComposers\Index' - ); - - // Add limits to show - View::composer( - '*.show', 'App\Http\ViewComposers\Index' - ); - - // Add Modules - View::composer( - 'modules.*', 'App\Http\ViewComposers\Modules' - ); - - // Add recurring - View::composer( - 'partials.form.recurring', 'App\Http\ViewComposers\Recurring' + ['contacts.*'], + 'App\Http\ViewComposers\ContactType' ); // Add Document Type @@ -62,13 +26,14 @@ class ViewComposer extends Provider 'App\Http\ViewComposers\DocumentType' ); - // Wizard + // Document Recurring Metadata View::composer( - 'layouts.wizard', 'App\Http\ViewComposers\Wizard' + ['components.documents.form.metadata'], + 'App\Http\ViewComposers\DocumentRecurring' ); View::composer( - ['partials.admin.content'], + ['components.layouts.admin.notifications'], 'App\Http\ViewComposers\ReadOnlyNotification' ); } diff --git a/app/Relations/HasMany/Category.php b/app/Relations/HasMany/Category.php new file mode 100644 index 000000000..ddeb69c60 --- /dev/null +++ b/app/Relations/HasMany/Category.php @@ -0,0 +1,25 @@ +getParentKey()) && $this->related instanceof Model) { + return $this->query->getWithoutChildren(); + } + + return ! is_null($this->getParentKey()) + ? $this->query->get() + : $this->related->newCollection(); + } +} diff --git a/app/Reports/ExpenseSummary.php b/app/Reports/ExpenseSummary.php index d5bac2e28..ab1fe32ef 100644 --- a/app/Reports/ExpenseSummary.php +++ b/app/Reports/ExpenseSummary.php @@ -9,48 +9,51 @@ use App\Utilities\Recurring; class ExpenseSummary extends Report { - public $default_name = 'reports.summary.expense'; + public $default_name = 'reports.expense_summary'; - public $icon = 'fa fa-shopping-cart'; + public $icon = 'shopping_cart'; + + public $type = 'summary'; public $chart = [ - 'line' => [ - 'width' => '0', - 'height' => '300', - 'options' => [ - 'color' => '#ef3232', - 'legend' => [ - 'display' => false, - ], + 'bar' => [ + 'colors' => [ + '#fb7185', ], - 'backgroundColor' => '#ef3232', - 'color' => '#ef3232', + ], + 'donut' => [ + // ], ]; + public function setTables() + { + $this->tables = [ + 'expense' => trans_choice('general.expenses', 2), + ]; + } + public function setData() { $transactions = $this->applyFilters(Transaction::with('recurring')->expense()->isNotTransfer(), ['date_field' => 'paid_at']); - $basis = $this->getSearchStringValue('basis', $this->getSetting('basis')); - - switch ($basis) { + switch ($this->getBasis()) { case 'cash': - // Payments - $payments = $transactions->get(); - $this->setTotals($payments, 'paid_at'); + // Expenses + $expenses = $transactions->get(); + $this->setTotals($expenses, 'paid_at', false, 'expense'); break; default: // Bills $bills = $this->applyFilters(Document::bill()->with('recurring', 'transactions')->accrued(), ['date_field' => 'issued_at'])->get(); Recurring::reflect($bills, 'issued_at'); - $this->setTotals($bills, 'issued_at'); + $this->setTotals($bills, 'issued_at', false, 'expense'); - // Payments - $payments = $transactions->isNotDocument()->get(); - Recurring::reflect($payments, 'paid_at'); - $this->setTotals($payments, 'paid_at'); + // Expenses + $expenses = $transactions->isNotDocument()->get(); + Recurring::reflect($expenses, 'paid_at'); + $this->setTotals($expenses, 'paid_at', false, 'expense'); break; } diff --git a/app/Reports/IncomeExpenseSummary.php b/app/Reports/IncomeExpenseSummary.php index 1c63f66ea..a705e1772 100644 --- a/app/Reports/IncomeExpenseSummary.php +++ b/app/Reports/IncomeExpenseSummary.php @@ -9,48 +9,79 @@ use App\Utilities\Recurring; class IncomeExpenseSummary extends Report { - public $default_name = 'reports.summary.income_expense'; + public $default_name = 'reports.income_expense_summary'; - public $icon = 'fa fa-chart-pie'; + public $icon = 'assessment'; + + public $type = 'summary'; + + public $chart = [ + 'income' => [ + 'bar' => [ + 'colors' => [ + '#8bb475', + ], + ], + 'donut' => [ + // + ], + ], + 'expense' => [ + 'bar' => [ + 'colors' => [ + '#fb7185', + ], + ], + 'donut' => [ + // + ], + ], + ]; + + public function setTables() + { + $this->tables = [ + 'income' => trans_choice('general.incomes', 1), + 'expense' => trans_choice('general.expenses', 2), + ]; + } public function setData() { $income_transactions = $this->applyFilters(Transaction::with('recurring')->income()->isNotTransfer(), ['date_field' => 'paid_at']); $expense_transactions = $this->applyFilters(Transaction::with('recurring')->expense()->isNotTransfer(), ['date_field' => 'paid_at']); - $basis = $this->getSearchStringValue('basis', $this->getSetting('basis')); - - switch ($basis) { + switch ($this->getBasis()) { case 'cash': - // Revenues - $revenues = $income_transactions->get(); - $this->setTotals($revenues, 'paid_at', true); + // Incomes + $incomes = $income_transactions->get(); + $this->setTotals($incomes, 'paid_at', false, 'income'); - // Payments - $payments = $expense_transactions->get(); - $this->setTotals($payments, 'paid_at', true); + // Expenses + $expenses = $expense_transactions->get(); + $this->setTotals($expenses, 'paid_at', false, 'expense'); break; default: // Invoices $invoices = $this->applyFilters(Document::invoice()->with('recurring', 'transactions')->accrued(), ['date_field' => 'issued_at'])->get(); Recurring::reflect($invoices, 'issued_at'); - $this->setTotals($invoices, 'issued_at', true); + $this->setTotals($invoices, 'issued_at', false, 'income'); - // Revenues - $revenues = $income_transactions->isNotDocument()->get(); - Recurring::reflect($revenues, 'paid_at'); - $this->setTotals($revenues, 'paid_at', true); + // Incomes + $incomes = $income_transactions->isNotDocument()->get(); + Recurring::reflect($incomes, 'paid_at'); + $this->setTotals($incomes, 'paid_at', false, 'income'); // Bills $bills = $this->applyFilters(Document::bill()->with('recurring', 'transactions')->accrued(), ['date_field' => 'issued_at'])->get(); Recurring::reflect($bills, 'issued_at'); - $this->setTotals($bills, 'issued_at', true); + $this->setTotals($bills, 'issued_at', false, 'expense'); - // Payments - $payments = $expense_transactions->isNotDocument()->get(); - Recurring::reflect($payments, 'paid_at'); - $this->setTotals($payments, 'paid_at', true); + // Expenses + $expenses = $expense_transactions->isNotDocument()->get(); + Recurring::reflect($expenses, 'paid_at'); + $this->setTotals($expenses, 'paid_at', false, 'expense'); break; } diff --git a/app/Reports/IncomeSummary.php b/app/Reports/IncomeSummary.php index c2b140a8e..a567096a6 100644 --- a/app/Reports/IncomeSummary.php +++ b/app/Reports/IncomeSummary.php @@ -9,48 +9,51 @@ use App\Utilities\Recurring; class IncomeSummary extends Report { - public $default_name = 'reports.summary.income'; + public $default_name = 'reports.income_summary'; - public $icon = 'fa fa-money-bill'; + public $icon = 'payments'; + + public $type = 'summary'; public $chart = [ - 'line' => [ - 'width' => '0', - 'height' => '300', - 'options' => [ - 'color' => '#328aef', - 'legend' => [ - 'display' => false, - ], + 'bar' => [ + 'colors' => [ + '#8bb475', ], - 'backgroundColor' => '#328aef', - 'color' => '#328aef', + ], + 'donut' => [ + // ], ]; + public function setTables() + { + $this->tables = [ + 'income' => trans_choice('general.incomes', 1), + ]; + } + public function setData() { $transactions = $this->applyFilters(Transaction::with('recurring')->income()->isNotTransfer(), ['date_field' => 'paid_at']); - $basis = $this->getSearchStringValue('basis', $this->getSetting('basis')); - - switch ($basis) { + switch ($this->getBasis()) { case 'cash': - // Revenues - $revenues = $transactions->get(); - $this->setTotals($revenues, 'paid_at'); + // Incomes + $incomes = $transactions->get(); + $this->setTotals($incomes, 'paid_at', false, 'income'); break; default: // Invoices $invoices = $this->applyFilters(Document::invoice()->with('recurring', 'transactions')->accrued(), ['date_field' => 'issued_at'])->get(); Recurring::reflect($invoices, 'issued_at'); - $this->setTotals($invoices, 'issued_at'); + $this->setTotals($invoices, 'issued_at', false, 'income'); - // Revenues - $revenues = $transactions->isNotDocument()->get(); - Recurring::reflect($revenues, 'paid_at'); - $this->setTotals($revenues, 'paid_at'); + // Incomes + $incomes = $transactions->isNotDocument()->get(); + Recurring::reflect($incomes, 'paid_at'); + $this->setTotals($incomes, 'paid_at', false, 'income'); break; } diff --git a/app/Reports/ProfitLoss.php b/app/Reports/ProfitLoss.php index 98144f43d..dd217ab47 100644 --- a/app/Reports/ProfitLoss.php +++ b/app/Reports/ProfitLoss.php @@ -13,15 +13,19 @@ class ProfitLoss extends Report public $category = 'general.accounting'; - public $icon = 'fa fa-heart'; + public $icon = 'favorite_border'; + + public $type = 'detail'; + + public $chart = false; public function setViews() { parent::setViews(); - $this->views['content.header'] = 'reports.profit_loss.content.header'; - $this->views['content.footer'] = 'reports.profit_loss.content.footer'; - $this->views['table.header'] = 'reports.profit_loss.table.header'; - $this->views['table.footer'] = 'reports.profit_loss.table.footer'; + $this->views['detail.content.header'] = 'reports.profit_loss.content.header'; + $this->views['detail.content.footer'] = 'reports.profit_loss.content.footer'; + $this->views['detail.table.header'] = 'reports.profit_loss.table.header'; + $this->views['detail.table.footer'] = 'reports.profit_loss.table.footer'; } public function setTables() @@ -37,50 +41,60 @@ class ProfitLoss extends Report $income_transactions = $this->applyFilters(Transaction::with('recurring')->income()->isNotTransfer(), ['date_field' => 'paid_at']); $expense_transactions = $this->applyFilters(Transaction::with('recurring')->expense()->isNotTransfer(), ['date_field' => 'paid_at']); - $basis = $this->getSearchStringValue('basis', $this->getSetting('basis')); - - switch ($basis) { + switch ($this->getBasis()) { case 'cash': - // Revenues - $revenues = $income_transactions->get(); - $this->setTotals($revenues, 'paid_at', true, $this->tables['income'], false); + // Incomes + $incomes = $income_transactions->get(); + $this->setTotals($incomes, 'paid_at', false, 'income', false); - // Payments - $payments = $expense_transactions->get(); - $this->setTotals($payments, 'paid_at', true, $this->tables['expense'], false); + // Expenses + $expenses = $expense_transactions->get(); + $this->setTotals($expenses, 'paid_at', false, 'expense', false); break; default: // Invoices $invoices = $this->applyFilters(Document::invoice()->with('recurring', 'totals', 'transactions')->accrued(), ['date_field' => 'issued_at'])->get(); Recurring::reflect($invoices, 'issued_at'); - $this->setTotals($invoices, 'issued_at', true, $this->tables['income'], false); + $this->setTotals($invoices, 'issued_at', false, 'income', false); - // Revenues - $revenues = $income_transactions->isNotDocument()->get(); - Recurring::reflect($revenues, 'paid_at'); - $this->setTotals($revenues, 'paid_at', true, $this->tables['income'], false); + // Incomes + $incomes = $income_transactions->isNotDocument()->get(); + Recurring::reflect($incomes, 'paid_at'); + $this->setTotals($incomes, 'paid_at', false, 'income', false); // Bills $bills = $this->applyFilters(Document::bill()->with('recurring', 'totals', 'transactions')->accrued(), ['date_field' => 'issued_at'])->get(); Recurring::reflect($bills, 'issued_at'); - $this->setTotals($bills, 'issued_at', true, $this->tables['expense'], false); + $this->setTotals($bills, 'issued_at', false, 'expense', false); - // Payments - $payments = $expense_transactions->isNotDocument()->get(); - Recurring::reflect($payments, 'paid_at'); - $this->setTotals($payments, 'paid_at', true, $this->tables['expense'], false); + // Expenses + $expenses = $expense_transactions->isNotDocument()->get(); + Recurring::reflect($expenses, 'paid_at'); + $this->setTotals($expenses, 'paid_at', false, 'expense', false); break; } + + $this->setNetProfit(); } - public function getFields() + public function setNetProfit() { - return [ - $this->getGroupField(), - $this->getPeriodField(), - $this->getBasisField(), - ]; + foreach ($this->footer_totals as $table => $dates) { + foreach ($dates as $date => $total) { + if (!isset($this->net_profit[$date])) { + $this->net_profit[$date] = 0; + } + + if ($table == 'income') { + $this->net_profit[$date] += $total; + + continue; + } + + $this->net_profit[$date] -= $total; + } + } } } diff --git a/app/Reports/TaxSummary.php b/app/Reports/TaxSummary.php index 9589ff6e2..2fd0ee6b1 100644 --- a/app/Reports/TaxSummary.php +++ b/app/Reports/TaxSummary.php @@ -14,19 +14,23 @@ class TaxSummary extends Report { use Currencies; - public $default_name = 'reports.summary.tax'; + public $default_name = 'reports.tax_summary'; public $category = 'general.accounting'; - public $icon = 'fa fa-percent'; + public $icon = 'percent'; + + public $type = 'detail'; + + public $chart = false; public function setViews() { parent::setViews(); - $this->views['content.header'] = 'reports.tax_summary.content.header'; - $this->views['content.footer'] = 'reports.tax_summary.content.footer'; - $this->views['table.header'] = 'reports.tax_summary.table.header'; - $this->views['table.footer'] = 'reports.tax_summary.table.footer'; + $this->views['detail.content.header'] = 'reports.tax_summary.content.header'; + $this->views['detail.content.footer'] = 'reports.tax_summary.content.footer'; + $this->views['detail.table.header'] = 'reports.tax_summary.table.header'; + $this->views['detail.table.footer'] = 'reports.tax_summary.table.footer'; } public function setTables() @@ -40,9 +44,7 @@ class TaxSummary extends Report public function setData() { - $basis = $this->getSearchStringValue('basis', $this->getSetting('basis')); - - switch ($basis) { + switch ($this->getBasis()) { case 'cash': // Invoice Payments $invoices = $this->applyFilters(Transaction::with('recurring', 'invoice', 'invoice.totals')->income()->isDocument()->isNotTransfer(), ['date_field' => 'paid_at'])->get(); diff --git a/app/Scopes/Category.php b/app/Scopes/Category.php new file mode 100644 index 000000000..96dd32123 --- /dev/null +++ b/app/Scopes/Category.php @@ -0,0 +1,22 @@ +whereNull('parent_id'); + } +} diff --git a/app/Traits/Categories.php b/app/Traits/Categories.php index 1b7ba68c9..8f44a0fa1 100644 --- a/app/Traits/Categories.php +++ b/app/Traits/Categories.php @@ -2,6 +2,7 @@ namespace App\Traits; +use App\Models\Setting\Category; use Illuminate\Support\Str; trait Categories @@ -25,4 +26,9 @@ trait Categories return $types; } + + public function getCategoryWithoutChildren($id) + { + return Category::getWithoutChildren()->find($id);; + } } diff --git a/app/Traits/Charts.php b/app/Traits/Charts.php index 3d18ff435..43adf9514 100644 --- a/app/Traits/Charts.php +++ b/app/Traits/Charts.php @@ -2,11 +2,16 @@ namespace App\Traits; -use App\Utilities\Chartjs; -use Balping\JsonRaw\Raw; +use Akaunting\Apexcharts\Charts as Apexcharts; trait Charts { + public $bar = [ + 'colors' => [], + 'labels' => [], + 'values' => [], + ]; + public $donut = [ 'colors' => [], 'labels' => [], @@ -31,7 +36,7 @@ trait Charts $this->addToDonut($color, $label, $amount); } - public function getDonutChart($name, $width = 0, $height = 160, $limit = 10) + public function getDonutChart($name, $width = '100%', $height = 300, $limit = 10) { // Show donut prorated if there is no value if (array_sum($this->donut['values']) == 0) { @@ -49,216 +54,39 @@ trait Charts $labels[$id] = $this->donut['labels'][$id]; } - $chart = new Chartjs(); + $chart = new Apexcharts(); - $chart->type('doughnut') - ->width($width) - ->height($height) - ->options($this->getDonutChartOptions($colors)) - ->labels(array_values($labels)); - - $chart->dataset($name, 'doughnut', array_values($values)) - ->backgroundColor(array_values($colors)); + $chart->setType('donut') + ->setWidth($width) + ->setHeight($height) + ->setLabels(array_values($labels)) + ->setColors(array_values($colors)) + ->setDataset($name, 'donut', array_values($values)); return $chart; } - public function getDonutChartOptions($colors) + public function addToBar($color, $label, $value) { - return [ - 'color' => array_values($colors), - 'cutoutPercentage' => 80, - 'legend' => [ - 'position' => 'right', - ], - 'tooltips' => [ - 'backgroundColor' => '#000000', - 'titleFontColor' => '#ffffff', - 'bodyFontColor' => '#e5e5e5', - 'bodySpacing' => 4, - 'xPadding' => 12, - 'mode' => 'nearest', - 'intersect' => 0, - 'position' => 'nearest', - ], - 'scales' => [ - 'yAxes' => [ - 'display' => false, - ], - 'xAxes' => [ - 'display' => false, - ], - ], - ]; + $this->bar['colors'][] = $color; + $this->bar['labels'][] = $label; + $this->bar['values'][] = (int) $value; } - public function getLineChartOptions($money_format = true) + public function getBarChart($name, $width = '100%', $height = 160) { - $decimal_mark = str_replace("'", "\\'", config('money.' . setting('default.currency') . '.decimal_mark')); - $thousands_separator = str_replace("'", "\\'", config('money.' . setting('default.currency') . '.thousands_separator')); - $symbol = str_replace("'", "\\'", config('money.' . setting('default.currency') . '.symbol')); - $symbol_first = str_replace("'", "\\'", config('money.' . setting('default.currency') . '.symbol_first')); - $precision = str_replace("'", "\\'", config('money.' . setting('default.currency') . '.precision')); + $chart = new Apexcharts(); - $options = [ - 'tooltips' => [ - 'backgroundColor' => '#000000', - 'titleFontColor' => '#ffffff', - 'bodyFontColor' => '#e5e5e5', - 'bodySpacing' => 4, - 'YrPadding' => 12, - 'mode' => 'nearest', - 'intersect' => 0, - 'position' => 'nearest', - ], - 'responsive' => true, - 'scales' => [ - 'yAxes' => [[ - 'barPercentage' => 1.6, - 'ticks' => [ - 'beginAtZero' => true, - 'padding' => 10, - 'fontColor' => '#9e9e9e', - ], - 'gridLines' => [ - 'drawBorder' => false, - 'color' => 'rgba(29,140,248,0.1)', - 'zeroLineColor' => 'transparent', - 'borderDash' => [2], - 'borderDashOffset' => [2], - ], - ]], - 'xAxes' => [[ - 'barPercentage' => 1.6, - 'ticks' => [ - 'suggestedMin' => 60, - 'suggestedMax' => 125, - 'padding' => 20, - 'fontColor' => '#9e9e9e', - ], - 'gridLines' => [ - 'drawBorder' => false, - 'color' => 'rgba(29,140,248,0.0)', - 'zeroLineColor' => 'transparent', - ], - ]], - ], - ]; + $chart->setType('bar') + ->setWidth($width) + ->setHeight($height) + ->setLabels(array_values($this->bar['labels'])) + ->setColors($this->bar['colors']); - if ($money_format) { - // for Tooltip money format - $options['tooltips']['callbacks'] = [ - 'label' => new Raw("function(tooltipItem, data) { - const moneySettings = { - decimal: '" . $decimal_mark . "', - thousands: '". $thousands_separator . "', - symbol: '" . $symbol . "', - isPrefix: '" . $symbol_first . "', - precision: '" . $precision . "', - }; - - const formattedCurrency = function (input, opt = moneySettings) { - if (typeof input === 'number') { - input = input.toFixed(fixed(opt.precision)) - } - - function fixed (precision) { - return Math.max(0, Math.min(precision, 20)); - }; - - function toStr(value) { - return value ? value.toString() : ''; - }; - - function numbersToCurrency(numbers, precision) { - var exp = Math.pow(10, precision); - var float = parseFloat(numbers) / exp; - - return float.toFixed(fixed(precision)); - }; - - function joinIntegerAndDecimal (integer, decimal, separator) { - return decimal ? integer + separator + decimal : integer; - }; - - if (typeof input === 'number') { - input = input.toFixed(fixed(opt.precision)); - }; - - var negative = input.indexOf('-') >= 0 ? '-' : ''; - var numbers = toStr(input).replace(/\D+/g, '') || '0'; - var currency = numbersToCurrency(numbers, opt.precision); - var parts = toStr(currency).split('.'); - var integer = parts[0].replace(/(\d)(?=(?:\d{3})+\b)/gm, ('$1' + opt.thousands)); - var decimal = parts[1]; - - if (opt.isPrefix == 1) { - return opt.symbol + negative + joinIntegerAndDecimal(integer, decimal, opt.decimal); - } - - return negative + joinIntegerAndDecimal(integer, decimal, opt.decimal) + opt.symbol; - }; - - return formattedCurrency(tooltipItem.yLabel, moneySettings); - }") - ]; - - // for Y variable money format - $options['scales']['yAxes'][0]['ticks']['callback'] = new Raw("function(value, index, values) { - const moneySettings = { - decimal: '" . $decimal_mark . "', - thousands: '". $thousands_separator . "', - symbol: '" . $symbol . "', - isPrefix: '" . $symbol_first . "', - precision: '" . $precision . "', - }; - - const formattedCurrency = function (input, opt = moneySettings) { - if (typeof input === 'number') { - input = input.toFixed(fixed(opt.precision)) - } - - function fixed (precision) { - return Math.max(0, Math.min(precision, 20)); - }; - - function toStr(value) { - return value ? value.toString() : ''; - }; - - function numbersToCurrency(numbers, precision) { - var exp = Math.pow(10, precision); - var float = parseFloat(numbers) / exp; - - return float.toFixed(fixed(precision)); - }; - - function joinIntegerAndDecimal (integer, decimal, separator) { - return decimal ? integer + separator + decimal : integer; - }; - - if (typeof input === 'number') { - input = input.toFixed(fixed(opt.precision)); - }; - - var negative = input.indexOf('-') >= 0 ? '-' : ''; - var numbers = toStr(input).replace(/\D+/g, '') || '0'; - var currency = numbersToCurrency(numbers, opt.precision); - var parts = toStr(currency).split('.'); - var integer = parts[0].replace(/(\d)(?=(?:\d{3})+\b)/gm, ('$1' + opt.thousands)); - var decimal = parts[1]; - - if (opt.isPrefix == 1) { - return opt.symbol + negative + joinIntegerAndDecimal(integer, decimal, opt.decimal); - } else { - return negative + joinIntegerAndDecimal(integer, decimal, opt.decimal) + opt.symbol; - } - }; - - return formattedCurrency(value, moneySettings); - }"); + foreach ($this->bar['values'] as $key => $value) { + $chart->setDataset($this->bar['labels'][$key], 'bar', $value); } - return $options; + return $chart; } } diff --git a/app/Traits/Cloud.php b/app/Traits/Cloud.php new file mode 100644 index 000000000..01a6e69c1 --- /dev/null +++ b/app/Traits/Cloud.php @@ -0,0 +1,47 @@ +getHost() == $this->cloud_host; + } + + public function getCloudRolesPageUrl() + { + if (! $this->isCloud()) { + return 'https://akaunting.com/plans?utm_source=user_role&utm_medium=software&utm_campaign=plg'; + } + + if ($this->moduleIsEnabled('roles')) { + return route('roles.roles.index'); + } + + return route('cloud.plans.index', [ + 'utm_source' => 'user', + 'utm_medium' => 'app', + 'utm_campaign' => 'roles', + ]); + } + + public function getCloudBankFeedsUrl() + { + if (! $this->isCloud()) { + return 'https://akaunting.com/features/connect-your-bank?utm_source=bank_feeds_widget&utm_medium=software&utm_campaign=plg'; + } + + return route('cloud.plans.index', [ + 'utm_source' => 'widget', + 'utm_medium' => 'app', + 'utm_campaign' => 'bank_feeds', + ]); + } +} diff --git a/app/Traits/Database.php b/app/Traits/Database.php new file mode 100644 index 000000000..f193323f0 --- /dev/null +++ b/app/Traits/Database.php @@ -0,0 +1,13 @@ +type ?? $this->document->type ?? $this->model->type ?? 'invoice'; + + return Str::endsWith($type, '-recurring'); + } + + public function isNotRecurringDocument(): bool + { + return ! $this->isRecurring(); + } + public function getNextDocumentNumber(string $type): string { - if ($alias = config('type.' . $type . '.alias')) { + if ($alias = config('type.document.' . $type . '.alias')) { $type = $alias . '.' . str_replace('-', '_', $type); } - $prefix = setting("$type.number_prefix"); - $next = setting("$type.number_next"); - $digit = setting("$type.number_digit"); + $prefix = setting($type . '.number_prefix'); + $next = setting($type . '.number_next'); + $digit = setting($type . '.number_digit'); return $prefix . str_pad($next, $digit, '0', STR_PAD_LEFT); } public function increaseNextDocumentNumber(string $type): void { - if ($alias = config('type.' . $type . '.alias')) { + if ($alias = config('type.document.' . $type . '.alias')) { $type = $alias . '.' . str_replace('-', '_', $type); } - $next = setting("$type.number_next", 1) + 1; + $next = setting($type . '.number_next', 1) + 1; - setting(["$type.number_next" => $next]); + setting([$type . '.number_next' => $next]); setting()->save(); } @@ -74,6 +94,17 @@ trait Documents return $statuses; } + public function getDocumentStatusesForFuture() + { + return [ + 'draft', + 'sent', + 'received', + 'viewed', + 'partial', + ]; + } + public function getDocumentFileName(Document $document, string $separator = '-', string $extension = 'pdf'): string { return $this->getSafeDocumentNumber($document, $separator) . $separator . time() . '.' . $extension; @@ -86,7 +117,7 @@ trait Documents protected function getTextDocumentStatuses($type) { - $default_key = config('type.' . $type . '.translation.prefix') . '.statuses.'; + $default_key = config('type.document.' . $type . '.translation.prefix') . '.statuses.'; $translation = DocumentComponent::getTextFromConfig($type, 'document_status', $default_key); @@ -94,10 +125,10 @@ trait Documents return $translation; } - $alias = config('type.' . $type . '.alias'); + $alias = config('type.document.' . $type . '.alias'); if (!empty($alias)) { - $translation = $alias . '::' . config('type.' . $type . '.translation.prefix') . '.statuses'; + $translation = $alias . '::' . config('type.document.' . $type . '.translation.prefix') . '.statuses'; if (is_array(trans($translation))) { return $translation . '.'; @@ -110,13 +141,13 @@ trait Documents protected function getSettingKey($type, $setting_key) { $key = ''; - $alias = config('type.' . $type . '.alias'); + $alias = config('type.document.' . $type . '.alias'); - if (!empty($alias)) { + if (! empty($alias)) { $key .= $alias . '.'; } - $prefix = config('type.' . $type . '.setting.prefix'); + $prefix = config('type.document.' . $type . '.setting.prefix'); $key .= $prefix . '.' . $setting_key; @@ -143,4 +174,80 @@ trait Documents return $pdf_path; } + + public function getTotalsForFutureDocuments($type = 'invoice', $documents = null) + { + $totals = [ + 'overdue' => 0, + 'open' => 0, + 'draft' => 0, + ]; + + $today = Date::today()->toDateString(); + + $documents = $documents ?: Document::type($type)->with('transactions')->future(); + + $documents->each(function ($document) use (&$totals, $today) { + if (!in_array($document->status, $this->getDocumentStatusesForFuture())) { + return; + } + + $payments = 0; + + if ($document->status == 'draft') { + $totals['draft'] += $document->getAmountConvertedToDefault(); + + return; + } + + if ($document->status == 'partial') { + foreach ($document->transactions as $transaction) { + $payments += $transaction->getAmountConvertedToDefault(); + } + } + + // Check if the document is open or overdue + if ($document->due_at > $today) { + $totals['open'] += $document->getAmountConvertedToDefault() - $payments; + } else { + $totals['overdue'] += $document->getAmountConvertedToDefault() - $payments; + } + }); + + return $totals; + } + + public function canNotifyTheContactOfDocument(Document $document): bool + { + $config = config('type.document.' . $document->type . '.notification'); + + if (! $config['notify_contact']) { + return false; + } + + if (! $document->contact || ($document->contact->enabled == 0)) { + return false; + } + + if (empty($document->contact_email)) { + return false; + } + + // Check if ietf.org has MX records signaling a server with email capabilites + $validator = new EmailValidator(); + $validations = new MultipleValidationWithAnd([ + new RFCValidation(), + new DNSCheckValidation(), + ]); + if (! $validator->isValid($document->contact_email, $validations)) { + return false; + } + + return true; + } + + public function getRealTypeOfRecurringDocument(string $recurring_type): string + { + return Str::replace('-recurring', '', $recurring_type); + } } diff --git a/app/Traits/Import.php b/app/Traits/Import.php index fd77cd0dc..bec4b881c 100644 --- a/app/Traits/Import.php +++ b/app/Traits/Import.php @@ -207,7 +207,7 @@ trait Import public function getCategoryIdFromName($row, $type) { - $category_id = Category::where('name', $row['category_name'])->pluck('id')->first(); + $category_id = Category::withSubCategory()->where('name', $row['category_name'])->pluck('id')->first(); if (!empty($category_id)) { return $category_id; diff --git a/app/Traits/Modules.php b/app/Traits/Modules.php index 439f10715..d9deef13b 100644 --- a/app/Traits/Modules.php +++ b/app/Traits/Modules.php @@ -20,7 +20,7 @@ trait Modules ] ]; - if (!$response = static::getResponse('POST', 'token/check', $data)) { + if (! $response = static::getResponse('POST', 'token/check', $data)) { return false; } @@ -36,7 +36,7 @@ trait Modules $items = Cache::get($key); - if (!empty($items)) { + if (! empty($items)) { return $items; } @@ -55,13 +55,28 @@ trait Modules return $item; } + public function getModuleIsubscribe($alias) + { + if (! $response = static::getResponse('GET', 'apps/' . $alias . '/isubscribe')) { + return []; + } + + $body = json_decode($response->getBody()); + + if (! is_object($body)) { + return []; + } + + return $body; + } + public function getModuleDocumentation($alias, $data = []) { $key = 'apps.' . $alias . '.docs.' . $this->getDataKeyOfModules($data); $documentation = Cache::get($key); - if (!empty($documentation)) { + if (! empty($documentation)) { return $documentation; } @@ -78,7 +93,7 @@ trait Modules $releases = Cache::get($key); - if (!empty($releases)) { + if (! empty($releases)) { return $releases; } @@ -95,7 +110,7 @@ trait Modules $reviews = Cache::get($key); - if (!empty($reviews)) { + if (! empty($reviews)) { return $reviews; } @@ -106,13 +121,47 @@ trait Modules return $reviews; } + public function getModuleTestimonials($alias, $data = []) + { + $key = 'apps.' . $alias . '.testimonials.' . $this->getDataKeyOfModules($data); + + $testimonials = Cache::get($key); + + if (! empty($testimonials)) { + return $testimonials; + } + + $testimonials = static::getResponseData('GET', 'apps/' . $alias . '/testimonials', $data); + + Cache::put($key, $testimonials, Date::now()->addHour()); + + return $testimonials; + } + + public function getBannersOfModules($data = []) + { + $key = 'apps.banners.' . $this->getDataKeyOfModules($data); + + $banners = Cache::get($key); + + if (! empty($banners)) { + return $banners; + } + + $banners = static::getResponseData('GET', 'apps/banners'); + + Cache::put($key, $banners, Date::now()->addHour()); + + return $banners; + } + public function getCategoriesOfModules($data = []) { $key = 'apps.categories.' . $this->getDataKeyOfModules($data); $categories = Cache::get($key); - if (!empty($categories)) { + if (! empty($categories)) { return $categories; } @@ -129,7 +178,7 @@ trait Modules $category = Cache::get($key); - if (!empty($category)) { + if (! empty($category)) { return $category; } @@ -146,7 +195,7 @@ trait Modules $vendors = Cache::get($key); - if (!empty($vendors)) { + if (! empty($vendors)) { return $vendors; } @@ -163,7 +212,7 @@ trait Modules $vendor = Cache::get($key); - if (!empty($vendor)) { + if (! empty($vendor)) { return $vendor; } @@ -190,11 +239,11 @@ trait Modules $installed = []; Module::all()->each(function($module) use (&$installed) { - if (!$this->moduleExists($module->alias)) { + if (! $this->moduleExists($module->alias)) { return; } - if (!$result = $this->getModule($module->alias)) { + if (! $result = $this->getModule($module->alias)) { return; } @@ -212,7 +261,7 @@ trait Modules $pre_sale = Cache::get($key); - if (!empty($pre_sale)) { + if (! empty($pre_sale)) { return $pre_sale; } @@ -229,7 +278,7 @@ trait Modules $paid = Cache::get($key); - if (!empty($paid)) { + if (! empty($paid)) { return $paid; } @@ -246,7 +295,7 @@ trait Modules $new = Cache::get($key); - if (!empty($new)) { + if (! empty($new)) { return $new; } @@ -263,7 +312,7 @@ trait Modules $free = Cache::get($key); - if (!empty($free)) { + if (! empty($free)) { return $free; } @@ -280,7 +329,7 @@ trait Modules $featured = Cache::get($key); - if (!empty($featured)) { + if (! empty($featured)) { return $featured; } @@ -291,16 +340,84 @@ trait Modules return $featured; } + public function getPopularModules($data = []) + { + $key = 'apps.popular.' . $this->getDataKeyOfModules($data); + + $popular = Cache::get($key); + + if (! empty($popular)) { + return $popular; + } + + $popular = static::getResponseData('GET', 'apps/popular', $data); + + Cache::put($key, $popular, Date::now()->addHour()); + + return $popular; + } + public function getSearchModules($data = []) { return static::getResponseData('GET', 'apps/search', $data); } + public function getTestimonialModules($data = []) + { + $key = 'apps.testimonials.' . $this->getDataKeyOfModules($data); + + $testimonials = Cache::get($key); + + if (! empty($testimonials)) { + return $testimonials; + } + + $testimonials = static::getResponseData('GET', 'apps/testimonials', $data); + + Cache::put($key, $testimonials, Date::now()->addHour()); + + return $testimonials; + } + + public function getWidgetsOfModules($data = []) + { + $key = 'apps.widgets.' . $this->getDataKeyOfModules($data); + + $widgets = Cache::get($key); + + if (! empty($widgets)) { + return $widgets; + } + + $widgets = static::getResponseData('GET', 'apps/widgets'); + + Cache::put($key, $widgets, Date::now()->addHour()); + + return $widgets; + } + + public function getModulesByWidget($alias, $data = []) + { + $key = 'apps.widgets.' . $alias . '.' . $this->getDataKeyOfModules($data); + + $widget = Cache::get($key); + + if (! empty($widget)) { + return $widget; + } + + $widget = static::getResponseData('GET', 'apps/widgets/' . $alias, $data); + + Cache::put($key, $widget, Date::now()->addHour()); + + return $widget; + } + public function getCoreVersion() { $data['query'] = Info::all(); - if (!$response = static::getResponse('GET', 'core/version', $data)) { + if (! $response = static::getResponse('GET', 'core/version', $data)) { return []; } @@ -309,7 +426,7 @@ trait Modules public function moduleExists($alias) { - if (!module($alias) instanceof \Akaunting\Module\Module) { + if (! module($alias) instanceof \Akaunting\Module\Module) { return false; } @@ -340,13 +457,13 @@ trait Modules $data = Cache::get($key); - if (!empty($data)) { + if (! empty($data)) { return $data; } $data = []; - if (!$suggestions = static::getResponseData('GET', 'apps/suggestions')) { + if (! $suggestions = static::getResponseData('GET', 'apps/suggestions')) { return $data; } @@ -365,13 +482,13 @@ trait Modules $data = Cache::get($key); - if (!empty($data)) { + if (! empty($data)) { return $data; } $data = []; - if (!$notifications = static::getResponseData('GET', 'apps/notifications')) { + if (! $notifications = static::getResponseData('GET', 'apps/notifications')) { return $data; } @@ -384,6 +501,31 @@ trait Modules return $data; } + public function loadTips() + { + $key = 'apps.tips'; + + $data = Cache::get($key); + + if (! empty($data)) { + return $data; + } + + $data = []; + + if (! $tips = static::getResponseData('GET', 'apps/tips')) { + return $data; + } + + foreach ($tips as $tip) { + $data[$tip->path][] = $tip; + } + + Cache::put($key, $data, Date::now()->addHour(6)); + + return $data; + } + public function getSuggestions($path) { $key = 'apps.suggestions'; @@ -394,7 +536,7 @@ trait Modules $data = $this->loadSuggestions(); } - if (!empty($data) && array_key_exists($path, $data)) { + if (! empty($data) && array_key_exists($path, $data)) { return $data[$path]; } @@ -411,7 +553,24 @@ trait Modules $data = $this->loadNotifications(); } - if (!empty($data) && array_key_exists($path, $data)) { + if (! empty($data) && array_key_exists($path, $data)) { + return (array) $data[$path]; + } + + return []; + } + + public function getTips($path): array + { + $key = 'apps.tips'; + + $data = Cache::get($key); + + if (empty($data)) { + $data = $this->loadTips(); + } + + if (! empty($data) && array_key_exists($path, $data)) { return (array) $data[$path]; } diff --git a/app/Traits/Permissions.php b/app/Traits/Permissions.php index b401ef9ac..a11d1e106 100644 --- a/app/Traits/Permissions.php +++ b/app/Traits/Permissions.php @@ -5,6 +5,7 @@ namespace App\Traits; use App\Models\Auth\Permission; use App\Models\Auth\Role; use App\Traits\SearchString; +use App\Traits\Translations; use App\Utilities\Reports; use App\Utilities\Widgets; use Illuminate\Routing\Route; @@ -13,7 +14,7 @@ use Illuminate\Support\Str; trait Permissions { - use SearchString; + use SearchString, Translations; public function getActionsMap() { @@ -248,13 +249,37 @@ trait Permissions public function createRole($name, $display_name = null, $description = null) { - $display_name = $display_name ?? Str::title($name); + $alias = !empty($this->alias) ? $this->alias : $name; + + if (empty($display_name)) { + $display_name = $this->findTranslation([ + 'auth.roles.' . Str::replace('-', '_', $name) . '.name', + $alias . '::permissions.roles.' . Str::replace('-', '_', $name) . '.name', + $alias . '::auth.roles.' . Str::replace('-', '_', $name) . '.name', + ]); + + if (empty($display_name)) { + $display_name = Str::title(Str::replace('-', ' ', $name)); + } + } + + if (empty($description)) { + $description = $this->findTranslation([ + 'auth.roles.' . Str::replace('-', '_', $name) . '.description', + $alias . '::permissions.roles.' . Str::replace('-', '_', $name) . '.description', + $alias . '::auth.roles.' . Str::replace('-', '_', $name) . '.description', + ]); + + if (empty($description)) { + $description = $display_name; + } + } return Role::firstOrCreate([ 'name' => $name, ], [ 'display_name' => $display_name, - 'description' => $description ?? $display_name, + 'description' => $description, ]); } @@ -408,24 +433,24 @@ trait Permissions $table = request()->isApi() ? request()->segment(2) : ''; // Find the proper controller for common API endpoints - if (in_array($table, ['contacts', 'documents', 'transactions'])) { + if (in_array($table, ['contacts', 'documents'])) { $controller = ''; // Look for type in search variable like api/contacts?search=type:customer $type = $this->getSearchStringValue('type'); - if (!empty($type)) { - $alias = config('type.' . $type . '.alias'); - $group = config('type.' . $type . '.group'); - $prefix = config('type.' . $type . '.permission.prefix'); + if (! empty($type)) { + $alias = config('type.' . Str::singular($table) . '.' . $type . '.alias'); + $group = config('type.' . Str::singular($table) . '.' . $type . '.group'); + $prefix = config('type.' . Str::singular($table) . '.' . $type . '.permission.prefix'); // if use module set module alias - if (!empty($alias)) { + if (! empty($alias)) { $controller .= $alias . '-'; } // if controller in folder it must - if (!empty($group)) { + if (! empty($group)) { $controller .= $group . '-'; } @@ -449,7 +474,7 @@ trait Permissions } // Add folder - if (!in_array(strtolower($arr[1]), ['api', 'controllers'])) { + if (! in_array(strtolower($arr[1]), ['api', 'controllers'])) { $controller .= Str::kebab($arr[1]) . '-'; } diff --git a/app/Traits/Recurring.php b/app/Traits/Recurring.php index 54ebcd8ea..1ae78117c 100644 --- a/app/Traits/Recurring.php +++ b/app/Traits/Recurring.php @@ -2,6 +2,7 @@ namespace App\Traits; +use App\Models\Common\Recurring as Model; use App\Utilities\Date; use Recurr\Rule; use Recurr\Transformer\ArrayTransformer; @@ -17,18 +18,25 @@ trait Recurring $frequency = ($request['recurring_frequency'] != 'custom') ? $request['recurring_frequency'] : $request['recurring_custom_frequency']; $interval = (($request['recurring_frequency'] != 'custom') || ($request['recurring_interval'] < 1)) ? 1 : (int) $request['recurring_interval']; - $started_at = !empty($request['paid_at']) ? $request['paid_at'] : $request['issued_at']; + $started_at = !empty($request['recurring_started_at']) ? $request['recurring_started_at'] : Date::now(); + $status = !empty($request['recurring_status']) ? $request['recurring_status'] : Model::ACTIVE_STATUS; + $limit_by = !empty($request['recurring_limit']) ? $request['recurring_limit'] : 'count'; + $limit_count = isset($request['recurring_limit_count']) ? (int) $request['recurring_limit_count'] : 0; + $limit_date = !empty($request['recurring_limit_date']) ? $request['recurring_limit_date'] : null; $source = !empty($request['created_from']) ? $request['created_from'] : source_name(); $owner = !empty($request['created_by']) ? $request['created_by'] : user_id(); $this->recurring()->create([ - 'company_id' => $this->company_id, - 'frequency' => $frequency, - 'interval' => $interval, - 'started_at' => $started_at, - 'count' => (int) $request['recurring_count'], - 'created_from' => $source, - 'created_by' => $owner, + 'company_id' => $this->company_id, + 'frequency' => $frequency, + 'interval' => $interval, + 'started_at' => $started_at, + 'status' => $status, + 'limit_by' => $limit_by, + 'limit_count' => $limit_count, + 'limit_date' => $limit_date, + 'created_from' => $source, + 'created_by' => $owner, ]); } @@ -36,24 +44,34 @@ trait Recurring { if (empty($request['recurring_frequency']) || ($request['recurring_frequency'] == 'no')) { $this->recurring()->delete(); + return; } $frequency = ($request['recurring_frequency'] != 'custom') ? $request['recurring_frequency'] : $request['recurring_custom_frequency']; $interval = (($request['recurring_frequency'] != 'custom') || ($request['recurring_interval'] < 1)) ? 1 : (int) $request['recurring_interval']; - $started_at = !empty($request['paid_at']) ? $request['paid_at'] : $request['issued_at']; + $started_at = !empty($request['recurring_started_at']) ? $request['recurring_started_at'] : Date::now(); + $limit_by = !empty($request['recurring_limit']) ? $request['recurring_limit'] : 'count'; + $limit_count = isset($request['recurring_limit_count']) ? (int) $request['recurring_limit_count'] : 0; + $limit_date = !empty($request['recurring_limit_date']) ? $request['recurring_limit_date'] : null; $recurring = $this->recurring(); $model_exists = $recurring->count(); $data = [ - 'company_id' => $this->company_id, - 'frequency' => $frequency, - 'interval' => $interval, - 'started_at' => $started_at, - 'count' => (int) $request['recurring_count'], + 'company_id' => $this->company_id, + 'frequency' => $frequency, + 'interval' => $interval, + 'started_at' => $started_at, + 'limit_by' => $limit_by, + 'limit_count' => $limit_count, + 'limit_date' => $limit_date, ]; + if (! empty($request['recurring_status'])) { + $data['status'] = $request['recurring_status']; + } + if ($model_exists) { $recurring->update($data); } else { @@ -61,13 +79,14 @@ trait Recurring $owner = !empty($request['created_by']) ? $request['created_by'] : user_id(); $recurring->create(array_merge($data, [ - 'created_from' => $source, - 'created_by' => $owner, + 'status' => Model::ACTIVE_STATUS, + 'created_from' => $source, + 'created_by' => $owner, ])); } } - public function getRecurringSchedule($set_until_date = true) + public function getRecurringSchedule() { $config = new ArrayTransformerConfig(); $config->enableLastDayOfMonthFix(); @@ -76,10 +95,10 @@ trait Recurring $transformer = new ArrayTransformer(); $transformer->setConfig($config); - return $transformer->transform($this->getRecurringRule($set_until_date)); + return $transformer->transform($this->getRecurringRule()); } - public function getRecurringRule($set_until_date = true) + public function getRecurringRule() { $rule = (new Rule()) ->setStartDate($this->getRecurringRuleStartDate()) @@ -87,13 +106,11 @@ trait Recurring ->setFreq($this->getRecurringRuleFrequency()) ->setInterval($this->getRecurringRuleInterval()); - // 0 means infinite - if ($this->count != 0) { - $rule->setCount($this->getRecurringRuleCount()); - } - - if ($set_until_date) { + if ($this->limit_by == 'date') { $rule->setUntil($this->getRecurringRuleUntilDate()); + } elseif ($this->limit_count != 0) { + // 0 means infinite + $rule->setCount($this->getRecurringRuleCount()); } return $rule; @@ -101,12 +118,27 @@ trait Recurring public function getRecurringRuleStartDate() { - return new \DateTime($this->started_at, new \DateTimeZone($this->getRecurringRuleTimeZone())); + return $this->getRecurringRuleDate($this->started_at); } public function getRecurringRuleUntilDate() { - return new \DateTime(Date::today()->toDateTimeString(), new \DateTimeZone($this->getRecurringRuleTimeZone())); + return $this->getRecurringRuleDate($this->limit_date); + } + + public function getRecurringRuleTodayDate() + { + return $this->getRecurringRuleDate(Date::today()->toDateTimeString()); + } + + public function getRecurringRuleTomorrowDate() + { + return $this->getRecurringRuleDate(Date::tomorrow()->toDateTimeString()); + } + + public function getRecurringRuleDate($date) + { + return new \DateTime($date, new \DateTimeZone($this->getRecurringRuleTimeZone())); } public function getRecurringRuleTimeZone() @@ -117,7 +149,7 @@ trait Recurring public function getRecurringRuleCount() { // Fix for humans - return $this->count + 1; + return $this->limit_count + 1; } public function getRecurringRuleFrequency() @@ -153,7 +185,7 @@ trait Recurring public function getCurrentRecurring() { - if (!$schedule = $this->getRecurringSchedule()) { + if (! $schedule = $this->getRecurringSchedule()) { return false; } @@ -162,11 +194,11 @@ trait Recurring public function getNextRecurring() { - if (!$schedule = $this->getRecurringSchedule()) { + if (! $schedule = $this->getRecurringSchedule()) { return false; } - if (!$next = $schedule->next()) { + if (! $next = $schedule->next()) { return false; } @@ -175,7 +207,7 @@ trait Recurring public function getFirstRecurring() { - if (!$schedule = $this->getRecurringSchedule()) { + if (! $schedule = $this->getRecurringSchedule()) { return false; } @@ -184,7 +216,7 @@ trait Recurring public function getLastRecurring() { - if (!$schedule = $this->getRecurringSchedule()) { + if (! $schedule = $this->getRecurringSchedule()) { return false; } diff --git a/app/Traits/Scopes.php b/app/Traits/Scopes.php index 67bbb0d9e..9e42c30dd 100644 --- a/app/Traits/Scopes.php +++ b/app/Traits/Scopes.php @@ -85,14 +85,6 @@ trait Scopes $type = $request->get('type') ?: Str::singular((string) $request->segment(3)); - if ($type == 'revenue') { - $type = 'income'; - } - - if ($type == 'payment') { - $type = 'expense'; - } - return $type; } } diff --git a/app/Traits/Tenants.php b/app/Traits/Tenants.php index 38c5a8f34..f02095eb7 100644 --- a/app/Traits/Tenants.php +++ b/app/Traits/Tenants.php @@ -18,7 +18,7 @@ trait Tenants public function isTenantable() { - $tenantable = $this->tenantable ?: true; + $tenantable = $this->tenantable ?? true; return ($tenantable === true) && in_array('company_id', $this->getFillable()); } diff --git a/app/Traits/Transactions.php b/app/Traits/Transactions.php index 51bc0cbc2..f9ae06a31 100644 --- a/app/Traits/Transactions.php +++ b/app/Traits/Transactions.php @@ -2,25 +2,48 @@ namespace App\Traits; +use App\Events\Banking\TransactionPrinting; use App\Models\Banking\Transaction; use Illuminate\Support\Str; trait Transactions { - public function isIncome() + public function isIncome(): bool { $type = $this->type ?? $this->transaction->type ?? $this->model->type ?? 'income'; return in_array($type, $this->getIncomeTypes()); } - public function isExpense() + public function isNotIncome(): bool + { + return ! $this->isIncome(); + } + + public function isExpense(): bool { $type = $this->type ?? $this->transaction->type ?? $this->model->type ?? 'expense'; return in_array($type, $this->getExpenseTypes()); } + public function isNotExpense() + { + return ! $this->isExpense(); + } + + public function isRecurringTransaction(): bool + { + $type = $this->type ?? $this->transaction->type ?? $this->model->type ?? 'income'; + + return Str::endsWith($type, '-recurring'); + } + + public function isNotRecurringTransaction(): bool + { + return ! $this->isRecurring(); + } + public function getIncomeTypes($return = 'array') { return $this->getTransactionTypes('income', $return); @@ -76,13 +99,13 @@ trait Transactions protected function getSettingKey($type, $setting_key) { $key = ''; - $alias = config('type.' . $type . '.alias'); + $alias = config('type.transaction.' . $type . '.alias'); if (!empty($alias)) { $key .= $alias . '.'; } - $prefix = config('type.' . $type . '.setting.prefix'); + $prefix = config('type.transaction.' . $type . '.setting.prefix'); $key .= $prefix . '.' . $setting_key; @@ -91,9 +114,9 @@ trait Transactions public function storeTransactionPdfAndGetPath($transaction) { - event(new \App\Events\Banking\TransactionPrinting($transaction)); + event(new TransactionPrinting($transaction)); - $view = view($transaction->template_path, ['revenue' => $transaction, 'transaction' => $transaction])->render(); + $view = view('banking.transactions.print_default', ['transaction' => $transaction])->render(); $html = mb_convert_encoding($view, 'HTML-ENTITIES', 'UTF-8'); $pdf = app('dompdf.wrapper'); @@ -108,4 +131,62 @@ trait Transactions return $pdf_path; } + + public function getTranslationsForConnect($type = 'income') + { + $document_type = config('type.transaction.' . $type . '.document_type'); + $contact_type = config('type.transaction.' . $type . '.contact_type'); + + return [ + 'title' => trans('general.connect') . ' ' . trans_choice('general.' . Str::plural($document_type), 1), + 'cancel' => trans('general.cancel'), + 'save' => trans('general.save'), + 'action' => trans('general.actions'), + 'document' => trans_choice('general.' . Str::plural($document_type), 1), + 'total' => trans('invoices.total'), + 'category' => trans_choice('general.categories', 1), + 'account' => trans_choice('general.accounts', 1), + 'amount' => trans('general.amount'), + 'number' => trans_choice('general.numbers', 1), + 'notes' => trans_choice('general.notes', 2), + 'contact' => trans_choice('general.' . Str::plural($contact_type), 1), + 'no_data' => trans('general.no_data'), + 'placeholder_search' => trans('general.placeholder.search'), + 'add_an' => trans('general.form.add_an', ['field' => trans_choice('general.' . Str::plural($document_type), 1)]), + 'transaction' => trans_choice('general.' . Str::plural($type), 1), + 'difference' => trans('general.difference'), + ]; + } + + public function getTransactionFormRoutesOfType($type) + { + return [ + 'contact_index' => route(Str::plural(config('type.transaction.' . $type . '.contact_type')) . '.index'), + 'contact_modal' => route('modals.' . Str::plural(config('type.transaction.' . $type . '.contact_type')) . '.create'), + 'category_index' => route('modals.categories.create', ['type' => $type]), + 'category_modal' => route('categories.index', ['search' => 'type:' . $type]), + ]; + } + + public function getRealTypeOfRecurringTransaction(string $recurring_type): string + { + return Str::replace('-recurring', '', $recurring_type); + } + + public function getNextTransactionNumber($suffix = ''): string + { + $prefix = setting('transaction' . $suffix . '.number_prefix'); + $next = setting('transaction' . $suffix . '.number_next'); + $digit = setting('transaction' . $suffix . '.number_digit'); + + return $prefix . str_pad($next, $digit, '0', STR_PAD_LEFT); + } + + public function increaseNextTransactionNumber($suffix = ''): void + { + $next = setting('transaction' . $suffix . '.number_next', 1) + 1; + + setting(['transaction' . $suffix . '.number_next' => $next]); + setting()->save(); + } } diff --git a/app/Traits/Translations.php b/app/Traits/Translations.php new file mode 100644 index 000000000..3b557d2b1 --- /dev/null +++ b/app/Traits/Translations.php @@ -0,0 +1,34 @@ +isCustomer() ? 'portal.dashboard' : $user->landing_page; - $company_id = company_id() ?: optional($this->getFirstCompanyOfUser())->id; + $company_id = company_id() ?: $this->getFirstCompanyOfUser()?->id; return route($route_name, ['company_id' => $company_id]); } + + /** + * Checks if the given user has a pending invitation for the + * provided Company. + * + * @return bool + */ + public function hasPendingInvitation($company_id = null) + { + $company_id = $company_id ?: company_id(); + + $invitation = UserInvitation::where('user_id', $this->id)->where('company_id', $company_id)->first(); + + return $invitation ? true : false; + } + + /** + * Returns if the given user has a pending invitation for the + * provided Company. + * + * @return null|UserInvitation + */ + public function getPendingInvitation($company_id = null) + { + $company_id = $company_id ?: company_id(); + + $invitation = UserInvitation::where('user_id', $this->id)->where('company_id', $company_id)->first(); + + return $invitation; + } } diff --git a/app/Traits/ViewComponents.php b/app/Traits/ViewComponents.php new file mode 100644 index 000000000..5c0224520 --- /dev/null +++ b/app/Traits/ViewComponents.php @@ -0,0 +1,755 @@ + $value) { + if (in_array($key, $excludes)) { + continue; + } + + $this->{$key} = $this->getParentData($key, $value); + } + } + + public function getTextFromConfig($type, $config_key, $default_key = '', $trans_type = 'trans') + { + $translation = ''; + + // if set config translation config_key + if ($translation = config('type.' . static::OBJECT_TYPE . '.' . $type . '.translation.' . $config_key)) { + return $translation; + } + + $alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'); + $prefix = config('type.' . static::OBJECT_TYPE . '.' . $type . '.translation.prefix'); + + if (! empty($alias)) { + $alias .= '::'; + } + + // This magic trans key.. + $translations = [ + 'general' => $alias . 'general.' . $default_key, + 'prefix' => $alias . $prefix . '.' . $default_key, + 'config_general' => $alias . 'general.' . $config_key, + 'config_prefix' => $alias . $prefix . '.' . $config_key, + ]; + + switch ($trans_type) { + case 'trans': + foreach ($translations as $trans) { + if (trans($trans) !== $trans) { + return $trans; + } + } + + break; + case 'trans_choice': + foreach ($translations as $trans_choice) { + if (trans_choice($trans_choice, 1) !== $trans_choice) { + return $trans_choice; + } + } + + break; + } + + return $translation; + } + + public function getRouteFromConfig($type, $config_key, $config_parameters = [], $modal = false) + { + $route = ''; + + // if set config trasnlation config_key + if ($route = config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.' . $config_key)) { + return $route; + } + + $alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'); + $prefix = config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix'); + + // if use module set module alias + if (! empty($alias)) { + $route .= $alias . '.'; + } + + if ($modal == true) { + $route .= 'modals.'; + } + + if (! empty($prefix)) { + $route .= $prefix . '.'; + } + + $route .= $config_key; + + try { + route($route, $config_parameters); + } catch (\Exception $e) { + try { + $route = Str::plural($type, 2) . '.' . $config_key; + + route($route, $config_parameters); + } catch (\Exception $e) { + $route = ''; + } + } + + return $route; + } + + public function getPermissionFromConfig($type, $config_key) + { + $permission = ''; + + // if set config trasnlation config_key + if ($permission = config('type.' . static::OBJECT_TYPE . '.' . $type . '.permission.' . $config_key)) { + return $permission; + } + + $alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'); + $group = config('type.' . static::OBJECT_TYPE . '.' . $type . '.group'); + $prefix = config('type.' . static::OBJECT_TYPE . '.' . $type . '.permission.prefix'); + + $permission = $config_key . '-'; + + // if use module set module alias + if (! empty($alias)) { + $permission .= $alias . '-'; + } + + // if controller in folder it must + if (! empty($group)) { + $permission .= $group . '-'; + } + + $permission .= $prefix; + + return $permission; + } + + public function getHideFromConfig($type, $config_key) + { + $hide = false; + + $hides = config('type.' . static::OBJECT_TYPE . '.' . $type . '.hide'); + + if (! empty($hides) && (in_array($config_key, $hides))) { + $hide = true; + } + + return $hide; + } + + public function getClassFromConfig($type, $config_key) + { + $class_key = 'type.' . $type . '.class.' . $config_key; + + return config($class_key, ''); + } + + public function getCategoryFromConfig($type) + { + $category_type = ''; + + // if set config trasnlation config_key + if ($category_type = config('type.' . static::OBJECT_TYPE . '.' . $type . '.category_type')) { + return $category_type; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $category_type = 'expense'; + break; + case 'item': + $category_type = 'item'; + break; + case 'other': + $category_type = 'other'; + break; + case 'transfer': + $category_type = 'transfer'; + break; + default: + $category_type = 'income'; + break; + } + + return $category_type; + } + + public function getScriptFromConfig($type, $config_key) + { + $script_key = config('type.' . static::OBJECT_TYPE . '.' . $type . '.script.' . $config_key, ''); + + return $script_key; + } + + protected function getTextPage($type, $textPage) + { + if (! empty($textPage)) { + return $textPage; + } + + $config_route_prefix = config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix', static::DEFAULT_PLURAL_TYPE); + + $page = str_replace('-', '_', $config_route_prefix); + + $translation = $this->getTextFromConfig($type, 'page', $page); + + if (! empty($translation)) { + return $translation; + } + + return 'general.' . $page; + } + + protected function getGroup($type, $group) + { + if (! empty($group)) { + return $group; + } + + return config('type.' . static::OBJECT_TYPE . '.' . $type . '.group', static::DEFAULT_PLURAL_TYPE); + } + + protected function getPage($type, $page) + { + if (! empty($page)) { + return $page; + } + + return Str::plural($type); + } + + protected function getPermissionCreate($type, $permissionCreate) + { + if (! empty($permissionCreate)) { + return $permissionCreate; + } + + $permissionCreate = $this->getPermissionFromConfig($type, 'create'); + + return $permissionCreate; + } + + protected function getPermissionUpdate($type, $permissionUpdate) + { + if (! empty($permissionUpdate)) { + return $permissionUpdate; + } + + $permissionUpdate = $this->getPermissionFromConfig($type, 'update'); + + return $permissionUpdate; + } + + protected function getPermissionDelete($type, $permissionDelete) + { + if (! empty($permissionDelete)) { + return $permissionDelete; + } + + $permissionDelete = $this->getPermissionFromConfig($type, 'delete'); + + return $permissionDelete; + } + + protected function getIndexRoute($type, $indexRoute) + { + if (! empty($indexRoute)) { + return $indexRoute; + } + + $route = $this->getRouteFromConfig($type, 'index'); + + if (!empty($route)) { + return $route; + } + + return static::DEFAULT_PLURAL_TYPE . '.index'; + } + + protected function getShowRoute($type, $showRoute) + { + if (! empty($showRoute)) { + return $showRoute; + } + + $route = $this->getRouteFromConfig($type, 'show', 1); + + if (!empty($route)) { + return $route; + } + + return static::DEFAULT_PLURAL_TYPE . '.show'; + } + + protected function getCreateRoute($type, $createRoute) + { + if (! empty($createRoute)) { + return $createRoute; + } + + $route = $this->getRouteFromConfig($type, 'create'); + + if (! empty($route)) { + return $route; + } + + return static::DEFAULT_PLURAL_TYPE . '.create'; + } + + protected function getEditRoute($type, $editRoute) + { + if (! empty($editRoute)) { + return $editRoute; + } + + $route = $this->getRouteFromConfig($type, 'edit', 1); + + if (! empty($route)) { + return $route; + } + + return static::DEFAULT_PLURAL_TYPE . '.edit'; + } + + protected function getDuplicateRoute($type, $duplicateRoute) + { + if (! empty($duplicateRoute)) { + return $duplicateRoute; + } + + $route = $this->getRouteFromConfig($type, 'duplicate', 1); + + if (! empty($route)) { + return $route; + } + + return static::DEFAULT_PLURAL_TYPE . '.duplicate'; + } + + protected function getDeleteRoute($type, $deleteRoute) + { + if (! empty($deleteRoute)) { + return $deleteRoute; + } + + $route = $this->getRouteFromConfig($type, 'destroy', 1); + + if (! empty($route)) { + return $route; + } + + return static::DEFAULT_PLURAL_TYPE . '.destroy'; + } + + protected function getCancelRoute($type, $cancelRoute) + { + if (! empty($cancelRoute)) { + return $cancelRoute; + } + + $route = $this->getRouteFromConfig($type, 'index'); + + if (! empty($route)) { + return $route; + } + + return static::DEFAULT_PLURAL_TYPE . '.index'; + } + + protected function getImportRoute($importRoute) + { + if (! empty($importRoute)) { + return $importRoute; + } + + $route = 'import.create'; + + return $route; + } + + protected function getImportRouteParameters($type, $importRouteParameters) + { + if (! empty($importRouteParameters)) { + return $importRouteParameters; + } + + $alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'); + $group = config('type.' . static::OBJECT_TYPE . '.' . $type . '.group'); + $prefix = config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix'); + + if (empty($group) && ! empty($alias)){ + $group = $alias; + } else if (empty($group) && empty($alias)) { + $group = 'sales'; + } + + $importRouteParameters = [ + 'group' => $group, + 'type' => $prefix, + ]; + + return $importRouteParameters; + } + + protected function getExportRoute($type, $exportRoute) + { + if (! empty($exportRoute)) { + return $exportRoute; + } + + $route = $this->getRouteFromConfig($type, 'export'); + + if (! empty($route)) { + return $route; + } + + return static::DEFAULT_PLURAL_TYPE . '.export'; + } + + protected function getSearchStringModel($type, $searchStringModel) + { + if (! empty($searchStringModel)) { + return $searchStringModel; + } + + $search_string_model = config('type.' . static::OBJECT_TYPE . '.' . $type . '.search_string_model'); + + if (! empty($search_string_model)) { + return $search_string_model; + } + + if ($group = config('type.' . static::OBJECT_TYPE . '.' . $type . '.group')) { + $group = Str::studly(Str::singular($group)) . '\\'; + } + + $prefix = Str::studly(Str::singular(config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix'))); + + if ($alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias')) { + $searchStringModel = 'Modules\\' . Str::studly($alias) .'\Models\\' . $group . $prefix; + } else { + $searchStringModel = 'App\Models\\' . $group . $prefix; + } + + return $searchStringModel; + } + + protected function getBulkActionClass($type, $bulkActionClass) + { + if (! empty($bulkActionClass)) { + return $bulkActionClass; + } + + $bulk_actions = config('type.' . static::OBJECT_TYPE . '.' . $type . '.bulk_actions'); + + if (! empty($bulk_actions)) { + return $bulk_actions; + } + + $file_name = ''; + + if ($group = config('type.' . static::OBJECT_TYPE . '.' . $type . '.group')) { + $file_name .= Str::studly($group) . '\\'; + } + + if ($prefix = config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix')) { + $file_name .= Str::studly($prefix); + } + + if ($alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias')) { + $module = module($alias); + + if (! $module instanceof Module) { + $b = new \stdClass(); + $b->actions = []; + + event(new BulkActionsAdding($b)); + + return $b->actions; + } + + $bulkActionClass = 'Modules\\' . $module->getStudlyName() . '\BulkActions\\' . $file_name; + } else { + $bulkActionClass = 'App\BulkActions\\' . $file_name; + } + + return $bulkActionClass; + } + + protected function getBulkActionRouteParameters($type, $bulkActionRouteParameters) + { + if (! empty($bulkActionRouteParameters)) { + return $bulkActionRouteParameters; + } + + $group = config('type.' . static::OBJECT_TYPE . '.' . $type . '.group'); + + if (! empty(config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'))) { + $group = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias'); + } + + $bulkActionRouteParameters = [ + 'group' => $group, + 'type' => config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix') + ]; + + return $bulkActionRouteParameters; + } + + protected function getClassBulkAction($type, $classBulkAction) + { + if (! empty($classBulkAction)) { + return $classBulkAction; + } + + $class = $this->getClassFromConfig($type, 'bulk_action'); + + if (! empty($class)) { + return $class; + } + + return 'ltr:pr-6 rtl:pl-6 hidden sm:table-cell'; + } + + protected function getImageEmptyPage($type, $imageEmptyPage) + { + if (! empty($imageEmptyPage)) { + return $imageEmptyPage; + } + + $image_empty_page = config('type.' . static::OBJECT_TYPE . '.' . $type . '.image_empty_page'); + + if (! empty($image_empty_page)) { + return $image_empty_page; + } + + $page = str_replace('-', '_', config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix', 'invoices')); + $image_path = 'public/img/empty_pages/' . $page . '.png'; + + if ($alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias')) { + $image_path = 'modules/' . Str::studly($alias) . '/Resources/assets/img/empty_pages/' . $page . '.png'; + } + + return $image_path; + } + + protected function getTextEmptyPage($type, $textEmptyPage) + { + if (! empty($textEmptyPage)) { + return $textEmptyPage; + } + + $page = str_replace('-', '_', config('type.' . static::OBJECT_TYPE . '.' . $type . '.route.prefix', 'invoices')); + + $translation = $this->getTextFromConfig($type, 'empty_page', 'empty.' . $page); + + if (! empty($translation)) { + return $translation; + } + + return 'general.empty.' . $page; + } + + protected function getTextSectionTitle($type, $key, $default_key = '') + { + $translation = $this->getTextFromConfig($type, 'section_'. $key . '_title', $key); + + if (! empty($translation)) { + return $translation; + } + + if ($default_key) { + return $default_key; + } + + return 'general.' . $key; + } + + protected function getTextSectionDescription($type, $key, $default_key = '') + { + $translation = $this->getTextFromConfig($type, 'section_'. $key . '_description', 'form_description.' . $key); + + if (! empty($translation)) { + return $translation; + } + + if ($default_key) { + return $default_key; + } + + return 'general.form_description.' . $key; + } + + protected function getUrlDocsPath($type, $urlDocsPath) + { + if (! empty($urlDocsPath)) { + return $urlDocsPath; + } + + $docs_path = config('type.' . static::OBJECT_TYPE . '.' . $type . '.docs_path'); + + if (! empty($docs_path)) { + return $docs_path; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $docsPath = 'purchases/bills'; + break; + case 'vendor': + $docsPath = 'purchases/vendors'; + break; + case 'customer': + $docsPath = 'sales/customers'; + break; + case 'transaction': + $docsPath = 'banking/transactions'; + break; + default: + $docsPath = 'sales/invoices'; + break; + } + + return 'https://akaunting.com/docs/user-manual/' . $docsPath; + } + + public function getSuggestionModule() + { + return !empty($this->suggestions) ? Arr::random($this->suggestions) : false; + } + + public function getSuggestionModules() + { + if ((! $user = user()) || $user->cannot('read-modules-home')) { + return []; + } + + if (! $path = Route::current()->uri()) { + return []; + } + + $path = str_replace('{company_id}/', '', $path); + + if (! $suggestions = $this->getSuggestions($path)) { + return []; + } + + $modules = []; + + foreach ($suggestions->modules as $s_module) { + if ($this->moduleIsEnabled($s_module->alias)) { + continue; + } + + $s_module->action_url = company_id() . '/' . $s_module->action_url; + + $modules[] = $s_module; + } + + if (empty($modules)) { + return []; + } + + return $modules; + } + + protected function getFormRoute($type, $formRoute, $model = false) + { + if (! empty($formRoute)) { + return $formRoute; + } + + $prefix = 'store'; + $parameters = []; + + if (! empty($model)) { + $prefix = 'update'; + $parameters = [$model->id]; + } + + $route = $this->getRouteFromConfig($type, $prefix, $parameters); + + return (! empty($model)) ? [$route, $model->id] : $route; + } + + protected function getFormMethod($type, $formMethod, $model = false) + { + if (! empty($formMethod)) { + return $formMethod; + } + + $method = 'POST'; + + if (! empty($model)) { + $method = 'PATCH'; + } + + return $method; + } + + protected function getAlias($type, $alias) + { + if (!empty($alias)) { + return $alias; + } + + if ($alias = config('type.' . static::OBJECT_TYPE . '.' . $type . '.alias')) { + return $alias; + } + + return 'core'; + } + + protected function getScriptFolder($type, $folder) + { + if (!empty($folder)) { + return $folder; + } + + if ($folder = config('type.' . static::OBJECT_TYPE . '.' . $type . '.script.folder')) { + return $folder; + } + + return ''; + } + + protected function getScriptFile($type, $file) + { + if (!empty($file)) { + return $file; + } + + if ($file = config('type.' . static::OBJECT_TYPE . '.' . $type . '.script.file')) { + return $file; + } + + return ''; + } +} diff --git a/app/Transformers/Auth/Permission.php b/app/Transformers/Auth/Permission.php deleted file mode 100644 index 400613c5b..000000000 --- a/app/Transformers/Auth/Permission.php +++ /dev/null @@ -1,24 +0,0 @@ - $model->id, - 'name' => $model->display_name, - 'code' => $model->name, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Auth/Role.php b/app/Transformers/Auth/Role.php deleted file mode 100644 index f6fa3c616..000000000 --- a/app/Transformers/Auth/Role.php +++ /dev/null @@ -1,38 +0,0 @@ - $model->id, - 'name' => $model->display_name, - 'code' => $model->name, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Collection - */ - public function includePermissions(Model $model) - { - return $this->collection($model->permissions, new Permission()); - } -} diff --git a/app/Transformers/Auth/User.php b/app/Transformers/Auth/User.php deleted file mode 100644 index 07807ccf6..000000000 --- a/app/Transformers/Auth/User.php +++ /dev/null @@ -1,49 +0,0 @@ - $model->id, - 'name' => $model->name, - 'email' => $model->email, - 'locale' => $model->locale, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Collection - */ - public function includeCompanies(Model $model) - { - return $this->collection($model->companies, new Company()); - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Collection - */ - public function includeRoles(Model $model) - { - return $this->collection($model->roles, new Role()); - } -} diff --git a/app/Transformers/Banking/Account.php b/app/Transformers/Banking/Account.php deleted file mode 100644 index d485a0503..000000000 --- a/app/Transformers/Banking/Account.php +++ /dev/null @@ -1,35 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'name' => $model->name, - 'number' => $model->number, - 'currency_code' => $model->currency_code, - 'opening_balance' => $model->opening_balance, - 'opening_balance_formatted' => money($model->opening_balance, $model->currency_code, true)->format(), - 'current_balance' => $model->balance, - 'current_balance_formatted' => money($model->balance, $model->currency_code, true)->format(), - 'bank_name' => $model->bank_name, - 'bank_phone' => $model->bank_phone, - 'bank_address' => $model->bank_address, - 'enabled' => $model->enabled, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Banking/Reconciliation.php b/app/Transformers/Banking/Reconciliation.php deleted file mode 100644 index 887a6d1ec..000000000 --- a/app/Transformers/Banking/Reconciliation.php +++ /dev/null @@ -1,44 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'account_id' => $model->account_id, - 'started_at' => $model->started_at->toIso8601String(), - 'ended_at' => $model->ended_at->toIso8601String(), - 'closing_balance' => $model->closing_balance, - 'closing_balance_formatted' => money($model->closing_balance, setting('default.currency'), true)->format(), - 'reconciled' => $model->reconciled, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at->toIso8601String(), - 'updated_at' => $model->updated_at->toIso8601String(), - ]; - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Item - */ - public function includeAccount(Model $model) - { - return $this->item($model->account, new Account()); - } -} diff --git a/app/Transformers/Banking/Transaction.php b/app/Transformers/Banking/Transaction.php deleted file mode 100644 index d1c33d21c..000000000 --- a/app/Transformers/Banking/Transaction.php +++ /dev/null @@ -1,86 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'type' => $model->type, - 'account_id' => $model->account_id, - 'paid_at' => $model->paid_at->toIso8601String(), - 'amount' => $model->amount, - 'amount_formatted' => money($model->amount, $model->currency_code, true)->format(), - 'currency_code' => $model->currency_code, - 'currency_rate' => $model->currency_rate, - 'document_id' => $model->document_id, - 'contact_id' => $model->contact_id, - 'description' => $model->description, - 'category_id' => $model->category_id, - 'payment_method' => $model->payment_method, - 'reference' => $model->reference, - 'attachment' => $model->attachment, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at->toIso8601String(), - 'updated_at' => $model->updated_at->toIso8601String(), - ]; - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Item - */ - public function includeAccount(Model $model) - { - return $this->item($model->account, new Account()); - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Item - */ - public function includeCategory(Model $model) - { - return $this->item($model->category, new Category()); - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Item - */ - public function includeCurrency(Model $model) - { - return $this->item($model->currency, new Currency()); - } - - /** - * @param Model $model - * @return mixed - */ - public function includeContact(Model $model) - { - if (!$model->contact) { - return $this->null(); - } - - return $this->item($model->contact, new Contact()); - } -} diff --git a/app/Transformers/Banking/Transfer.php b/app/Transformers/Banking/Transfer.php deleted file mode 100644 index d9d771008..000000000 --- a/app/Transformers/Banking/Transfer.php +++ /dev/null @@ -1,40 +0,0 @@ -expense_transaction; - $income_transaction = $model->income_transaction; - - return [ - 'id' => $model->id, - 'company_id' => $model->company_id, - 'from_account' => $expense_transaction->account->name, - 'from_account_id' => $expense_transaction->account->id, - 'to_account' => $income_transaction->account->name, - 'to_account_id' => $income_transaction->account->id, - 'amount' => $expense_transaction->amount, - 'amount_formatted' => money($expense_transaction->amount, $expense_transaction->currency_code, true)->format(), - 'currency_code' => $expense_transaction->currency_code, - 'paid_at' => $expense_transaction->paid_at ? $expense_transaction->paid_at->toIso8601String() : '', - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Common/Company.php b/app/Transformers/Common/Company.php deleted file mode 100644 index 9b9eaf0b7..000000000 --- a/app/Transformers/Common/Company.php +++ /dev/null @@ -1,30 +0,0 @@ - $model->id, - 'name' => $model->name, - 'email' => $model->email, - 'currency' => $model->currency, - 'domain' => $model->domain, - 'address' => $model->address, - 'logo' => $model->logo, - 'enabled' => $model->enabled, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Common/Contact.php b/app/Transformers/Common/Contact.php deleted file mode 100644 index 442c25deb..000000000 --- a/app/Transformers/Common/Contact.php +++ /dev/null @@ -1,35 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'user_id' => $model->user_id, - 'type' => $model->type, - 'name' => $model->name, - 'email' => $model->email, - 'tax_number' => $model->tax_number, - 'phone' => $model->phone, - 'address' => $model->address, - 'website' => $model->website, - 'currency_code' => $model->currency_code, - 'enabled' => $model->enabled, - 'reference' => $model->reference, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Common/Dashboard.php b/app/Transformers/Common/Dashboard.php deleted file mode 100644 index f015ff041..000000000 --- a/app/Transformers/Common/Dashboard.php +++ /dev/null @@ -1,49 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'name' => $model->name, - 'enabled' => $model->enabled, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } - - /** - * @param Model $model - * @return mixed - */ - public function includeWidgets(Model $model) - { - if (!$widgets = $model->widgets) { - return $this->null(); - } - - $widgets = $widgets->filter(function ($widget) { - return Widgets::canShow($widget->class); - }); - - return $this->collection($widgets, new Widget()); - } -} diff --git a/app/Transformers/Common/Item.php b/app/Transformers/Common/Item.php deleted file mode 100644 index 68846c053..000000000 --- a/app/Transformers/Common/Item.php +++ /dev/null @@ -1,66 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'name' => $model->name, - 'description' => $model->description, - 'sale_price' => $model->sale_price, - 'sale_price_formatted' => money($model->sale_price, setting('default.currency'), true)->format(), - 'purchase_price' => $model->purchase_price, - 'purchase_price_formatted' => money($model->purchase_price, setting('default.currency'), true)->format(), - 'category_id' => $model->category_id, - 'tax_ids' => $model->tax_ids, - 'picture' => $model->picture, - 'enabled' => $model->enabled, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } - - /** - * @param Model $model - * @return mixed - */ - public function includeTaxes(Model $model) - { - if (!$model->taxes) { - return $this->null(); - } - - return $this->collection($model->taxes, new ItemTax()); - } - - /** - * @param Model $model - * @return mixed - */ - public function includeCategory(Model $model) - { - if (!$model->category) { - return $this->null(); - } - - return $this->item($model->category, new Category()); - } -} diff --git a/app/Transformers/Common/ItemTax.php b/app/Transformers/Common/ItemTax.php deleted file mode 100644 index 0275b8e9e..000000000 --- a/app/Transformers/Common/ItemTax.php +++ /dev/null @@ -1,44 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'item_id' => $model->item_id, - 'tax_id' => $model->tax_id, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } - - /** - * @param Model $model - * @return mixed - */ - public function includeTax(Model $model) - { - if (!$model->tax) { - return $this->null(); - } - - return $this->item($model->tax, new Tax()); - } -} diff --git a/app/Transformers/Common/Report.php b/app/Transformers/Common/Report.php deleted file mode 100644 index 4ac4b20dd..000000000 --- a/app/Transformers/Common/Report.php +++ /dev/null @@ -1,51 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'class' => $model->class, - 'name' => $model->name, - 'description' => $model->description, - 'settings' => $model->settings, - 'data' => $this->getReportData($model), - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } - - protected function getReportData($model) - { - if (!Utility::canShow($model->class)) { - return []; - } - - $report = Utility::getClassInstance($model); - - if (empty($report)) { - return []; - } - - $unset_attributes = ['model', 'views', 'loaded', 'column_name_width', 'column_value_width']; - - foreach ($unset_attributes as $attribute) { - unset($report->$attribute); - } - - return $report; - } -} diff --git a/app/Transformers/Common/Widget.php b/app/Transformers/Common/Widget.php deleted file mode 100644 index 0b0895786..000000000 --- a/app/Transformers/Common/Widget.php +++ /dev/null @@ -1,35 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'dashboard_id' => $model->dashboard_id, - 'class' => $model->class, - 'name' => $model->name, - 'sort' => $model->sort, - 'settings' => $model->settings, - 'data' => show_widget($model), - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Document/Document.php b/app/Transformers/Document/Document.php deleted file mode 100644 index 8b57ac83b..000000000 --- a/app/Transformers/Document/Document.php +++ /dev/null @@ -1,113 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'type' => $model->type, - 'document_number' => $model->document_number, - 'order_number' => $model->order_number, - 'status' => $model->status, - 'issued_at' => $model->issued_at ? $model->issued_at->toIso8601String() : '', - 'due_at' => $model->due_at ? $model->due_at->toIso8601String() : '', - 'amount' => $model->amount, - 'amount_formatted' => money($model->amount, $model->currency_code, true)->format(), - 'currency_code' => $model->currency_code, - 'currency_rate' => $model->currency_rate, - 'contact_id' => $model->contact_id, - 'contact_name' => $model->contact_name, - 'contact_email' => $model->contact_email, - 'contact_tax_number' => $model->contact_tax_number, - 'contact_phone' => $model->contact_phone, - 'contact_address' => $model->contact_address, - 'notes' => $model->notes, - 'attachment' => $model->attachment, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Item - */ - public function includeContact(Model $model) - { - return $this->item($model->contact, new Contact()); - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Item - */ - public function includeCurrency(Model $model) - { - return $this->item($model->currency, new Currency()); - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Collection - */ - public function includeHistories(Model $model) - { - return $this->collection($model->histories, new DocumentHistory()); - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Collection - */ - public function includeItems(Model $model) - { - return $this->collection($model->items, new DocumentItem()); - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Collection - */ - public function includeItemTaxes(Model $model) - { - return $this->collection($model->item_taxes, new DocumentItemTax()); - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Collection - */ - public function includeTotals(Model $model) - { - return $this->collection($model->totals, new DocumentTotal()); - } - - /** - * @param Model $model - * @return \League\Fractal\Resource\Collection - */ - public function includeTransactions(Model $model) - { - return $this->collection($model->transactions, new Transaction()); - } -} diff --git a/app/Transformers/Document/DocumentHistory.php b/app/Transformers/Document/DocumentHistory.php deleted file mode 100644 index dd486f7e5..000000000 --- a/app/Transformers/Document/DocumentHistory.php +++ /dev/null @@ -1,28 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'type' => $model->type, - 'document_id' => $model->document_id, - 'status' => $model->status, - 'notify' => $model->notify, - 'description' => $model->description, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Document/DocumentItem.php b/app/Transformers/Document/DocumentItem.php deleted file mode 100644 index 60beb328d..000000000 --- a/app/Transformers/Document/DocumentItem.php +++ /dev/null @@ -1,33 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'type' => $model->type, - 'document_id' => $model->document_id, - 'item_id' => $model->item_id, - 'name' => $model->name, - 'price' => $model->price, - 'price_formatted' => money($model->price, $model->document->currency_code, true)->format(), - 'total' => $model->total, - 'total_formatted' => money($model->total, $model->document->currency_code, true)->format(), - 'tax' => $model->tax, - 'tax_id' => $model->tax_id, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Document/DocumentItemTax.php b/app/Transformers/Document/DocumentItemTax.php deleted file mode 100644 index 9b8c41e68..000000000 --- a/app/Transformers/Document/DocumentItemTax.php +++ /dev/null @@ -1,49 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'type' => $model->type, - 'document_id' => $model->document_id, - 'document_item_id' => $model->document_item_id, - 'tax_id' => $model->tax_id, - 'name' => $model->name, - 'amount' => $model->amount, - 'amount_formatted' => money($model->amount, $model->document->currency_code, true)->format(), - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } - - /** - * @param Model $model - * @return mixed - */ - public function includeTax(Model $model) - { - if (!$model->tax) { - return $this->null(); - } - - return $this->item($model->tax, new Tax()); - } -} diff --git a/app/Transformers/Document/DocumentTotal.php b/app/Transformers/Document/DocumentTotal.php deleted file mode 100644 index 1c370e20c..000000000 --- a/app/Transformers/Document/DocumentTotal.php +++ /dev/null @@ -1,31 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'type' => $model->type, - 'document_id' => $model->document_id, - 'code' => $model->code, - 'name' => $model->name, - 'amount' => $model->amount, - 'amount_formatted' => money($model->amount, $model->document->currency_code, true)->format(), - 'sort_order' => $model->sort_order, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Setting/Category.php b/app/Transformers/Setting/Category.php deleted file mode 100644 index e53b09a72..000000000 --- a/app/Transformers/Setting/Category.php +++ /dev/null @@ -1,28 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'name' => $model->name, - 'type' => $model->type, - 'color' => $model->color, - 'enabled' => $model->enabled, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Setting/Currency.php b/app/Transformers/Setting/Currency.php deleted file mode 100644 index 2e417efc3..000000000 --- a/app/Transformers/Setting/Currency.php +++ /dev/null @@ -1,33 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'name' => $model->name, - 'code' => $model->code, - 'rate' => $model->rate, - 'enabled' => $model->enabled, - 'precision' => $model->precision, - 'symbol' => $model->symbol, - 'symbol_first' => $model->symbol_first, - 'decimal_mark' => $model->decimal_mark, - 'thousands_separator' => $model->thousands_separator, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Transformers/Setting/Setting.php b/app/Transformers/Setting/Setting.php deleted file mode 100644 index 733b0610e..000000000 --- a/app/Transformers/Setting/Setting.php +++ /dev/null @@ -1,23 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'key' => $model->key, - 'value' => $model->value, - ]; - } -} diff --git a/app/Transformers/Setting/Tax.php b/app/Transformers/Setting/Tax.php deleted file mode 100644 index eee44b408..000000000 --- a/app/Transformers/Setting/Tax.php +++ /dev/null @@ -1,27 +0,0 @@ - $model->id, - 'company_id' => $model->company_id, - 'name' => $model->name, - 'rate' => $model->rate, - 'enabled' => $model->enabled, - 'created_by' => $model->created_by, - 'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '', - 'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '', - ]; - } -} diff --git a/app/Utilities/Chartjs.php b/app/Utilities/Chartjs.php deleted file mode 100644 index 8d0cac43f..000000000 --- a/app/Utilities/Chartjs.php +++ /dev/null @@ -1,18 +0,0 @@ -getMessage(); } diff --git a/app/Utilities/Installer.php b/app/Utilities/Installer.php index a2a2f756e..27f5065c4 100644 --- a/app/Utilities/Installer.php +++ b/app/Utilities/Installer.php @@ -72,6 +72,10 @@ class Installer $requirements[] = trans('install.requirements.extension', ['extension' => 'FileInfo']); } + if (!extension_loaded('intl')) { + $requirements[] = trans('install.requirements.extension', ['extension' => 'Intl']); + } + if (!extension_loaded('gd')) { $requirements[] = trans('install.requirements.extension', ['extension' => 'GD']); } diff --git a/app/Utilities/Overrider.php b/app/Utilities/Overrider.php index 4ff494b00..1d8147d1a 100644 --- a/app/Utilities/Overrider.php +++ b/app/Utilities/Overrider.php @@ -52,14 +52,14 @@ class Overrider } // Locale - if (session('locale') == '') { - $locale = (user()->locale) ?? setting('default.locale'); + if (! session('locale')) { + $locale = user()->locale ?? setting('default.locale'); app()->setLocale($locale); } // Set app url dynamically if empty - if (!config('app.url')) { + if (! config('app.url')) { config(['app.url' => url('/')]); } } diff --git a/app/Utilities/Recurring.php b/app/Utilities/Recurring.php index efeeadc64..2ccfda129 100644 --- a/app/Utilities/Recurring.php +++ b/app/Utilities/Recurring.php @@ -4,7 +4,7 @@ namespace App\Utilities; use App\Models\Document\Document; use App\Traits\DateTime; -use Date; +use App\Utilities\Date; class Recurring { @@ -16,11 +16,11 @@ class Recurring foreach ($items as $key => $item) { // @todo cache recurrings - if (!$item->recurring || !empty($item->parent_id)) { + if (! $item->recurring || !empty($item->parent_id)) { continue; } - foreach ($item->recurring->getRecurringSchedule(false) as $schedule) { + foreach ($item->recurring->getRecurringSchedule() as $schedule) { $issued = Date::parse($item->$issued_date_field); $start = $schedule->getStart(); $start_date = Date::parse($start->format('Y-m-d')); diff --git a/app/Utilities/Reports.php b/app/Utilities/Reports.php index 62bb8ba82..225956ee5 100644 --- a/app/Utilities/Reports.php +++ b/app/Utilities/Reports.php @@ -31,7 +31,7 @@ class Reports }); foreach ($list as $class) { - if (!class_exists($class) || ($check_permission && !static::canRead($class))) { + if (! class_exists($class) || ($check_permission && static::cannotRead($class))) { continue; } @@ -47,7 +47,7 @@ class Reports $model = Report::where('class', $model)->first(); } - if ((!$model instanceof Report) || !class_exists($model->class)) { + if ((! $model instanceof Report) || ! class_exists($model->class)) { return false; } @@ -61,11 +61,21 @@ class Reports return (static::isModuleEnabled($class) && static::canRead($class)); } + public static function cannotShow($class) + { + return ! static::canShow($class); + } + public static function canRead($class) { return user()->can(static::getPermission($class)); } + public static function cannotRead($class) + { + return ! static::canRead($class); + } + public static function getPermission($class) { $arr = explode('\\', $class); @@ -93,7 +103,7 @@ class Reports public static function isModuleEnabled($class) { - if (!$alias = static::getModuleAlias($class)) { + if (! $alias = static::getModuleAlias($class)) { return true; } @@ -104,6 +114,11 @@ class Reports return false; } + public static function isModuleDisabled($class) + { + return ! static::isModuleEnabled($class); + } + public static function isModule($class) { $arr = is_array($class) ? $class : explode('\\', $class); @@ -111,9 +126,14 @@ class Reports return (strtolower($arr[0]) == 'modules'); } + public static function isNotModule($class) + { + return ! static::isModule($class); + } + public static function getModuleAlias($class) { - if (!static::isModule($class)) { + if (static::isNotModule($class)) { return false; } diff --git a/app/Utilities/Str.php b/app/Utilities/Str.php new file mode 100644 index 000000000..44d4c0bc0 --- /dev/null +++ b/app/Utilities/Str.php @@ -0,0 +1,57 @@ +count() === 1) { + $initial = static::getInitialFromOneWord($value, $words, $length); + } else { + $initial = static::getInitialFromMultipleWords($words, $length); + } + + $initial = strtoupper($initial); + + if (language()->direction() == 'rtl') { + $initial = collect(mb_str_split($initial))->reverse()->implode(''); + } + + return $initial; + } + + public static function getInitialFromOneWord($value, $words, $length) + { + $initial = (string) $words->first(); + + if (strlen($value) >= $length) { + $initial = IStr::substr($value, 0, $length); + } + + return $initial; + } + + public static function getInitialFromMultipleWords($words, $length) + { + // otherwise, use initial char from each word + $initials = new Collection(); + + $words->each(function ($word) use ($initials) { + $initials->push(IStr::substr($word, 0, 1)); + }); + + return static::selectInitialFromMultipleInitials($initials, $length); + } + + public static function selectInitialFromMultipleInitials($initials, $length) + { + return $initials->slice(0, $length)->implode(''); + } +} diff --git a/app/Utilities/Widgets.php b/app/Utilities/Widgets.php index 4cc5fcfb9..3509c236b 100644 --- a/app/Utilities/Widgets.php +++ b/app/Utilities/Widgets.php @@ -8,23 +8,22 @@ use Illuminate\Support\Str; class Widgets { + public static $core_widgets = [ + 'App\Widgets\Receivables', + 'App\Widgets\Payables', + 'App\Widgets\CashFlow', + 'App\Widgets\ProfitLoss', + 'App\Widgets\ExpensesByCategory', + 'App\Widgets\AccountBalance', + 'App\Widgets\Currencies', + ]; + public static function getClasses($alias = 'core', $check_permission = true) { $classes = $list = []; if (in_array($alias, ['core', 'all'])) { - $list = [ - 'App\Widgets\TotalIncome', - 'App\Widgets\TotalExpenses', - 'App\Widgets\TotalProfit', - 'App\Widgets\CashFlow', - 'App\Widgets\IncomeByCategory', - 'App\Widgets\ExpensesByCategory', - 'App\Widgets\AccountBalance', - 'App\Widgets\LatestIncome', - 'App\Widgets\LatestExpenses', - 'App\Widgets\Currencies', - ]; + $list = static::$core_widgets; } Module::enabled()->each(function ($module) use (&$list, $alias) { @@ -57,7 +56,7 @@ class Widgets if (is_string($model)) { $class_name = $model; - if (!class_exists($class_name)) { + if (! class_exists($class_name)) { return false; } @@ -76,7 +75,7 @@ class Widgets $model->settings = $class->getDefaultSettings(); } } else { - if ((!$model instanceof Widget) || !class_exists($model->class)) { + if ((! $model instanceof Widget) || ! class_exists($model->class)) { return false; } @@ -100,11 +99,21 @@ class Widgets return (static::isModuleEnabled($class) && static::canRead($class)); } + public static function cannotShow($class) + { + return ! static::canShow($class); + } + public static function canRead($class) { return user()->can(static::getPermission($class)); } + public static function cannotRead($class) + { + return ! static::canRead($class); + } + public static function getPermission($class) { $arr = explode('\\', $class); @@ -132,7 +141,7 @@ class Widgets public static function isModuleEnabled($class) { - if (!$alias = static::getModuleAlias($class)) { + if (! $alias = static::getModuleAlias($class)) { return true; } @@ -143,6 +152,11 @@ class Widgets return false; } + public static function isModuleDisabled($class) + { + return ! static::isModuleEnabled($class); + } + public static function isModule($class) { $arr = is_array($class) ? $class : explode('\\', $class); @@ -150,9 +164,14 @@ class Widgets return (strtolower($arr[0]) == 'modules'); } + public static function isNotModule($class) + { + return ! static::isModule($class); + } + public static function getModuleAlias($class) { - if (!static::isModule($class)) { + if (static::isNotModule($class)) { return false; } @@ -160,4 +179,25 @@ class Widgets return Str::kebab($arr[1]); } + + public static function getCoreWidgets() + { + return static::$core_widgets; + } + + public static function setCoreWidgets($widgets) + { + static::$core_widgets = $widgets; + } + + public static function optimizeCoreWidgets() + { + $core_widgets = collect(static::getCoreWidgets()); + + $core_widgets->pop(); + + $core_widgets->push('App\Widgets\BankFeeds'); + + static::setCoreWidgets($core_widgets->all()); + } } diff --git a/app/Utilities/helpers.php b/app/Utilities/helpers.php index 3133a3e5b..a16ed0ad1 100644 --- a/app/Utilities/helpers.php +++ b/app/Utilities/helpers.php @@ -14,14 +14,7 @@ if (!function_exists('user')) { */ function user() { - // Get user from api/web - if (request()->isApi()) { - $user = app('Dingo\Api\Auth\Auth')->user(); - } else { - $user = auth()->user(); - } - - return $user; + return auth()->user(); } } @@ -33,7 +26,7 @@ if (!function_exists('user_id')) { */ function user_id() { - return optional(user())->id; + return user()?->id; } } @@ -113,7 +106,7 @@ if (!function_exists('company_id')) { */ function company_id() { - return optional(company())->id; + return company()?->id; } } @@ -158,6 +151,26 @@ if (!function_exists('cache_prefix')) { } } +if (!function_exists('array_values_recursive')) { + /** + * Get array values recursively. + */ + function array_values_recursive(array $array): array + { + $flat = []; + + foreach($array as $value) { + if (is_array($value)) { + $flat = array_merge($flat, array_values_recursive($value)); + } else { + $flat[] = $value; + } + } + + return $flat; + } +} + if (!function_exists('running_in_queue')) { /** * Detect if application is running in queue. @@ -169,3 +182,29 @@ if (!function_exists('running_in_queue')) { return defined('APP_RUNNING_IN_QUEUE') ?? false; } } + +if (!function_exists('simple_icons')) { + /** + * Get the simple icon content + * + * @return string + */ + function simple_icons(string $name): string + { + $path = base_path('vendor/simple-icons/simple-icons/icons/' . $name . '.svg'); + + return file_get_contents($path); + } +} + +if (!function_exists('default_currency')) { + /** + * Get the default currency code + * + * @return string + */ + function default_currency(): string + { + return setting('default.currency'); + } +} diff --git a/app/View/Components/Button.php b/app/View/Components/Button.php new file mode 100644 index 000000000..6e5f083b9 --- /dev/null +++ b/app/View/Components/Button.php @@ -0,0 +1,69 @@ +type = !empty($type) ? $type : 'button'; + $this->override = $this->getOverride($override); + + $this->kind = $kind; + $this->class = $this->getClass($class); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.button'); + } + + protected function getOverride($override) + { + return explode(',', $override); + } + + protected function getClass($class) + { + $default = 'px-3 py-1.5 mb-3 sm:mb-0 rounded-xl text-sm font-medium leading-6'; + + switch ($this->kind) { + case 'primary': + $default .= ' bg-green hover:bg-green-700 text-white disabled:bg-green-100'; + break; + case 'secondary': + $default .= ' bg-purple hover:bg-purple-700 text-white disabled:bg-purple-100'; + break; + default: + $default .= ' bg-gray-100 hover:bg-gray-200 disabled:bg-gray-50'; + } + + if (in_array('class', $this->override)) { + return $class; + } + + return $default; + } +} diff --git a/app/View/Components/Contacts/Form/Address.php b/app/View/Components/Contacts/Form/Address.php new file mode 100644 index 000000000..3507926cc --- /dev/null +++ b/app/View/Components/Contacts/Form/Address.php @@ -0,0 +1,18 @@ +type = $type; + $this->contact = $contact; + $this->currencies = $this->getCurrencies($currencies); + $this->currency_code = ($contact) ? $contact->currency_code : setting('default.currency'); + + $this->alias = $this->getAlias($type, $alias); + $this->folder = $this->getScriptFolder($type, $folder); + $this->file = $this->getScriptFile($type, $file); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.contacts.script'); + } + + protected function getCurrencies($currencies) + { + if (!empty($currencies)) { + return $currencies; + } + + return Currency::enabled()->orderBy('name')->get()->makeHidden(['id', 'company_id', 'created_at', 'updated_at', 'deleted_at']); + } +} diff --git a/app/View/Components/Contacts/Show/Buttons.php b/app/View/Components/Contacts/Show/Buttons.php new file mode 100644 index 000000000..eb9c87889 --- /dev/null +++ b/app/View/Components/Contacts/Show/Buttons.php @@ -0,0 +1,18 @@ + 0, + 'open' => 0, + 'overdue' => 0, + ]; + + $this->counts = []; + + // Handle documents + $this->documents = $this->contact->documents()->with('transactions')->isNotRecurring()->get(); + + $this->counts['documents'] = $this->documents->count(); + + $today = Date::today()->toDateString(); + + foreach ($this->documents as $item) { + // Already in transactions + if ($item->status == 'paid' || $item->status == 'cancelled') { + continue; + } + + $transactions = 0; + + foreach ($item->transactions as $transaction) { + $transactions += $transaction->getAmountConvertedToDefault(); + } + + // Check if it's open or overdue invoice + if ($item->due_at > $today) { + $totals['open'] += $item->getAmountConvertedToDefault() - $transactions; + } else { + $totals['overdue'] += $item->getAmountConvertedToDefault() - $transactions; + } + } + + // Handle payments + $this->transactions = $this->contact->transactions()->with('account', 'category')->isNotRecurring()->get(); + + $this->counts['transactions'] = $this->transactions->count(); + + // Prepare data + $this->transactions->each(function ($item) use (&$totals) { + $totals['paid'] += $item->getAmountConvertedToDefault(); + }); + + $this->totals = $totals; + + $limit = (int) request('limit', setting('default.list_limit', '25')); + $this->transactions = $this->paginate($this->transactions->sortByDesc('paid_at'), $limit); + $this->documents = $this->paginate($this->documents->sortByDesc('issued_at'), $limit); + + return view('components.contacts.show.content'); + } + + /** + * Generate a pagination collection. + * + * @param array|Collection $items + * @param int $perPage + * @param int $page + * @param array $options + * + * @return LengthAwarePaginator + */ + public function paginate($items, $perPage = 15, $page = null, $options = []) + { + $perPage = $perPage ?: (int) request('limit', setting('default.list_limit', '25')); + + $page = $page ?: (Paginator::resolveCurrentPage() ?: 1); + + $items = $items instanceof Collection ? $items : Collection::make($items); + + return new LengthAwarePaginator($items->forPage($page, $perPage), $items->count(), $perPage, $page, $options); + } +} diff --git a/app/View/Components/Contacts/Show/MoreButtons.php b/app/View/Components/Contacts/Show/MoreButtons.php new file mode 100644 index 000000000..c5db328db --- /dev/null +++ b/app/View/Components/Contacts/Show/MoreButtons.php @@ -0,0 +1,18 @@ +rawDate = $date; + $this->format = $this->getFormat($format); + $this->function = $function; + + $this->date = $this->getFormatDate($date); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.date'); + } + + protected function getFormat($format) + { + if (! empty($format)) { + return $format; + } + + $date_time = new class() { + use DateTime; + }; + + return $date_time->getCompanyDateFormat(); + } + + protected function getFormatDate($date) + { + if (! empty($this->function)) { + $date = UDate::parse($date)->{$this->function}(); + + return Str::ucfirst($date); + } + + return UDate::parse($date)->format($this->format); + } +} diff --git a/app/View/Components/DeleteButton.php b/app/View/Components/DeleteButton.php new file mode 100644 index 000000000..41634d989 --- /dev/null +++ b/app/View/Components/DeleteButton.php @@ -0,0 +1,269 @@ +label = $this->getLabel($label); + + $this->model = $model; + $this->modelId = $modelId; + $this->modelName = $modelName; + $this->modelTable = $model->getTable(); + + $this->text = $text; + $this->type = $type; + + $this->action = $this->getAction($action, $route, $url); + $this->route = $route; + $this->url = $url; + + $this->title = $this->getTitle($title); + $this->message = $this->getMessage($message); + + $this->cancelText = $this->getCancelText($cancelText); + $this->deleteText = $this->getDeleteText($deleteText); + + $this->id = $this->getId(); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.delete-button'); + } + + protected function getId() + { + if (! empty($this->model)) { + return $this->model->{$this->modelId}; + } + + if (! empty($this->route) && is_array($this->route)) { + return $this->route[1]; + } + + return mt_rand(); + } + + protected function getLabel($label) + { + if (! empty($label)) { + return $label; + } + + return trans('general.delete'); + } + + protected function getAction($action, $route, $url) + { + if (! empty($action)) { + return $action; + } + + if (! empty($route)) { + return $this->getRouteAction($route); + } + + if (! empty($url)) { + return $this->getUrlAction($url); + } + + return ''; + } + + /** + * Get the action for a "url" option. + * + * @param array|string $options + * + * @return string + */ + protected function getUrlAction($options) + { + if (is_array($options)) { + return url($options[0], array_slice($options, 1)); + } + + if (! empty($this->model)) { + return url($options, $this->model->{$this->modelId}); + } + + return url($options); + } + + /** + * Get the action for a "route" option. + * + * @param array|string $options + * + * @return string + */ + protected function getRouteAction($options) + { + if (is_array($options)) { + $parameters = array_slice($options, 1); + + if (array_keys($options) === [0, 1]) { + $parameters = head($parameters); + } + + return route($options[0], $parameters); + } + + if (! empty($this->model)) { + return route($options, $this->model->{$this->modelId}); + } + + return route($options); + } + + protected function getTitle($title) + { + if (! empty($title)) { + return $title; + } + + $type = ''; + + if (! empty($this->model)) { + $type = $this->getModelTitle(); + } + + return ! empty($type) ? trans('general.title.delete', ['type' => $type]) : trans('general.delete'); + } + + protected function getMessage($cancelText) + { + if (!empty($cancelText)) { + return $cancelText; + } + + $name = ''; + $type = ''; + + if (! empty($this->model)) { + $page = ''; + + if (! empty($this->route)) { + $page = explode('.', $this->route)[0]; + } elseif (! empty($this->url)) { + $page = explode('/', $this->url)[1]; + } + + $text = $this->text ? $this->text : $page; + $name = addslashes($this->model->{$this->modelName}); + + $type = mb_strtolower($this->getModelTitle()); + + $message = trans('general.delete_confirm', ['name' => '' . $name . '', 'type' => $type]); + + return $message; + } + + return trans('general.delete_confirm', ['name' => '' . $name . '', 'type' => $type]); + } + + protected function getModelTitle() + { + if (! empty($this->text)) { + return $this->text; + } + + $group = 'core'; + $page = ''; + + if (! empty($this->route)) { + $paths = explode('.', $this->route); + + $page = $paths[0]; + } elseif (! empty($this->url)) { + $paths = explode('/', $this->url); + + $page = $paths[1]; + } + + $title = trans_choice('general.' . $page, 1); + + if (module($page) != null) { + $group = $page; + $page = (! empty($this->route)) ? $paths[1] : $paths[2]; + + $title = trans_choice($group . '::general.' . $page, 1); + } + + return $title; + } + + protected function getCancelText($cancelText) + { + if (!empty($cancelText)) { + return $cancelText; + } + + return trans('general.cancel'); + } + + protected function getDeleteText($deleteText) + { + if (!empty($deleteText)) { + return $deleteText; + } + + return trans('general.delete'); + } +} diff --git a/app/View/Components/DeleteLink.php b/app/View/Components/DeleteLink.php new file mode 100644 index 000000000..6989deeb4 --- /dev/null +++ b/app/View/Components/DeleteLink.php @@ -0,0 +1,296 @@ +label = $this->getLabel($label); + + $this->model = $model; + $this->modelId = $modelId; + $this->modelName = $modelName; + $this->modelTable = $model->getTable(); + + $this->text = $text; + $this->type = $type; + + $this->action = $this->getAction($action, $route, $url); + $this->route = $route; + $this->url = $url; + + $this->title = $this->getTitle($title); + $this->message = $this->getMessage($message); + + $this->cancelText = $this->getCancelText($cancelText); + $this->deleteText = $this->getDeleteText($deleteText); + + $this->id = $this->getId(); + + $this->override = $override; + + $this->class = $this->getClass($class); + $this->textClass = ! empty($textClass) ? $textClass : 'w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100'; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.delete-link'); + } + + protected function getId() + { + if (! empty($this->model)) { + return $this->model->{$this->modelId}; + } + + if (! empty($this->route) && is_array($this->route)) { + return $this->route[1]; + } + + return mt_rand(); + } + + protected function getLabel($label) + { + if (! empty($label)) { + return $label; + } + + return trans('general.delete'); + } + + protected function getAction($action, $route, $url) + { + if (! empty($action)) { + return $action; + } + + if (! empty($route)) { + return $this->getRouteAction($route); + } + + if (! empty($url)) { + return $this->getUrlAction($url); + } + + return ''; + } + + /** + * Get the action for a "url" option. + * + * @param array|string $options + * + * @return string + */ + protected function getUrlAction($options) + { + if (is_array($options)) { + return url($options[0], array_slice($options, 1)); + } + + if (! empty($this->model)) { + return url($options, $this->model->{$this->modelId}); + } + + return url($options); + } + + /** + * Get the action for a "route" option. + * + * @param array|string $options + * + * @return string + */ + protected function getRouteAction($options) + { + if (is_array($options)) { + $parameters = array_slice($options, 1); + + if (array_keys($options) === [0, 1]) { + $parameters = head($parameters); + } + + return route($options[0], $parameters); + } + + if (! empty($this->model)) { + return route($options, $this->model->{$this->modelId}); + } + + return route($options); + } + + protected function getTitle($title) + { + if (! empty($title)) { + return $title; + } + + $type = ''; + + if (! empty($this->model)) { + $type = $this->getModelTitle(); + } + + return ! empty($type) ? trans('general.title.delete', ['type' => $type]) : trans('general.delete'); + } + + protected function getMessage($cancelText) + { + if (!empty($cancelText)) { + return $cancelText; + } + + $name = ''; + $type = ''; + + if (! empty($this->model)) { + $page = ''; + + if (! empty($this->route)) { + $page = explode('.', $this->route)[0]; + } elseif (! empty($this->url)) { + $page = explode('/', $this->url)[1]; + } + + $text = $this->text ? $this->text : $page; + $name = addslashes($this->model->{$this->modelName}); + + $type = mb_strtolower($this->getModelTitle()); + + $message = trans('general.delete_confirm', ['name' => '' . $name . '', 'type' => $type]); + + return $message; + } + + return trans('general.delete_confirm', ['name' => '' . $name . '', 'type' => $type]); + } + + protected function getModelTitle() + { + if (! empty($this->text)) { + return $this->text; + } + + $group = 'core'; + $page = ''; + + if (! empty($this->route)) { + $paths = explode('.', $this->route); + + $page = $paths[0]; + } elseif (! empty($this->url)) { + $paths = explode('/', $this->url); + + $page = $paths[1]; + } + + $title = trans_choice('general.' . $page, 1); + + if (module($page) != null) { + $group = $page; + $page = (! empty($this->route)) ? $paths[1] : $paths[2]; + + $title = trans_choice($group . '::general.' . $page, 1); + } + + return $title; + } + + protected function getCancelText($cancelText) + { + if (!empty($cancelText)) { + return $cancelText; + } + + return trans('general.cancel'); + } + + protected function getDeleteText($deleteText) + { + if (!empty($deleteText)) { + return $deleteText; + } + + return trans('general.delete'); + } + + protected function getClass($class) + { + $default_class = 'w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap'; + + $explode = explode(',', $this->override); + + if (count($explode) && in_array('class', $explode)) { + $default_class = $class; + } else { + $default_class .= ' ' . $class; + } + + return $default_class; + } +} diff --git a/app/View/Components/Documents/Form/Advanced.php b/app/View/Components/Documents/Form/Advanced.php index b88b0eee2..86c119fd5 100644 --- a/app/View/Components/Documents/Form/Advanced.php +++ b/app/View/Components/Documents/Form/Advanced.php @@ -2,8 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; -use App\Models\Setting\Category; +use App\Abstracts\View\Components\Documents\Form as Component; class Advanced extends Component { @@ -14,39 +13,6 @@ class Advanced extends Component */ public function render() { - $category_type = $this->categoryType; - - if ($category_type) { - $categories = Category::$category_type()->enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - } else { - $categories = Category::enabled()->orderBy('name')->take(setting('default.select_limit'))->pluck('name', 'id'); - } - - if (!empty($this->document) && ($this->document->category && !$categories->has($this->document->category_id))) { - $categories->put($this->document->category->id, $this->document->category->name); - } - - $recurring_class = 'col-sm-6 col-md-6 col-lg-6 col-xl-6'; - $more_class = 'col-sm-6 col-md-6 col-lg-6 col-xl-6'; - $more_form_class = 'col-md-12'; - - if ($this->hideRecurring && (!$this->hideCategory || !$this->hideAttachment)) { - $more_class = 'col-sm-12 col-md-12 col-lg-12 col-xl-12'; - $more_form_class = 'col-md-6'; - } else if ($this->hideRecurring && ($this->hideCategory && $this->hideAttachment)) { - $recurring_class = 'col-sm-12 col-md-12 col-lg-12 col-xl-12'; - } - - $file_type_mimes = explode(',', config('filesystems.mimes')); - - $file_types = []; - - foreach ($file_type_mimes as $mime) { - $file_types[] = '.' . $mime; - } - - $file_types = implode(',', $file_types); - - return view('components.documents.form.advanced', compact('categories', 'category_type', 'recurring_class', 'more_class', 'more_form_class', 'file_types')); + return view('components.documents.form.advanced'); } } diff --git a/app/View/Components/Documents/Form/Buttons.php b/app/View/Components/Documents/Form/Buttons.php index e523ca6aa..d222144d8 100644 --- a/app/View/Components/Documents/Form/Buttons.php +++ b/app/View/Components/Documents/Form/Buttons.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; class Buttons extends Component { diff --git a/app/View/Components/Documents/Form/Company.php b/app/View/Components/Documents/Form/Company.php index 069807d2f..5c48de171 100644 --- a/app/View/Components/Documents/Form/Company.php +++ b/app/View/Components/Documents/Form/Company.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; use App\Models\Common\Company as Model; class Company extends Component @@ -16,7 +16,7 @@ class Company extends Component { $company = Model::find(company_id()); - $inputNameType = config('type.' . $this->type . '.route.parameter'); + $inputNameType = config('type.document.' . $this->type . '.route.parameter'); return view('components.documents.form.company', compact('company', 'inputNameType')); } diff --git a/app/View/Components/Documents/Form/Contact.php b/app/View/Components/Documents/Form/Contact.php new file mode 100644 index 000000000..cffaeecbc --- /dev/null +++ b/app/View/Components/Documents/Form/Contact.php @@ -0,0 +1,230 @@ +type = $type; + $this->contact = $contact; + $this->contacts = $contacts; + $this->searchRoute = $searchRoute; + $this->createRoute = $createRoute; + $this->error = ($error) ?: "form.errors.get('contact_id')" ; + + $this->textAddContact = $this->getTextAddContact($type, $textAddContact); + $this->textCreateNewContact = $this->getTextCreateNewContact($type, $textCreateNewContact); + $this->textEditContact = $this->getTextEditContact($type, $textEditContact); + $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); + $this->textChooseDifferentContact = $this->getTextChooseDifferentContact($type, $textChooseDifferentContact); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + if (empty($this->contacts)) { + $this->contacts = Model::{$this->type}()->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); + + if (!empty($this->contact) && (!$this->contacts->contains('id', $contact->id))) { + $this->contacts->push($this->contact); + } + } + + if (empty($this->searchRoute)) { + switch ($this->type) { + case 'customer': + $this->searchRoute = route('customers.index'); + break; + case 'vendor': + $this->searchRoute = route('vendors.index'); + break; + } + } + + if (empty($this->createRoute)) { + switch ($this->type) { + case 'customer': + $this->createRoute = route('modals.customers.create'); + break; + case 'vendor': + $this->createRoute = route('modals.vendors.create'); + break; + } + } + + #todo 3rd part apps + $this->placeholder = trans('general.placeholder.contact_search', ['type' => trans_choice('general.' . Str::plural($this->type, 2), 1)]); + + return view('components.documents.form.contact'); + } + + protected function getTextAddContact($type, $textAddContact) + { + if (!empty($textAddContact)) { + return $textAddContact; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $textAddContact = [ + 'general.form.add', + 'general.vendors' + ]; + break; + default: + $textAddContact = [ + 'general.form.add', + 'general.customers' + ]; + break; + } + + return $textAddContact; + } + + protected function getTextCreateNewContact($type, $textCreateNewContact) + { + if (!empty($textCreateNewContact)) { + return $textCreateNewContact; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $textCreateNewContact = [ + 'general.form.add_new', + 'general.vendors' + ]; + break; + default: + $textCreateNewContact = [ + 'general.form.add_new', + 'general.customers' + ]; + break; + } + + return $textCreateNewContact; + } + + protected function getTextEditContact($type, $textEditContact) + { + if (!empty($textEditContact)) { + return $textEditContact; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $textEditContact = [ + 'general.form.contact_edit', + 'general.vendors' + ]; + break; + default: + $textEditContact = [ + 'general.form.contact_edit', + 'general.customers' + ]; + break; + } + + return $textEditContact; + } + + protected function getTextContactInfo($type, $textContactInfo) + { + if (!empty($textContactInfo)) { + return $textContactInfo; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $textContactInfo = 'bills.bill_from'; + break; + default: + $textContactInfo = 'invoices.bill_to'; + break; + } + + return $textContactInfo; + } + + protected function getTextChooseDifferentContact($type, $textChooseDifferentContact) + { + if (!empty($textChooseDifferentContact)) { + return $textChooseDifferentContact; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $textChooseDifferentContact = [ + 'general.form.choose_different', + 'general.vendors' + ]; + break; + default: + $textChooseDifferentContact = [ + 'general.form.choose_different', + 'general.customers' + ]; + break; + } + + return $textChooseDifferentContact; + } +} diff --git a/app/View/Components/Documents/Form/Content.php b/app/View/Components/Documents/Form/Content.php index 0905502a8..b7c404158 100644 --- a/app/View/Components/Documents/Form/Content.php +++ b/app/View/Components/Documents/Form/Content.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; class Content extends Component { @@ -15,7 +15,7 @@ class Content extends Component { $status = 'draft'; - if (!empty($this->document)) { + if (! empty($this->document)) { $status = $this->document->status; } diff --git a/app/View/Components/Documents/Form/Footer.php b/app/View/Components/Documents/Form/Footer.php index 772880ca2..e45bfe603 100644 --- a/app/View/Components/Documents/Form/Footer.php +++ b/app/View/Components/Documents/Form/Footer.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; class Footer extends Component { diff --git a/app/View/Components/Documents/Form/ItemButton.php b/app/View/Components/Documents/Form/ItemButton.php new file mode 100644 index 000000000..384cc5821 --- /dev/null +++ b/app/View/Components/Documents/Form/ItemButton.php @@ -0,0 +1,81 @@ +type = $type; + $this->isSale = $isSale; + $this->isPurchase = $isPurchase; + $this->searchCharLimit = $searchCharLimit; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + $items = Item::enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); + $price_type = $this->getPriceType($this->type, $this->isSale, $this->isPurchase); + + foreach ($items as $item) { + $price = $item->{$price_type . '_price'}; + + $item->price = $price; + } + + $price = $price_type . '_price'; + + return view('components.documents.form.item-button', compact('items', 'price')); + } + + protected function getPriceType($type, $is_sale, $is_purchase) + { + if (!empty($is_sale)) { + return 'sale'; + } + + if (!empty($is_purchase)) { + return 'purchase'; + } + + switch ($type) { + case 'bill': + case 'expense': + case 'purchase': + $type = 'purchase'; + break; + case 'sale': + case 'income': + case 'invoice': + default: + $type = 'sale'; + } + + return $type; + } +} diff --git a/app/View/Components/Documents/Form/ItemColumns.php b/app/View/Components/Documents/Form/ItemColumns.php new file mode 100644 index 000000000..6a62101eb --- /dev/null +++ b/app/View/Components/Documents/Form/ItemColumns.php @@ -0,0 +1,31 @@ +type = $type; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.documents.form.item-columns'); + } +} diff --git a/app/View/Components/Documents/Form/Items.php b/app/View/Components/Documents/Form/Items.php index 6dcb915b4..631877256 100644 --- a/app/View/Components/Documents/Form/Items.php +++ b/app/View/Components/Documents/Form/Items.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; use App\Models\Setting\Tax; class Items extends Component diff --git a/app/View/Components/Documents/Form/LineItem.php b/app/View/Components/Documents/Form/LineItem.php index 8ba674a4e..9ba17e852 100644 --- a/app/View/Components/Documents/Form/LineItem.php +++ b/app/View/Components/Documents/Form/LineItem.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; class LineItem extends Component { diff --git a/app/View/Components/Documents/Form/Main.php b/app/View/Components/Documents/Form/Main.php index bb590876b..8ff0c390e 100644 --- a/app/View/Components/Documents/Form/Main.php +++ b/app/View/Components/Documents/Form/Main.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; class Main extends Component { diff --git a/app/View/Components/Documents/Form/Metadata.php b/app/View/Components/Documents/Form/Metadata.php index 2ff2cc54c..9e09121bb 100644 --- a/app/View/Components/Documents/Form/Metadata.php +++ b/app/View/Components/Documents/Form/Metadata.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; class Metadata extends Component { diff --git a/app/View/Components/Documents/Form/Note.php b/app/View/Components/Documents/Form/Note.php index f1089990d..3d4127ec1 100644 --- a/app/View/Components/Documents/Form/Note.php +++ b/app/View/Components/Documents/Form/Note.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; class Note extends Component { diff --git a/app/View/Components/Documents/Form/Recurring.php b/app/View/Components/Documents/Form/Recurring.php new file mode 100644 index 000000000..7f45647db --- /dev/null +++ b/app/View/Components/Documents/Form/Recurring.php @@ -0,0 +1,18 @@ + trans('settings.invoice.due_receipt'), + '15' => trans('settings.invoice.due_days', ['days' => 15]), + '30' => trans('settings.invoice.due_days', ['days' => 30]), + '45' => trans('settings.invoice.due_days', ['days' => 45]), + '60' => trans('settings.invoice.due_days', ['days' => 60]), + '90' => trans('settings.invoice.due_days', ['days' => 90]), + ]; + + return view('components.documents.form.recurring_metadata', compact('payment_terms')); + } +} diff --git a/app/View/Components/Documents/Form/Totals.php b/app/View/Components/Documents/Form/Totals.php index 36c9e00e5..30055815e 100644 --- a/app/View/Components/Documents/Form/Totals.php +++ b/app/View/Components/Documents/Form/Totals.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Form; -use App\Abstracts\View\Components\DocumentForm as Component; +use App\Abstracts\View\Components\Documents\Form as Component; class Totals extends Component { diff --git a/app/View/Components/Documents/Index/Buttons.php b/app/View/Components/Documents/Index/Buttons.php new file mode 100644 index 000000000..25e100d4f --- /dev/null +++ b/app/View/Components/Documents/Index/Buttons.php @@ -0,0 +1,18 @@ +document = $document; + $this->hideShow = $hideShow; + $this->showRoute = $this->getShowRoute($document->contact->type, $showRoute); + $this->placement = (! empty($placement)) ? $placement : 'left'; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.documents.index.information'); + } +} diff --git a/app/View/Components/Documents/Index/MoreButtons.php b/app/View/Components/Documents/Index/MoreButtons.php new file mode 100644 index 000000000..58276c5f0 --- /dev/null +++ b/app/View/Components/Documents/Index/MoreButtons.php @@ -0,0 +1,18 @@ +type = $type; - $this->scriptFile = ($scriptFile) ? $scriptFile : 'public/js/common/documents.js'; - $this->version = $this->getVersion($version); $this->document = $document; $this->items = $items; $this->currencies = $this->getCurrencies($currencies); $this->currency_code = ($document) ? $document->currency_code : setting('default.currency'); $this->taxes = $this->getTaxes($taxes); + + $this->alias = $this->getAlias($type, $alias); + $this->folder = $this->getScriptFolder($type, $folder); + $this->file = $this->getScriptFile($type, $file); } /** @@ -55,19 +68,6 @@ class Script extends Component return view('components.documents.script'); } - protected function getVersion($version) - { - if (!empty($version)) { - return $version; - } - - if ($alias = config('type.' . $this->type . '.alias')) { - return module_version($alias); - } - - return version('short'); - } - protected function getCurrencies($currencies) { if (!empty($currencies)) { diff --git a/app/View/Components/Documents/Show/Attachment.php b/app/View/Components/Documents/Show/Attachment.php index 6596ee8d3..a9e4281c0 100644 --- a/app/View/Components/Documents/Show/Attachment.php +++ b/app/View/Components/Documents/Show/Attachment.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Show; -use App\Abstracts\View\Components\DocumentShow as Component; +use App\Abstracts\View\Components\Documents\Show as Component; class Attachment extends Component { diff --git a/app/View/Components/Documents/Show/Buttons.php b/app/View/Components/Documents/Show/Buttons.php new file mode 100644 index 000000000..9d774cf3f --- /dev/null +++ b/app/View/Components/Documents/Show/Buttons.php @@ -0,0 +1,18 @@ +where('recurable_id', $this->document->id) + ->first(); + + return view('components.documents.show.children', compact('recurring')); + } +} diff --git a/app/View/Components/Documents/Show/Content.php b/app/View/Components/Documents/Show/Content.php index 828770034..d8f790f1b 100644 --- a/app/View/Components/Documents/Show/Content.php +++ b/app/View/Components/Documents/Show/Content.php @@ -2,7 +2,7 @@ namespace App\View\Components\Documents\Show; -use App\Abstracts\View\Components\DocumentShow as Component; +use App\Abstracts\View\Components\Documents\Show as Component; class Content extends Component { diff --git a/app/View/Components/Documents/Show/Create.php b/app/View/Components/Documents/Show/Create.php new file mode 100644 index 000000000..01d569d13 --- /dev/null +++ b/app/View/Components/Documents/Show/Create.php @@ -0,0 +1,25 @@ +description = ($this->document->isRecurringDocument()) ? 'invoices.slider.create_recurring' : 'invoices.slider.create'; + $this->created_date = '' . company_date($this->document->created_at) . ''; + + return view('components.documents.show.create'); + } +} diff --git a/app/View/Components/Documents/Show/Document.php b/app/View/Components/Documents/Show/Document.php deleted file mode 100644 index e7cbf7fe3..000000000 --- a/app/View/Components/Documents/Show/Document.php +++ /dev/null @@ -1,18 +0,0 @@ -description = trans('general.amount_due') . ': ' . '' . money($this->document->amount, $this->document->currency_code, true) . ''; + + return view('components.documents.show.get-paid'); + } +} diff --git a/app/View/Components/Documents/Show/Header.php b/app/View/Components/Documents/Show/Header.php deleted file mode 100644 index ae6041675..000000000 --- a/app/View/Components/Documents/Show/Header.php +++ /dev/null @@ -1,18 +0,0 @@ -description = trans('general.amount_due') . ': ' . '' . money($this->document->amount, $this->document->currency_code, true) . ''; + + return view('components.documents.show.make-payment'); + } +} diff --git a/app/View/Components/Documents/Show/Message.php b/app/View/Components/Documents/Show/Message.php new file mode 100644 index 000000000..c9cb274c8 --- /dev/null +++ b/app/View/Components/Documents/Show/Message.php @@ -0,0 +1,44 @@ +type = $type; + $this->backgroundColor = $backgroundColor; + $this->textColor = $textColor; + $this->message = $message; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.documents.show.message'); + } +} diff --git a/app/View/Components/Documents/Show/MoreButtons.php b/app/View/Components/Documents/Show/MoreButtons.php new file mode 100644 index 000000000..7a087db66 --- /dev/null +++ b/app/View/Components/Documents/Show/MoreButtons.php @@ -0,0 +1,18 @@ +description = ($this->document->isRecurringDocument()) ? 'invoices.slider.create_recurring' : 'general.last_sent'; + + $last_sent = DocumentHistory::where('document_id', $this->document->id)->whereIn('status', ['sent', 'received'])->latest()->first(); + + $date = ($last_sent) ? company_date($last_sent->created_at) : trans('general.na'); + + $this->sent_date = '' . $date . ''; + + return view('components.documents.show.receive'); + } +} diff --git a/app/View/Components/Documents/Show/RecurringMessage.php b/app/View/Components/Documents/Show/RecurringMessage.php deleted file mode 100644 index 9e12f6f70..000000000 --- a/app/View/Components/Documents/Show/RecurringMessage.php +++ /dev/null @@ -1,18 +0,0 @@ -document->histories()->orderBy('id', 'desc')->first(); + + $this->description = trans('invoices.cancel_date') . ': '; + $this->description .= '' . company_date($last_history->created_at) . ''; + + return view('components.documents.show.restore'); + } +} diff --git a/app/View/Components/Documents/Show/Schedule.php b/app/View/Components/Documents/Show/Schedule.php new file mode 100644 index 000000000..7a88011ef --- /dev/null +++ b/app/View/Components/Documents/Show/Schedule.php @@ -0,0 +1,32 @@ +where('recurable_id', $this->document->id) + ->first(); + + $started_date = '' . company_date($recurring->started_at) . ''; + $frequency = Str::lower(trans('recurring.' . str_replace('ly', 's', $recurring->frequency))); + $invertal = $recurring->interval; + + $this->description = trans('transactions.slider.schedule', ['frequency' => $frequency, 'interval' => $invertal, 'date' => $started_date]); + + return view('components.documents.show.schedule', compact('recurring')); + } +} diff --git a/app/View/Components/Documents/Show/Send.php b/app/View/Components/Documents/Show/Send.php new file mode 100644 index 000000000..bf115d69e --- /dev/null +++ b/app/View/Components/Documents/Show/Send.php @@ -0,0 +1,31 @@ +description = ($this->document->isRecurringDocument()) ? 'invoices.slider.create_recurring' : 'general.last_sent'; + + $last_sent = DocumentHistory::where('document_id', $this->document->id)->whereIn('status', ['sent', 'received'])->latest()->first(); + + $date = ($last_sent) ? company_date($last_sent->created_at) : trans('general.na'); + + $this->sent_date = '' . $date . ''; + + return view('components.documents.show.send'); + } +} diff --git a/app/View/Components/Documents/Show/StatusMessage.php b/app/View/Components/Documents/Show/StatusMessage.php deleted file mode 100644 index 021e79b2b..000000000 --- a/app/View/Components/Documents/Show/StatusMessage.php +++ /dev/null @@ -1,18 +0,0 @@ -id = $id; + $this->override = explode(',', $override); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.dropdown.index'); + } +} diff --git a/app/View/Components/Dropdown/Button.php b/app/View/Components/Dropdown/Button.php new file mode 100644 index 000000000..851578753 --- /dev/null +++ b/app/View/Components/Dropdown/Button.php @@ -0,0 +1,18 @@ +href = $href; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.dropdown.link'); + } +} diff --git a/app/View/Components/EditItemColumns.php b/app/View/Components/EditItemColumns.php deleted file mode 100644 index 914abbdf4..000000000 --- a/app/View/Components/EditItemColumns.php +++ /dev/null @@ -1,31 +0,0 @@ -type = $type; - } - - /** - * Get the view / contents that represent the component. - * - * @return \Illuminate\Contracts\View\View|string - */ - public function render() - { - return view('components.edit-item-columns'); - } -} diff --git a/app/View/Components/EmptyPage.php b/app/View/Components/EmptyPage.php index b39eab23e..39741673d 100644 --- a/app/View/Components/EmptyPage.php +++ b/app/View/Components/EmptyPage.php @@ -2,38 +2,68 @@ namespace App\View\Components; -use Illuminate\View\Component; +use App\Abstracts\View\Component; +use App\Traits\Modules; +use Illuminate\View\View; +use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Route; use Illuminate\Support\Str; use Symfony\Component\Routing\Exception\RouteNotFoundException; class EmptyPage extends Component { + use Modules; + /** @var string */ - public $page; + public $alias; /** @var string */ public $group; + /** @var string */ + public $page; + + /** @var string */ + public $title; + + /** @var string */ + public $description; + + /** @var string */ + public $docsCategory; + + /** @var string */ + public $image; + /** @var string */ public $imageEmptyPage; - /** @var string */ - public $textEmptyPage; - - /** @var string */ - public $textPage; - - /** @var string */ - public $urlDocsPath; - /** @var bool */ public $checkPermissionCreate; /** @var string */ public $permissionCreate; + /** @var array */ + public $buttons; + + /** @var bool */ + public $hideButtonCreate; + + /** @var bool */ + public $hideButtonImport; + /** @var string */ - public $routeCreate; + public $importRoute; + + /** @var array */ + public $importRouteParameters; + + /** @var array */ + public $suggestion; + + /** @var array */ + public $suggestions; /** * Create a new component instance. @@ -41,18 +71,38 @@ class EmptyPage extends Component * @return void */ public function __construct( - string $page, string $group = '', string $imageEmptyPage = '', string $textEmptyPage = '', string $textPage = '', - string $urlDocsPath = '', bool $checkPermissionCreate = true, string $permissionCreate = '', string $routeCreate = '' + string $alias = '', string $group = '', string $page = '', + string $title = '', string $description = '', string $docsCategory = 'accounting', + string $image = '', string $imageEmptyPage = '', + bool $checkPermissionCreate = true, string $permissionCreate = '', + array $buttons = [], bool $hideButtonCreate = false, bool $hideButtonImport = false, + string $importRoute = '', array $importRouteParameters = [] ) { - $this->page = $page; + if (empty($alias) && ! empty($group)) { + $alias = $group; + } + + $this->alias = (module($alias) === null) ? 'core': $alias; $this->group = $group; - $this->imageEmptyPage = $this->getImageEmptyPage($page, $imageEmptyPage); - $this->textEmptyPage = $this->getTextEmptyPage($page, $textEmptyPage); - $this->textPage = $this->getTextPage($page, $textPage); - $this->urlDocsPath = $this->getUrlDocsPath($page, $group, $urlDocsPath); + $this->page = $page; + $this->docsCategory = $docsCategory; + + $this->title = $this->getTitle($title); + $this->description = $this->getDescription($description); + + $this->imageEmptyPage = $imageEmptyPage; + $this->image = $this->getImage($page, $image); + $this->checkPermissionCreate = $checkPermissionCreate; $this->permissionCreate = $this->getPermissionCreate($page, $group, $permissionCreate); - $this->routeCreate = $this->getRouteCreate($page, $routeCreate); + + $this->hideButtonCreate = $hideButtonCreate; + $this->hideButtonImport = $hideButtonImport; + + $this->buttons = $this->getButtons($page, $group, $buttons); + + $this->suggestions = $this->getSuggestionModules(); + $this->suggestion = $this->getSuggestionModule(); } /** @@ -65,61 +115,111 @@ class EmptyPage extends Component return view('components.empty-page'); } - protected function getImageEmptyPage($page, $imageEmptyPage) + protected function getTitle($title = null, $number = 2) { - if ($imageEmptyPage) { - return $imageEmptyPage; + if (! empty($title)) { + return $title; } - return 'public/img/empty_pages/' . $page . '.png'; + switch ($this->alias) { + case 'core': + $text = 'general.' . $this->page; + break; + default: + $text = $this->alias . '::general.' . $this->page; + } + + $title = trans_choice($text, $number); + + if ($title == $text) { + $title = trans_choice(Str::replace('-', '_', $text), $number); + } + + return $title; } - protected function getTextEmptyPage($page, $textEmptyPage) + protected function getDescription($description) { - if ($textEmptyPage) { - return $textEmptyPage; + if (! empty($description)) { + return $description; } - return 'general.empty.' . $page; + switch ($this->alias) { + case 'core': + $text = 'general.empty.' . $this->page; + break; + default: + $text = $this->alias . '::general.empty.' . $this->page; + } + + $description = trans($text); + + if ($description == $text) { + $description = trans(Str::replace('-', '_', $text)); + } + + $docs_url = $this->getDocsUrl(); + + if (! empty($docs_url)) { + $description .= ' ' . trans('general.empty.documentation', ['url' => $docs_url]); + } + + return $description; } - protected function getTextPage($page, $textPage) + protected function getDocsUrl() { - if ($textPage) { - return $textPage; + switch ($this->alias) { + case 'core': + $docs_path = 'user-manual/'; + + if (! empty($this->group)) { + $docs_path .= $this->group . '/'; + } + + $docs_path .= $this->page; + break; + default: + $docs_path = 'app-manual/' . $this->docsCategory . '/' . $this->alias; } - return 'general.' . $page; + return 'https://akaunting.com/docs/' . $docs_path; } - protected function getUrlDocsPath($page, $group, $urlDocsPath) + protected function getImage($page, $image) { - if ($urlDocsPath) { - return $urlDocsPath; + if (! empty($image)) { + return $image; } - $docs_path = $page; - - if (!empty($group)) { - $docs_path = $group . '/' . $page; + if (! empty($this->imageEmptyPage)) { + return asset($this->imageEmptyPage); } - return 'https://akaunting.com/docs/user-manual/' . $docs_path; + $path = 'public/img/empty_pages/' . $page . '.png'; + + if ($this->alias != 'core') { + $path = 'modules/' . Str::studly($this->alias) . '/Resources/assets/img/empty-' . $page . '.png'; + + if (! file_exists($path)) { + $path = 'public/img/empty_pages/default.png'; + } + } + + return asset($path); } protected function getPermissionCreate($page, $group, $permissionCreate) { - if ($permissionCreate) { + if (! empty($permissionCreate)) { return $permissionCreate; } $pages = [ 'reconciliations' => 'create-banking-reconciliations', 'transfers' => 'create-banking-transfers', - 'payments' => 'create-purchases-payments', 'vendors' => 'create-purchases-vendors', 'customers' => 'create-sales-customers', - 'revenues' => 'create-sales-revenues', 'taxes' => 'create-settings-taxes', 'items' => 'create-common-items', ]; @@ -135,12 +235,121 @@ class EmptyPage extends Component return $permissionCreate; } - protected function getRouteCreate($page, $routeCreate) + protected function getButtons($page, $group, $buttons) { - if ($routeCreate) { - return $routeCreate; + if (! empty($buttons)) { + $suggestion = $this->getSuggestionModule(); + + if (! empty($suggestion)) { + return array_slice($buttons, 0, 2); + } else { + return array_slice($buttons, 0, 3); + } } - return $page . '.create'; + if (! $this->hideButtonCreate) { + $buttons[] = $this->getCreateButton($page, $group); + } + + if (! $this->hideButtonImport) { + $buttons[] = $this->getImportButton(); + } + + return $buttons; + } + + protected function getCreateButton($page, $group) + { + try { + $route = route($group . '.' . $page . '.create'); + } catch (\Exception $e) { + $route = route($page . '.create'); + } + + $title = $this->getTitle(null, 1); + + return [ + 'url' => $route, + 'permission' => $this->permissionCreate, + 'text' => trans('general.title.new', ['type' => $title]), + 'description' => trans('general.empty.actions.new', ['type' => strtolower($title)]), + 'active_badge' => true, + ]; + } + + protected function getImportButton() + { + $importRoute = $this->getImportRoute($this->importRoute); + $importRouteParameters = $this->getImportRouteParameters($this->importRouteParameters); + + $title = $this->getTitle(); + + return [ + 'url' => route($importRoute, $importRouteParameters), + 'permission' => $this->permissionCreate, + 'text' => trans('import.title', ['type' => $title]), + 'description' => trans('general.empty.actions.import', ['type' => strtolower($title)]), + 'active_badge' => false, + ]; + } + + protected function getImportRoute($importRoute) + { + if (! empty($importRoute)) { + return $importRoute; + } + + $route = 'import.create'; + + return $route; + } + + protected function getImportRouteParameters($importRouteParameters) + { + if (! empty($importRouteParameters)) { + return $importRouteParameters; + } + + return array_slice(request()->segments(), -2, 2, true) ; + } + + public function getSuggestionModule() + { + return ! empty($this->suggestions) ? Arr::random($this->suggestions) : false; + } + + public function getSuggestionModules() + { + if ((! $user = user()) || $user->cannot('read-modules-home')) { + return []; + } + + if (! $path = Route::current()->uri()) { + return []; + } + + $path = str_replace('{company_id}/', '', $path); + + if (! $suggestions = $this->getSuggestions($path)) { + return []; + } + + $modules = []; + + foreach ($suggestions->modules as $s_module) { + if ($this->moduleIsEnabled($s_module->alias)) { + continue; + } + + $s_module->action_url = company_id() . '/' . $s_module->action_url; + + $modules[] = $s_module; + } + + if (empty($modules)) { + return []; + } + + return $modules; } } diff --git a/app/View/Components/Form.php b/app/View/Components/Form.php new file mode 100644 index 000000000..edd48edab --- /dev/null +++ b/app/View/Components/Form.php @@ -0,0 +1,132 @@ +method = Str::upper($method); + $this->action = $this->getAction($action, $route, $url); + $this->model = $model; + $this->class = $class; + $this->role = $role; + $this->novalidate = $novalidate; + $this->enctype = $enctype; + $this->acceptCharset = $acceptCharset; + $this->submit = $submit; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.form.index'); + } + + protected function getAction($action, $route, $url) + { + if (!empty($action)) { + return $action; + } + + if (!empty($route)) { + return $this->getRouteAction($route); + } + + if (!empty($url)) { + return $this->getUrlAction($url); + } + + return ''; + } + + /** + * Get the action for a "url" option. + * + * @param array|string $options + * + * @return string + */ + protected function getUrlAction($options) + { + if (is_array($options)) { + return url($options[0], array_slice($options, 1)); + } + + return url($options); + } + + /** + * Get the action for a "route" option. + * + * @param array|string $options + * + * @return string + */ + protected function getRouteAction($options) + { + if (is_array($options)) { + $parameters = array_slice($options, 1); + + if (array_keys($options) === [0, 1]) { + $parameters = head($parameters); + } + + return route($options[0], $parameters); + } + + return route($options); + } +} diff --git a/app/View/Components/Form/Accordion.php b/app/View/Components/Form/Accordion.php new file mode 100644 index 000000000..165195372 --- /dev/null +++ b/app/View/Components/Form/Accordion.php @@ -0,0 +1,46 @@ +type = $type; + $this->icon = $this->getIcon($icon); + $this->open = $open; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.form.accordion.index'); + } + + protected function getIcon($icon) + { + if (! empty($icon)) { + return $icon; + } + + return 'expand_more'; + } +} diff --git a/app/View/Components/Form/Buttons.php b/app/View/Components/Form/Buttons.php new file mode 100644 index 000000000..0c4621dac --- /dev/null +++ b/app/View/Components/Form/Buttons.php @@ -0,0 +1,131 @@ +groupClass = $this->getGroupClass($groupClass); + + $this->cancel = $this->getCancel($cancel, $cancelRoute, $cancelUrl); + $this->cancelClass = $this->getCancelClass($cancelClass); + $this->cancelText = $this->getCancelText($cancelText); + $this->withoutCancel = $withoutCancel; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.form.buttons'); + } + + protected function getGroupClass($groupClass) + { + if (! empty($groupClass)) { + return $groupClass; + } + + return $this->groupClass; + } + + protected function getCancel($cancel, $route, $url) + { + if (! empty($cancel)) { + return $cancel; + } + + if (!empty($route)) { + return $this->getRouteAction($route); + } + + if (!empty($url)) { + return $this->getUrlAction($url); + } + + return ''; + } + + /** + * Get the action for a "url" option. + * + * @param array|string $options + * + * @return string + */ + protected function getUrlAction($options) + { + if (is_array($options)) { + return url($options[0], array_slice($options, 1)); + } + + return url($options); + } + + /** + * Get the action for a "route" option. + * + * @param array|string $options + * + * @return string + */ + protected function getRouteAction($options) + { + if (is_array($options)) { + $parameters = array_slice($options, 1); + + if (array_keys($options) === [0, 1]) { + $parameters = head($parameters); + } + + return route($options[0], $parameters); + } + + return route($options); + } + + protected function getCancelClass($cancelClass) + { + if (! empty($cancelClass)) { + return $cancelClass; + } + + return $this->cancelClass; + } + + protected function getCancelText($cancelText) + { + if (! empty($cancelText)) { + return $cancelText; + } + + return trans('general.cancel'); + } +} \ No newline at end of file diff --git a/app/View/Components/Form/Group/Account.php b/app/View/Components/Form/Group/Account.php new file mode 100644 index 000000000..9a383d01e --- /dev/null +++ b/app/View/Components/Form/Group/Account.php @@ -0,0 +1,37 @@ +name)) { + $this->name = 'account_id'; + } + + $this->path = route('modals.accounts.create'); + + $this->accounts = Model::enabled()->orderBy('name')->pluck('name', 'id'); + + if (empty($this->selected) && empty($this->getParentData('model'))) { + $this->selected = setting('default.account'); + } + + return view('components.form.group.account'); + } +} diff --git a/app/View/Components/Form/Group/Attachment.php b/app/View/Components/Form/Group/Attachment.php new file mode 100644 index 000000000..50d6da9fc --- /dev/null +++ b/app/View/Components/Form/Group/Attachment.php @@ -0,0 +1,80 @@ + 'form-file dropzone-column w-1/2 h-32.5', + ]; + + public $file_types; + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + $this->setFileTypes(); + + $this->custom_attributes = $this->setCustomAttributes(); + + return view('components.form.group.attachment'); + } + + protected function setFileTypes() + { + $this->file_types = []; + + $file_type_mimes = explode(',', config('filesystems.mimes')); + + $file_types = []; + + foreach ($file_type_mimes as $mime) { + $file_types[] = '.' . $mime; + } + + $this->file_types = implode(',', $file_types); + } + + protected function setCustomAttributes() + { + $attributes = []; + + if (! empty($this->required)) { + $attributes['required'] = $this->required; + } + + if (! empty($this->disabled)) { + $attributes['disabled'] = $this->disabled; + } + + if (! empty($this->readonly)) { + $attributes['readonly'] = $this->readonly; + } + + if (! empty($this->options)) { + $attributes['options'] = $this->options; + } + + if (! empty($this->multiple)) { + $attributes['multiple'] = $this->multiple; + } + + foreach ($this->custom_attributes as $key => $value) { + $attributes[$key] = $value; + } + + return $attributes; + } +} diff --git a/app/View/Components/Form/Group/Category.php b/app/View/Components/Form/Group/Category.php new file mode 100644 index 000000000..cb3222dd1 --- /dev/null +++ b/app/View/Components/Form/Group/Category.php @@ -0,0 +1,46 @@ +type; + + if (empty($this->name)) { + $this->name = 'category_id'; + } + + $this->path = route('modals.categories.create', ['type' => $this->type]); + $this->remoteAction = route('categories.index', ['search' => 'type:' . $this->type . ' enabled:1']); + + $this->categories = Model::type($type)->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); + + if (!empty($model) && $model->category && ! $this->categories->has($model->category_id)) { + $this->categories->put($model->category->id, $model->category->name); + } + + if (empty($this->selected) && (in_array($type, ['income', 'expense']))) { + $this->selected = setting('default.' . $type . '_category'); + } + + return view('components.form.group.category'); + } +} diff --git a/app/View/Components/Form/Group/Checkbox.php b/app/View/Components/Form/Group/Checkbox.php new file mode 100644 index 000000000..05b62d452 --- /dev/null +++ b/app/View/Components/Form/Group/Checkbox.php @@ -0,0 +1,27 @@ +type; + + switch ($type) { + case 'customer': + $this->prepareCustomer(); + break; + case 'vendor': + $this->prepareVendor(); + break; + } + + return view($this->view); + } + + protected function prepareCustomer() + { + if (empty($this->name)) { + $this->name = 'contact_id'; + } + + $this->path = route('modals.customers.create'); + $this->remoteAction = route('customers.index'); + $this->label = trans_choice('general.customers', 1); + + $this->contacts = Model::customer()->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); + + if (!empty($model) && $model->customer && ! $this->contacts->has($model->contact_id)) { + $this->contacts->put($model->customer->id, $model->customer->name); + } + } + + protected function prepareVendor() + { + if (empty($this->name)) { + $this->name = 'contact_id'; + } + + $this->path = route('modals.vendors.create'); + $this->remoteAction = route('vendors.index'); + $this->label = trans_choice('general.vendors', 1); + + $this->contacts = Model::vendor()->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); + + if (!empty($model) && $model->vendor && ! $this->contacts->has($model->contact_id)) { + $this->contacts->put($model->vendor->id, $model->vendor->name); + } + } +} diff --git a/app/View/Components/Form/Group/Country.php b/app/View/Components/Form/Group/Country.php new file mode 100644 index 000000000..b54a86b17 --- /dev/null +++ b/app/View/Components/Form/Group/Country.php @@ -0,0 +1,20 @@ +name)) { + $this->name = 'currency_code'; + } + + $this->path = route('modals.currencies.create'); + + $this->field = [ + 'key' => 'code', + 'value' => 'name' + ]; + + $this->currencies = Model::enabled()->orderBy('name')->pluck('name', 'code'); + + if (empty($this->selected) && empty($this->getParentData('model'))) { + $this->selected = setting('default.currency'); + } + + return view('components.form.group.currency'); + } +} diff --git a/app/View/Components/Form/Group/Customer.php b/app/View/Components/Form/Group/Customer.php new file mode 100644 index 000000000..357f53485 --- /dev/null +++ b/app/View/Components/Form/Group/Customer.php @@ -0,0 +1,10 @@ + 'form-file dropzone-column w-1/2 h-32.5', + ]; + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.form.group.file'); + } +} diff --git a/app/View/Components/Form/Group/InvoiceText.php b/app/View/Components/Form/Group/InvoiceText.php new file mode 100644 index 000000000..4cb6c6aea --- /dev/null +++ b/app/View/Components/Form/Group/InvoiceText.php @@ -0,0 +1,20 @@ +selected)) { + $this->selected = setting('default.locale', config('app.locale', 'en-GB')); + } + + return view('components.form.group.locale'); + } +} diff --git a/app/View/Components/Form/Group/Money.php b/app/View/Components/Form/Group/Money.php new file mode 100644 index 000000000..193ee3c9b --- /dev/null +++ b/app/View/Components/Form/Group/Money.php @@ -0,0 +1,20 @@ +payment_methods = Modules::getPaymentMethods(); + + if (empty($this->selected) && empty($this->getParentData('model'))) { + $this->selected = setting('default.payment_method'); + } + + return view('components.form.group.payment_method'); + } +} diff --git a/app/View/Components/Form/Group/Radio.php b/app/View/Components/Form/Group/Radio.php new file mode 100644 index 000000000..c26327bcb --- /dev/null +++ b/app/View/Components/Form/Group/Radio.php @@ -0,0 +1,27 @@ +type = $this->getType($type); + $this->frequency = $this->getFrequency($frequency); + $this->frequencies = $this->getFrequencies($frequencies); + + $this->customFrequency = $this->getCustomFrequency($customFrequency); + $this->customFrequencies = $this->getCustomFrequencies($customFrequencies); + + $this->limit = $this->getLimit($limit); + $this->limits = $this->getLimits($limits); + + $this->startedValue = $this->getStartedValue($startedValue); + $this->limitCount = $this->getLimitCount($limitCount); + $this->limitDateValue = $this->getLimitDateValue($limitDateValue); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.form.group.recurring'); + } + + protected function getType($type) + { + if (! empty($type)) { + return $type; + } + + return 'invoice'; + } + + protected function getFrequency($frequency) + { + if (! empty($frequency)) { + return $frequency; + } + + return 'monthly'; + } + + protected function getFrequencies($frequencies) + { + if (! empty($frequencies)) { + return $frequencies; + } + + return [ + 'daily' => trans('recurring.daily'), + 'weekly' => trans('recurring.weekly'), + 'monthly' => trans('recurring.monthly'), + 'yearly' => trans('recurring.yearly'), + 'custom' => trans('recurring.custom'), + ]; + } + + protected function getCustomFrequency($customFrequency) + { + if (! empty($customFrequency)) { + return $customFrequency; + } + + return 'monthly'; + } + + protected function getCustomFrequencies($customFrequencies) + { + if (! empty($customFrequencies)) { + return $customFrequencies; + } + + return [ + 'daily' => trans('recurring.days'), + 'weekly' => trans('recurring.weeks'), + 'monthly' => trans('recurring.months'), + 'yearly' => trans('recurring.years'), + ]; + } + + protected function getLimit($limit) + { + if (! empty($limit)) { + return $limit; + } + + return 'never'; + } + + protected function getLimits($limits) + { + if (! empty($limits)) { + return $limits; + } + + return [ + 'after' => trans('recurring.after'), + 'on' => trans('recurring.on'), + 'never' => trans('recurring.never'), + ]; + } + + protected function getStartedValue($startedValue) + { + if (! empty($startedValue)) { + return $startedValue; + } + + return Date::now()->toDateString(); + } + + protected function getLimitCount($limitCount) + { + if (! empty($limitCount)) { + return $limitCount; + } + + return 0; + } + + protected function getLimitDateValue($limitDateValue) + { + if (! empty($limitDateValue)) { + return $limitDateValue; + } + + return Date::now()->toDateString(); + } +} diff --git a/app/View/Components/Form/Group/Select.php b/app/View/Components/Form/Group/Select.php new file mode 100644 index 000000000..797b6062e --- /dev/null +++ b/app/View/Components/Form/Group/Select.php @@ -0,0 +1,20 @@ +name)) { + $this->name = 'currency_code'; + } + + $this->path = route('modals.currencies.create'); + + $this->field = [ + 'key' => 'code', + 'value' => 'name' + ]; + + $this->currencies = Model::enabled()->orderBy('name')->pluck('name', 'code'); + + if (empty($this->selected)) { + $this->selected = setting('default.currency'); + } + + return view('components.form.group.tax'); + } +} diff --git a/app/View/Components/Form/Group/Text.php b/app/View/Components/Form/Group/Text.php new file mode 100644 index 000000000..cffc6d4b3 --- /dev/null +++ b/app/View/Components/Form/Group/Text.php @@ -0,0 +1,20 @@ +icon = $icon; + $this->class = ($simpleIcons) ? 'w-8 h-8 ' . $class : $class; + $this->filled = $filled; + $this->rounded = $rounded; + $this->simpleIcons = $simpleIcons; + $this->custom = $custom; + $this->alias = $alias; + + if ($custom) { + $this->icon = $this->getCustomIcon($icon, $alias); + } + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.icon'); + } + + protected function getCustomIcon($icon, $alias) + { + $slug = Str::replace('custom-', '', $icon); + + $base_path = 'public/img/icons/'; + + if (! empty($alias)) { + $base_path = 'modules/' . Str::studly($alias) . '/Resources/assets/img/icons/'; + } + + $path = base_path($base_path . $slug . '.svg'); + + if (! file_exists($path)) { + $path = 'public/img/akaunting-logo-purple.svg'; + } + + return $path; + } +} diff --git a/app/View/Components/Index/Bulkaction.php b/app/View/Components/Index/Bulkaction.php new file mode 100644 index 000000000..b41e5c459 --- /dev/null +++ b/app/View/Components/Index/Bulkaction.php @@ -0,0 +1,94 @@ +class = $class; + $this->text = $text; + $this->path = $path; + $this->actions = $this->getActions($actions); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.index.bulkaction.index'); + } + + protected function getActions($actions) + { + if (! empty($actions)) { + return $actions; + } + + if (class_exists($this->class)) { + $bulk_action = app($this->class); + + event(new BulkActionsAdding($bulk_action)); + + $this->text = $bulk_action->text; + + if (is_array($bulk_action->path)) { + $this->path = route('bulk-actions.action', $bulk_action->path); + } else { + $this->path = url('common/bulk-actions/' . $bulk_action->path); + } + } else { + $bulk_action = new \stdClass(); + $bulk_action->text = ''; + $bulk_action->path = ''; + $bulk_action->actions = []; + $bulk_action->icons = []; + + event(new BulkActionsAdding($bulk_action)); + + if (is_array($bulk_action->path)) { + $this->path = route('bulk-actions.action', $bulk_action->path); + } else { + $this->path = url('common/bulk-actions/' . $bulk_action->path); + } + } + + $actions = []; + + if ($bulk_action->actions) { + foreach ($bulk_action->actions as $key => $action) { + if ((isset($action['permission']) && ! user()->can($action['permission']))) { + continue; + } + + if (empty($action['icon']) && array_key_exists($key, $bulk_action->icons)) { + $action['icon'] = $bulk_action->icons[$key]; + } + + $actions[$key] = $action; + } + } + + return $actions; + } +} diff --git a/app/View/Components/Index/Category.php b/app/View/Components/Index/Category.php new file mode 100644 index 000000000..595a8b021 --- /dev/null +++ b/app/View/Components/Index/Category.php @@ -0,0 +1,120 @@ +model = $model; + + $this->name = $this->getName($name, $model); + $this->backgroundColor = $this->getBackgroundColor($backgroundColor, $model); + $this->textColor = $this->getTextColor($textColor, $this->backgroundColor); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.index.category'); + } + + protected function getName($name, $model) + { + if (! empty($name)) { + return $name; + } + + if (! empty($model)) { + $name = $model->name; + } + + return $name; + } + + protected function getBackgroundColor($backgroundColor, $model) + { + if (! empty($backgroundColor)) { + return $backgroundColor; + } + + if (! empty($model)) { + if (Str::contains($model->color, ['#'])) { + $this->backgroundStyle = $model->color; + + return $backgroundColor; + } + + $backgroundColor = 'bg-' . $model->color; + } + + return $backgroundColor; + } + + protected function getTextColor($textColor, $backgroundColor) + { + if (! empty($textColor)) { + return $textColor; + } + + if (! empty($backgroundColor)) { + $x = explode('-', $backgroundColor); + + $textColor = 'text-black'; + + if ($x[1] >= 500) { + $textColor = 'text-white'; + } + } + + return $textColor; + } +} diff --git a/app/View/Components/Index/Country.php b/app/View/Components/Index/Country.php new file mode 100644 index 000000000..dcbf5c390 --- /dev/null +++ b/app/View/Components/Index/Country.php @@ -0,0 +1,43 @@ +code = $code; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + $this->country = trans('countries.' . $this->code); + + return view('components.index.country'); + } +} diff --git a/app/View/Components/Index/Currency.php b/app/View/Components/Index/Currency.php new file mode 100644 index 000000000..f77370721 --- /dev/null +++ b/app/View/Components/Index/Currency.php @@ -0,0 +1,45 @@ +code = $code; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + $code = ($this->code) ? $this->code : setting('default.currency'); + + $this->currency = config('money.' . $code . '.name'); + + return view('components.index.currency'); + } +} diff --git a/app/View/Components/Index/Ddefault.php b/app/View/Components/Index/Ddefault.php new file mode 100644 index 000000000..ce1c8bae6 --- /dev/null +++ b/app/View/Components/Index/Ddefault.php @@ -0,0 +1,63 @@ +id = 'tooltip-default-' . mt_rand(1, time()); + $this->position = $position; + $this->icon = $icon; + $this->iconType = $iconType; + $this->text = $text; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.index.default'); + } +} diff --git a/app/View/Components/Index/Disable.php b/app/View/Components/Index/Disable.php new file mode 100644 index 000000000..16a53c454 --- /dev/null +++ b/app/View/Components/Index/Disable.php @@ -0,0 +1,80 @@ +id = 'tooltip-disable-' . mt_rand(1, time()); + $this->position = $position; + $this->icon = $icon; + $this->iconType = $iconType; + $this->disableText = $this->getDisableText($text, $disableText); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.index.disable'); + } + + protected function getDisableText($text, $disableText) + { + if (! empty($disableText)) { + return $disableText; + } + + return trans('general.disabled_type', ['type' => Str::lower($text)]); + } +} diff --git a/app/View/Components/Index/Search.php b/app/View/Components/Index/Search.php new file mode 100644 index 000000000..5ba715c9c --- /dev/null +++ b/app/View/Components/Index/Search.php @@ -0,0 +1,121 @@ +searchString = $searchString; + $this->bulkAction = $bulkAction; + $this->action = $this->getAction($action, $route, $url); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.index.search'); + } + + protected function getAction($action, $route, $url) + { + if (! empty($action)) { + return $action; + } + + if (! empty($route)) { + return $this->getRouteAction($route); + } + + if (! empty($url)) { + return $this->getUrlAction($url); + } + + return ''; + } + + /** + * Get the action for a "url" option. + * + * @param array|string $options + * + * @return string + */ + protected function getUrlAction($options) + { + if (is_array($options)) { + return url($options[0], array_slice($options, 1)); + } + + return url($options); + } + + /** + * Get the action for a "route" option. + * + * @param array|string $options + * + * @return string + */ + protected function getRouteAction($options) + { + if (is_array($options)) { + $parameters = array_slice($options, 1); + + if (array_keys($options) === [0, 1]) { + $parameters = head($parameters); + } + + return route($options[0], $parameters); + } + + return route($options); + } +} diff --git a/app/View/Components/Index/Status.php b/app/View/Components/Index/Status.php new file mode 100644 index 000000000..ca48bce08 --- /dev/null +++ b/app/View/Components/Index/Status.php @@ -0,0 +1,56 @@ +backgroundColor = ! empty($backgroundColor) ? $backgroundColor : 'bg-lilac-900'; + $this->textColor = ! empty($textColor) ? $textColor : 'text-purple'; + $this->status = $status; + $this->textStatus = $this->getTextStatus($textStatus); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.index.status'); + } + + protected function getTextStatus($textStatus) + { + if (! empty($textStatus)) { + return $textStatus; + } + + $textStatus = trans('documents.statuses.' . $this->status); + + return $textStatus; + } +} diff --git a/app/View/Components/Index/Summary.php b/app/View/Components/Index/Summary.php new file mode 100644 index 000000000..fb2074525 --- /dev/null +++ b/app/View/Components/Index/Summary.php @@ -0,0 +1,31 @@ +items = $items; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.index.summary'); + } +} diff --git a/app/View/Components/Layouts/Admin.php b/app/View/Components/Layouts/Admin.php new file mode 100644 index 000000000..f7de6430d --- /dev/null +++ b/app/View/Components/Layouts/Admin.php @@ -0,0 +1,18 @@ +companies = $this->getCompanies(); + + $version_update = Versions::getUpdates(); + + $this->notification_count = user()->unreadNotifications->count(); + $this->notification_count += count($version_update); + + return view('components.layouts.admin.menu'); + } + + public function getCompanies() + { + if ($user = user()) { + $companies = $user->companies()->enabled()->limit(10)->get()->sortBy('name'); + } else { + $companies = []; + } + + return $companies; + } +} diff --git a/app/View/Components/Layouts/Admin/Notifications.php b/app/View/Components/Layouts/Admin/Notifications.php new file mode 100644 index 000000000..f525034aa --- /dev/null +++ b/app/View/Components/Layouts/Admin/Notifications.php @@ -0,0 +1,57 @@ +notifications = $this->getNotify(); + + return view('components.layouts.admin.notifications'); + } + + public function getNotify() + { + if (! $path = Route::current()->uri()) { + return []; + } + + $path = str_replace('{company_id}/', '', $path); + $path = str_replace('{company_id}', '', $path); + + $notify = []; + $notifications = $this->getNotifications($path); + + // Push to a stack + foreach ($notifications as $notification) { + $path = str_replace('/', '#', $notification->path); + + $message = str_replace('#path#', $path, $notification->message); + $message = str_replace('#token#', csrf_token(), $message); + $message = str_replace('#url#', route('dashboard'), $message); + $message = str_replace('#company_id#', company_id(), $message); + + if (! setting('notifications.' . $notification->path . '.' . $notification->id . '.status', 1)) { + continue; + } + + $notify[] = $message; + } + + return $notify; + } +} diff --git a/app/View/Components/Layouts/Modules.php b/app/View/Components/Layouts/Modules.php new file mode 100644 index 000000000..631bc9896 --- /dev/null +++ b/app/View/Components/Layouts/Modules.php @@ -0,0 +1,23 @@ +keyword = request()->get('keyword'); + $this->categories = $this->getCategories(); + $this->popular = $this->getPopularModules(); + + return view('components.layouts.modules.bar'); + } + + protected function getCategories() + { + $categories = collect([ + '*' => trans('general.all_type', ['type' => trans_choice('general.categories', 2)]), + ]); + + if (setting('apps.api_key')) { + $categories = Cache::remember('modules.categories.' . language()->getShortCode(), Date::now()->addHour(6), function () { + return collect($this->getCategoriesOfModules())->pluck('name', 'slug') + ->prepend(trans('general.all_type', ['type' => trans_choice('general.categories', 2)]), '*'); + }); + } + + return $categories; + } +} diff --git a/app/View/Components/Layouts/Modules/Releases.php b/app/View/Components/Layouts/Modules/Releases.php new file mode 100644 index 000000000..bf58e7faf --- /dev/null +++ b/app/View/Components/Layouts/Modules/Releases.php @@ -0,0 +1,26 @@ +releases = $releases; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.layouts.modules.releases'); + } +} diff --git a/app/View/Components/Layouts/Modules/Reviews.php b/app/View/Components/Layouts/Modules/Reviews.php new file mode 100644 index 000000000..476bfd656 --- /dev/null +++ b/app/View/Components/Layouts/Modules/Reviews.php @@ -0,0 +1,26 @@ +reviews = $reviews; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.layouts.modules.reviews'); + } +} diff --git a/app/View/Components/Layouts/Portal/Menu.php b/app/View/Components/Layouts/Portal/Menu.php new file mode 100644 index 000000000..2d26e4297 --- /dev/null +++ b/app/View/Components/Layouts/Portal/Menu.php @@ -0,0 +1,34 @@ +companies = $this->getCompanies(); + + return view('components.layouts.portal.menu'); + } + + public function getCompanies() + { + if ($user = user()) { + $companies = $user->companies()->enabled()->limit(10)->get()->sortBy('name'); + } else { + $companies = []; + } + + return $companies; + } +} diff --git a/app/View/Components/Layouts/Wizard.php b/app/View/Components/Layouts/Wizard.php new file mode 100644 index 000000000..cf039ac0c --- /dev/null +++ b/app/View/Components/Layouts/Wizard.php @@ -0,0 +1,18 @@ +company = $this->getCompany(); + + $this->translations = $this->getTransalations(); + + $this->currencies = $this->getCurrencies(); + + // Prepare codes + $this->currency_codes = $this->getCurrencyCodes(); + + $this->taxes = $this->getTaxes(); + + $this->modules = $this->getFeaturedModules([ + 'query' => [ + 'limit' => 5 + ] + ]); + + return view('components.layouts.wizard.scripts'); + } + + protected function getCompany() + { + $company = company(); + + $company->api_key = setting('apps.api_key'); + $company->financial_start = setting('localisation.financial_start'); + + $logo_id = setting('company.logo'); + + $logo = false; + + if ($logo_id) { + $logo = Media::find($logo_id); + + if ($logo) { + $logo->path = route('uploads.get', $logo->id); + } + } + + $company->logo = $logo; + + return $company; + } + + /* Wizard page transactions */ + protected function getTransalations() + { + return [ + 'company' => [ + 'title' => trans_choice('general.companies', 1), + 'api_key' => trans('modules.api_key'), + 'form_enter' => trans('general.form.enter'), + 'get_api_key' => trans('modules.get_api_key'), + 'tax_number' => trans('general.tax_number'), + 'financial_start' => trans('settings.localisation.financial_start'), + 'address' => trans('settings.company.address'), + 'logo' => trans('settings.company.logo'), + 'skip' => trans('companies.skip_step'), + 'save' => trans('general.save'), + 'country' => trans_choice('general.countries', 1), + ], + + 'currencies' => [ + 'title' => trans_choice('general.currencies', 2), + 'add_new' => trans('general.add_new'), + 'no_currency' => trans('currencies.no_currency'), + 'new_currency' => trans('currencies.new_currency'), + 'create_currency' => trans('currencies.create_currency'), + 'name' => trans('general.name'), + 'code' => trans('currencies.code'), + 'rate' => trans('currencies.rate'), + 'enabled' => trans('general.enabled'), + 'actions' => trans('general.actions') , + 'yes' => trans('general.yes'), + 'no' => trans('general.no'), + 'edit' => trans('general.edit'), + 'delete' => trans('general.delete'), + 'save' => trans('general.save'), + 'precision' => trans('currencies.precision'), + 'symbol' => trans('currencies.symbol.symbol'), + 'position' => trans('currencies.symbol.position'), + 'decimal_mark' => trans('currencies.decimal_mark'), + 'thousands_separator' => trans('currencies.thousands_separator'), + 'previous' => trans('pagination.previous'), + 'next' => trans('pagination.next'), + 'delete_confirm' => trans('general.delete_confirm'), + 'cancel' => trans('general.cancel'), + ], + + 'taxes' => [ + 'title' => trans_choice('general.taxes', 2), + 'add_new' => trans('general.add_new'), + 'no_taxes' => trans('taxes.no_taxes'), + 'create_task' => trans('taxes.create_task'), + 'new_tax' => trans('taxes.new_tax'), + 'name' => trans('general.name'), + 'rate_percent' => trans('taxes.rate_percent'), + 'enabled' => trans('general.enabled'), + 'actions' => trans('general.actions'), + 'yes' => trans('general.yes'), + 'no' => trans('general.no'), + 'edit' => trans('general.edit'), + 'delete' => trans('general.delete'), + 'name' => trans('general.name'), + 'rate' => trans('currencies.rate'), + 'enabled' => trans('general.enabled'), + 'save' => trans('general.save'), + 'previous' => trans('pagination.previous'), + 'next' => trans('pagination.next'), + 'cancel' => trans('general.cancel'), + ], + + 'finish' => [ + 'title' => trans('modules.ready'), + 'recommended_apps' => trans('modules.recommended_apps'), + 'no_apps' => trans('modules.no_apps'), + 'developer' => trans('modules.developer'), + 'from' => trans('general.from'), + 'apps_managing' => trans('modules.apps_managing'), + 'reviews' => trans('modules.tab.reviews'), + 'previous' => trans('companies.skip_step'), + 'go_to_dashboard' => trans('general.go_to_dashboard'), + 'error_message' => trans('errors.title.500'), + ] + ]; + } + + protected function getCurrencies() + { + return Currency::all(); + } + + protected function getCurrencyCodes() + { + $codes = []; + $money_currencies = MoneyCurrency::getCurrencies(); + + foreach ($money_currencies as $key => $item) { + $codes[$key] = $key; + } + + return $codes; + } + + protected function getTaxes() + { + return Tax::all(); + } +} diff --git a/app/View/Components/Link.php b/app/View/Components/Link.php new file mode 100644 index 000000000..58ef80de2 --- /dev/null +++ b/app/View/Components/Link.php @@ -0,0 +1,66 @@ +override = $this->getOverride($override); + + $this->kind = $kind; + $this->class = $this->getClass($class); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.link'); + } + + protected function getOverride($override) + { + return explode(',', $override); + } + + protected function getClass($class) + { + $default = 'px-3 py-1.5 mb-3 sm:mb-0 rounded-xl text-sm font-medium leading-6'; + + switch ($this->kind) { + case 'primary': + $default .= ' bg-green hover:bg-green-700 text-white disabled:bg-green-100'; + break; + case 'secondary': + $default .= ' bg-purple hover:bg-purple-700 text-white disabled:bg-purple-100'; + break; + default: + $default .= ' bg-gray-100 hover:bg-gray-200 disabled:bg-gray-50'; + } + + if (in_array('class', $this->override)) { + return $class; + } + + return $default; + } +} diff --git a/app/View/Components/Media/Ffile.php b/app/View/Components/Media/Ffile.php new file mode 100644 index 000000000..5b5f90790 --- /dev/null +++ b/app/View/Components/Media/Ffile.php @@ -0,0 +1,36 @@ +file = $file; + $this->column_name = ! empty($column_name) ? $column_name : 'attachment'; + $this->options = ! empty($options) ? $options : false; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.media.file'); + } +} diff --git a/app/View/Components/Menu/Favorite.php b/app/View/Components/Menu/Favorite.php new file mode 100644 index 000000000..3d2cb44fe --- /dev/null +++ b/app/View/Components/Menu/Favorite.php @@ -0,0 +1,41 @@ +title = $title; + $this->icon = $icon; + $this->route = $route; + $this->url = $url; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.menu.favorite'); + } +} diff --git a/app/View/Components/Modules/Banners.php b/app/View/Components/Modules/Banners.php new file mode 100644 index 000000000..7c84b3463 --- /dev/null +++ b/app/View/Components/Modules/Banners.php @@ -0,0 +1,12 @@ +module = $model; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.modules.item'); + } +} diff --git a/app/View/Components/Modules/Items.php b/app/View/Components/Modules/Items.php new file mode 100644 index 000000000..fcd000914 --- /dev/null +++ b/app/View/Components/Modules/Items.php @@ -0,0 +1,257 @@ +limit = $limit; + $this->seeMore = $this->getSeeMore($seeMore, $model); + $this->modules = $this->getModel($model); + $this->installedStatus = $this->getInstalledStatus(); + + $this->view = $this->getView(); + $this->type = $this->getType(); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view($this->view); + } + + protected function getSeeMore($seeMore, $model) + { + if (empty($seeMore)) { + return $seeMore; + } + + if (! empty($model) && ($model->current_page < $model->last_page)) { + return true; + } + + return false; + } + + protected function getModel($model) + { + if (! empty($model)) { + if (! empty($model->data)) { + return $model->data; + } + + return $model; + } + + $model = []; + + switch ($this->type) { + case 'banners': + $model = $this->getBanners(); + break; + case 'new': + $model = $this->getNew($this->limit); + break; + case 'paid': + $model = $this->getPaid($this->limit); + break; + case 'free': + $model = $this->getFree($this->limit); + break; + case 'pre_sale': + $model = $this->getPreSale($this->limit); + break; + case 'purchased': + $model = $this->getPurchased($this->limit); + break; + case 'installed': + $model = $this->getInstalled(); + break; + case 'no-apps': + $model = $this->getTestimonials(); + break; + } + + return $model; + } + + protected function getView() + { + if (! empty($this->view)) { + return $this->view; + } + + return 'components.modules.items'; + } + + protected function getBanners() + { + $model = $this->getBannersOfModules(); + + return $model; + } + + protected function getNew($limit) + { + $model = []; + + $response = $this->getNewModules([ + 'query' => [ + 'limit' => $limit + ] + ]); + + if ($response) { + $model = $response->data; + } + + return $model; + } + + protected function getFree($limit) + { + $model = []; + + $response = $this->getFreeModules([ + 'query' => [ + 'limit' => $limit + ] + ]); + + if ($response) { + $model = $response->data; + } + + return $model; + } + + protected function getPaid($limit) + { + $model = []; + + $response = $this->getPaidModules([ + 'query' => [ + 'limit' => $limit + ] + ]); + + if ($response) { + $model = $response->data; + } + + return $model; + } + + protected function getPreSale($limit) + { + $model = []; + + $response = $this->getPreSaleModules([ + 'query' => [ + 'limit' => $limit + ] + ]); + + if ($response) { + $model = $response->data; + } + + return $model; + } + + protected function getPurchased($limit) + { + $model = []; + $data = []; + + if ($limit != 4) { + $data = [ + 'query' => [ + 'limit' => $limit + ] + ]; + } + + $response = $this->getMyModules($data); + + if ($response) { + $model = $response; + } + + return $model; + } + + protected function getInstalled() + { + $model = []; + + $response = $this->getInstalledModules(); + + if ($response) { + $model = $response; + } + + return $model; + } + + protected function getTestimonials() + { + $model = []; + + $response = $this->getTestimonialModules(); + + if ($response) { + $model = $response; + } + + return $model; + } + + protected function getInstalledStatus() + { + $installed = Module::where('company_id', '=', company_id())->pluck('enabled', 'alias')->toArray(); + + return $installed; + } + + protected function getType() + { + if (! empty($this->type)) { + return $this->type; + } + + $name = Route::currentRouteName(); + + $keys = explode('.', $name); + + return count($keys) > 2 ? $keys[1] : last($keys); + } +} diff --git a/app/View/Components/Modules/Nnew.php b/app/View/Components/Modules/Nnew.php new file mode 100644 index 000000000..7f54a63ec --- /dev/null +++ b/app/View/Components/Modules/Nnew.php @@ -0,0 +1,12 @@ +items = $items; + $this->limits = $this->getLimits($limits); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.pagination'); + } + + protected function getLimits($limits) + { + if (! empty($limits)) { + return $limits; + } + + $limits = [ + '10' => '10', + '25' => '25', + '50' => '50', + '100' => '100' + ]; + + return $limits; + } +} diff --git a/app/View/Components/Script.php b/app/View/Components/Script.php new file mode 100644 index 000000000..1268585ab --- /dev/null +++ b/app/View/Components/Script.php @@ -0,0 +1,72 @@ +alias = $alias; + $this->folder = $folder; + $this->file = $file; + + $this->source = $this->getSource($alias, $folder, $file); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.script'); + } + + protected function getSource($alias, $folder, $file) + { + $path = 'public/js/'; + $version = version('short'); + + if ($alias != 'core') { + try { + $module = module($alias); + + if ($module) { + $path = 'modules/' . $module->getStudlyName() . '/Resources/assets/js/'; + $version = module_version($alias); + } + } catch (\Exception $e) { + + } + } + + if (! empty($folder)) { + $path .= $folder . '/'; + } + + $path .= $file . '.min.js?v=' . $version; + + return $path; + } +} diff --git a/app/View/Components/SearchString.php b/app/View/Components/SearchString.php index 8a4fc6dec..c24479f34 100644 --- a/app/View/Components/SearchString.php +++ b/app/View/Components/SearchString.php @@ -2,9 +2,9 @@ namespace App\View\Components; +use App\Abstracts\View\Component; use App\Traits\DateTime; use Illuminate\Support\Str; -use Illuminate\View\Component; class SearchString extends Component { @@ -89,11 +89,11 @@ class SearchString extends Component $column = $options['key']; } - if (isset($options['relationship']) && isset($options['foreign_key']) && !empty($options['foreign_key'])) { + if (isset($options['relationship']) && isset($options['foreign_key']) && ! empty($options['foreign_key'])) { $column .= '.' . $options['foreign_key']; } - if (isset($options['relationship']) && !isset($options['foreign_key'])) { + if (isset($options['relationship']) && ! isset($options['foreign_key'])) { $column .= '.id'; } @@ -108,7 +108,7 @@ class SearchString extends Component $column = str_replace('_code', '', $column); } - if (!empty($options['translation']) && !isset($options['boolean'])) { + if (! empty($options['translation']) && ! isset($options['boolean'])) { return $options['translation']; } diff --git a/app/View/Components/SelectContactCard.php b/app/View/Components/SelectContactCard.php deleted file mode 100644 index 1a93704dd..000000000 --- a/app/View/Components/SelectContactCard.php +++ /dev/null @@ -1,231 +0,0 @@ -type = $type; - $this->contact = $contact; - $this->contacts = $contacts; - $this->searchRoute = $searchRoute; - $this->createRoute = $createRoute; - $this->error = ($error) ?: "form.errors.get('contact_id')" ; - - $this->textAddContact = $this->getTextAddContact($type, $textAddContact); - $this->textCreateNewContact = $this->getTextCreateNewContact($type, $textCreateNewContact); - $this->textEditContact = $this->getTextEditContact($type, $textEditContact); - $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); - $this->textChooseDifferentContact = $this->getTextChooseDifferentContact($type, $textChooseDifferentContact); - } - - /** - * Get the view / contents that represent the component. - * - * @return \Illuminate\Contracts\View\View|string - */ - public function render() - { - if (empty($this->contacts)) { - $this->contacts = Contact::{$this->type}()->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); - - if (!empty($this->contact) && (!$this->contacts->contains('id', $contact->id))) { - $this->contacts->push($this->contact); - } - } - - if (empty($this->searchRoute)) { - switch ($this->type) { - case 'customer': - $this->searchRoute = route('customers.index'); - break; - case 'vendor': - $this->searchRoute = route('vendors.index'); - break; - } - } - - if (empty($this->createRoute)) { - switch ($this->type) { - case 'customer': - $this->createRoute = route('modals.customers.create'); - break; - case 'vendor': - $this->createRoute = route('modals.vendors.create'); - break; - } - } - - #todo 3rd part apps - $this->placeholder = trans('general.placeholder.contact_search', ['type' => trans_choice('general.' . Str::plural($this->type, 2), 1)]); - - return view('components.select-contact-card'); - } - - protected function getTextAddContact($type, $textAddContact) - { - if (!empty($textAddContact)) { - return $textAddContact; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $textAddContact = [ - 'general.form.add', - 'general.vendors' - ]; - break; - default: - $textAddContact = [ - 'general.form.add', - 'general.customers' - ]; - break; - } - - return $textAddContact; - } - - protected function getTextCreateNewContact($type, $textCreateNewContact) - { - if (!empty($textCreateNewContact)) { - return $textCreateNewContact; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $textCreateNewContact = [ - 'general.form.add_new', - 'general.vendors' - ]; - break; - default: - $textCreateNewContact = [ - 'general.form.add_new', - 'general.customers' - ]; - break; - } - - return $textCreateNewContact; - } - - protected function getTextEditContact($type, $textEditContact) - { - if (!empty($textEditContact)) { - return $textEditContact; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $textEditContact = [ - 'general.form.contact_edit', - 'general.vendors' - ]; - break; - default: - $textEditContact = [ - 'general.form.contact_edit', - 'general.customers' - ]; - break; - } - - return $textEditContact; - } - - protected function getTextContactInfo($type, $textContactInfo) - { - if (!empty($textContactInfo)) { - return $textContactInfo; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $textContactInfo = 'bills.bill_from'; - break; - default: - $textContactInfo = 'invoices.bill_to'; - break; - } - - return $textContactInfo; - } - - protected function getTextChooseDifferentContact($type, $textChooseDifferentContact) - { - if (!empty($textChooseDifferentContact)) { - return $textChooseDifferentContact; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $textChooseDifferentContact = [ - 'general.form.choose_different', - 'general.vendors' - ]; - break; - default: - $textChooseDifferentContact = [ - 'general.form.choose_different', - 'general.customers' - ]; - break; - } - - return $textChooseDifferentContact; - } -} diff --git a/app/View/Components/SelectItemButton.php b/app/View/Components/SelectItemButton.php deleted file mode 100644 index 720f54412..000000000 --- a/app/View/Components/SelectItemButton.php +++ /dev/null @@ -1,81 +0,0 @@ -type = $type; - $this->isSale = $isSale; - $this->isPurchase = $isPurchase; - $this->searchCharLimit = $searchCharLimit; - } - - /** - * Get the view / contents that represent the component. - * - * @return \Illuminate\Contracts\View\View|string - */ - public function render() - { - $items = Item::enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); - $price_type = $this->getPriceType($this->type, $this->isSale, $this->isPurchase); - - foreach ($items as $item) { - $price = $item->{$price_type . '_price'}; - - $item->price = $price; - } - - $price = $price_type . '_price'; - - return view('components.select-item-button', compact('items', 'price')); - } - - protected function getPriceType($type, $is_sale, $is_purchase) - { - if (!empty($is_sale)) { - return 'sale'; - } - - if (!empty($is_purchase)) { - return 'purchase'; - } - - switch ($type) { - case 'bill': - case 'expense': - case 'purchase': - $type = 'purchase'; - break; - case 'sale': - case 'income': - case 'invoice': - default: - $type = 'sale'; - } - - return $type; - } -} diff --git a/app/View/Components/Show/Accordion.php b/app/View/Components/Show/Accordion.php new file mode 100644 index 000000000..d38c1bef0 --- /dev/null +++ b/app/View/Components/Show/Accordion.php @@ -0,0 +1,46 @@ +type = $type; + $this->icon = $this->getIcon($icon); + $this->open = $open; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.show.accordion.index'); + } + + protected function getIcon($icon) + { + if (! empty($icon)) { + return $icon; + } + + return 'expand_more'; + } +} diff --git a/app/View/Components/Show/NoRecords.php b/app/View/Components/Show/NoRecords.php new file mode 100644 index 000000000..9939abf71 --- /dev/null +++ b/app/View/Components/Show/NoRecords.php @@ -0,0 +1,144 @@ + [ + 'transactions' => 'accounts.create-income', + 'transfers' => 'accounts.create-transfer', + ], + 'customer' => [ + 'invoices' => 'customers.create-invoice', + 'transactions' => 'customers.create-income', + ], + 'vendor' => [ + 'bills' => 'vendors.create-bill', + 'transactions' => 'vendors.create-expense', + ], + ]; + + /** + * Create a new component instance. + * + * @return void + */ + public function __construct( + string $type = '', $model = false, string $page = '', string $group = '', + string $backgroundColor = '', string $textColor = '', + string $image = '', string $description = '', string $url = '', string $textAction = '' + ) { + $this->type = $type; + $this->model = $model; + $this->page = $page; + $this->group = $group; + $this->backgroundColor = ! empty($backgroundColor) ? $backgroundColor : 'bg-lilac-900'; + $this->textColor = ! empty($textColor) ? $textColor : 'text-purple'; + $this->image = $this->getImage($image); + $this->description = $this->getDescription($description); + $this->url = $this->getUrl($url); + $this->textAction = $this->getTextAction($textAction); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.show.no-records'); + } + + protected function getImage($image) + { + if (! empty($image)) { + return $image; + } + + $image = match ($this->type) { + 'account' => 'public/img/no_records/accounts_' . $this->page . '.png', + 'customer' => 'public/img/no_records/customers_' . $this->page . '.png', + 'vendor' => 'public/img/no_records/vendors_' . $this->page . '.png', + default => '', + }; + + return $image; + } + + protected function getDescription($description) + { + if (! empty($description)) { + return $description; + } + + $prefix = Str::plural($this->type); + + $description = match ($this->type) { + 'account', 'customer', 'vendor' => trans($prefix . '.no_records.' . $this->page), + default => '', + }; + + return $description; + } + + protected function getUrl($url) + { + if (! empty($url)) { + return $url; + } + + if (array_key_exists($this->type, $this->urls) && array_key_exists($this->page, $this->urls[$this->type])) { + return route($this->urls[$this->type][$this->page], $this->model->id); + } + + return $url; + } + + protected function getTextAction($textAction) + { + if (! empty($textAction)) { + return $textAction; + } + + $textAction = match ($this->type) { + 'account', 'customer', 'vendor' => trans('general.title.new', ['type' => trans_choice('general.' . $this->page, 1)]), + default => trans('modules.learn_more'), + }; + + return $textAction; + } +} diff --git a/app/View/Components/Show/Status.php b/app/View/Components/Show/Status.php new file mode 100644 index 000000000..03d8fc6f5 --- /dev/null +++ b/app/View/Components/Show/Status.php @@ -0,0 +1,56 @@ +backgroundColor = ! empty($backgroundColor) ? $backgroundColor : 'bg-lilac-900'; + $this->textColor = ! empty($textColor) ? $textColor : 'text-purple'; + $this->status = $status; + $this->textStatus = $this->getTextStatus($textStatus); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.show.status'); + } + + protected function getTextStatus($textStatus) + { + if (! empty($textStatus)) { + return $textStatus; + } + + $textStatus = trans('documents.statuses.' . $this->status); + + return $textStatus; + } +} diff --git a/app/View/Components/Suggestions.php b/app/View/Components/Suggestions.php new file mode 100644 index 000000000..269d00a0a --- /dev/null +++ b/app/View/Components/Suggestions.php @@ -0,0 +1,76 @@ +suggestions = $this->setSuggestions($suggestions); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.suggestions'); + } + + protected function setSuggestions() + { + // No need to add suggestions in console + if (app()->runningInConsole() || !config('app.installed')) { + return []; + } + + if ((! $user = user()) || $user->cannot('read-modules-home')) { + return []; + } + + if (! $path = Route::current()->uri()) { + return []; + } + + $path = str_replace('{company_id}/', '', $path); + + if (! $suggestions = $this->getSuggestions($path)) { + return []; + } + + $modules = []; + + foreach ($suggestions->modules as $s_module) { + if ($this->moduleIsEnabled($s_module->alias)) { + continue; + } + + $s_module->action_url = company_id() . '/' . $s_module->action_url; + + $modules[] = $s_module; + } + + if (empty($modules)) { + return []; + } + + return $modules; + } +} diff --git a/app/View/Components/Table/Actions.php b/app/View/Components/Table/Actions.php new file mode 100644 index 000000000..a3e00caae --- /dev/null +++ b/app/View/Components/Table/Actions.php @@ -0,0 +1,116 @@ +model = $model; + $this->actions = $this->getActions($actions); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.table.actions'); + } + + protected function getActions($actions) + { + if (! empty($actions)) { + return $actions; + } + + $actions = []; + + if ($this->model && !empty($this->model->line_actions)) { + $actions = $this->model->line_actions; + } + + foreach ($actions as $key => $action) { + $attributes = []; + + if (! empty($action['attributes'])) { + $attributes = $action['attributes']; + } + + $actions[$key]['attributes'] = $this->getAttributes($attributes); + } + + return $actions; + } + + /** + * Build an HTML attribute string from an array. + * + * @param array $attributes + * + * @return string + */ + public function getAttributes($attributes) + { + $html = []; + + foreach ((array) $attributes as $key => $value) { + $element = $this->attributeElement($key, $value); + + if (! is_null($element)) { + $html[] = $element; + } + } + + return count($html) > 0 ? ' ' . implode(' ', $html) : ''; + } + + /** + * Build a single attribute element. + * + * @param string $key + * @param string $value + * + * @return string + */ + protected function attributeElement($key, $value) + { + // For numeric keys we will assume that the value is a boolean attribute + // where the presence of the attribute represents a true value and the + // absence represents a false value. + // This will convert HTML attributes such as "required" to a correct + // form instead of using incorrect numerics. + if (is_numeric($key)) { + return $value; + } + + // Treat boolean attributes as HTML properties + if (is_bool($value) && $key !== 'value') { + return $value ? $key : ''; + } + + if (is_array($value) && $key === 'class') { + return 'class=' . implode(' ', $value); + } + + if (! is_null($value)) { + return $key . '=' . e($value, false); + } + } +} diff --git a/app/View/Components/Table/Tbody.php b/app/View/Components/Table/Tbody.php new file mode 100644 index 000000000..4c2ddafe7 --- /dev/null +++ b/app/View/Components/Table/Tbody.php @@ -0,0 +1,18 @@ +override = $this->getOverride($override); + + $this->kind = $kind; + $this->class = $this->getClass($class); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.table.td'); + } + + protected function getOverride($override) + { + return explode(',', $override); + } + + protected function getClass($class) + { + if (in_array('class', $this->override)) { + return $class; + } + + $default = 'py-4 whitespace-nowrap text-sm font-normal text-black truncate'; + + switch ($this->kind) { + case 'amount': + $default = $class . ' ltr:pl-6 rtl:pr-6 ltr:text-right rtl:text-left ' . $default; + break; + case 'right': + $default = $class . ' ltr:pl-6 rtl:pr-6 ltr:text-right rtl:text-left ' . $default; + break; + case 'action': + $default = 'p-0'; + break; + case 'cursor-none': + $default = $class . ' cursor-default ' . $default; + break; + default: + $default = $class . ' ltr:pr-6 rtl:pl-6 ltr:text-left rtl:text-right cursor-pointer ' . $default; + } + + return $default; + } +} diff --git a/app/View/Components/Table/Th.php b/app/View/Components/Table/Th.php new file mode 100644 index 000000000..a46be84dd --- /dev/null +++ b/app/View/Components/Table/Th.php @@ -0,0 +1,65 @@ +override = $this->getOverride($override); + + $this->kind = $kind; + $this->class = $this->getClass($class); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.table.th'); + } + + protected function getOverride($override) + { + return explode(',', $override); + } + + protected function getClass($class) + { + if (in_array('class', $this->override)) { + return $class; + } + + $default = 'py-3 text-xs font-medium text-black tracking-wider'; + + switch ($this->kind) { + case 'amount': + $default = $class . ' ltr:pl-6 rtl:pr-6 ltr:text-right rtl:text-left ' . $default; + break; + case 'right': + $default = $class . ' ltr:pl-6 rtl:pr-6 ltr:text-right rtl:text-left' . $default; + break; + default: + $default = $class . ' ltr:pr-6 rtl:pl-6 ltr:text-left rtl:text-right ' . $default; + } + + return $default; + } +} diff --git a/app/View/Components/Table/Thead.php b/app/View/Components/Table/Thead.php new file mode 100644 index 000000000..eddbe8f50 --- /dev/null +++ b/app/View/Components/Table/Thead.php @@ -0,0 +1,18 @@ +class = $this->getClass($class); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.table.tr'); + } + + protected function getClass($class) + { + if (! empty($class)) { + return $class; + } + + $self = new ReflectionProperty($this::class, 'methodCache'); + $self->setAccessible(true); + + $values = $self->getValue(); + + if (array_key_exists('App\View\Components\Table\Tbody', $values)) { + return 'relative flex items-center px-1 group border-b hover:bg-gray-100'; + } + + return ''; + } +} diff --git a/app/View/Components/Tips.php b/app/View/Components/Tips.php new file mode 100644 index 000000000..e474cd493 --- /dev/null +++ b/app/View/Components/Tips.php @@ -0,0 +1,86 @@ +position = $position; + $this->path = $path; + $this->tips = collect(); + + $this->setTips($tips); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + switch ($this->position) { + case 'fixed': + $view = 'components.tips.fixed'; + break; + default: + $view = 'components.tips.relative'; + } + + return view($view); + } + + protected function setTips($tips) + { + if (!empty($tips)) { + $this->tips = $tips; + } + + if (!$path = Route::current()->uri()) { + return; + } + + $path = Str::replace('{company_id}/', '', $path); + + if (!$tips = $this->getTips($path)) { + return; + } + + foreach ($tips as $tip) { + if ($tip->position != $this->position) { + continue; + } + + if (!empty($tip->alias) && $this->moduleIsEnabled($tip->alias)) { + continue; + } + + $this->tips->push($tip); + } + } +} diff --git a/app/View/Components/Tooltip.php b/app/View/Components/Tooltip.php new file mode 100644 index 000000000..a3af5460c --- /dev/null +++ b/app/View/Components/Tooltip.php @@ -0,0 +1,159 @@ +id = $this->getId($id); + $this->placement = $this->getPlacement($placement); + $this->tooltipPosition = $this->getTooltipPosition($tooltipPosition); + + $this->backgroundColor = $this->getBackgroundColor($backgroundColor); + $this->textColor = $this->getTextColor($textColor); + $this->borderColor = $this->getBorderColor($borderColor); + + $this->message = $this->getMessage($message); + $this->size = $this->getSize($size); + $this->whitespace = $this->getWhiteSpace($whitespace); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.tooltip'); + } + + protected function getId($id) + { + if (! empty($id)) { + return $id; + } + + return 'tooltip-' . Str::random(1920); + } + + protected function getPlacement($placement) + { + if (! empty($placement)) { + return $placement; + } + + return 'top'; + } + + protected function getTooltipPosition($tooltipPosition) + { + if (! empty($tooltipPosition)) { + return $tooltipPosition; + } + + switch ($this->placement) { + case 'bottom': + $tooltipPosition = "-top-1 before:border-b-0 before:border-r-0"; + break; + case 'left': + $tooltipPosition = "-right-1 before:border-b-0 before:border-l-0"; + break; + case 'right': + $tooltipPosition = "-left-1 before:border-t-0 before:border-r-0"; + break; + case 'top': + default: + $tooltipPosition = "-bottom-1 before:border-t-0 before:border-l-0"; + break; + } + + return $tooltipPosition; + } + + protected function getBackgroundColor($backgroundColor) + { + if (! empty($backgroundColor)) { + return $backgroundColor; + } + + return 'bg-white'; + } + + protected function getTextColor($textColor) + { + if (! empty($textColor)) { + return $textColor; + } + + return 'text-gray-900'; + } + + protected function getBorderColor($borderColor) + { + if (! empty($borderColor)) { + return $borderColor; + } + + return 'border-gray-200'; + } + + protected function getMessage($message) + { + if (! empty($message)) { + return $message; + } + + return trans('general.na'); + } + + protected function getSize($size) + { + if (! empty($size)) { + return $size; + } + + return 'w-auto'; + } + + protected function getWhiteSpace($whitespace) + { + if (! empty($whitespace)) { + return $whitespace; + } + + return 'whitespace-normal'; + } +} diff --git a/app/View/Components/Transactions/Script.php b/app/View/Components/Transactions/Script.php index 6600ae669..9769bf564 100644 --- a/app/View/Components/Transactions/Script.php +++ b/app/View/Components/Transactions/Script.php @@ -2,32 +2,46 @@ namespace App\View\Components\Transactions; -use Illuminate\View\Component; +use App\Abstracts\View\Component; +use App\Traits\ViewComponents; class Script extends Component { + use ViewComponents; + + public const OBJECT_TYPE = 'transaction'; + public const DEFAULT_TYPE = 'income'; + public const DEFAULT_PLURAL_TYPE = 'incomes'; + /** @var string */ public $type; - /** @var string */ - public $scriptFile; - - /** @var string */ - public $version; - public $transaction; + /** @var string */ + public $alias; + + /** @var string */ + public $folder; + + /** @var string */ + public $file; + /** * Create a new component instance. * * @return void */ - public function __construct(string $type = '', string $scriptFile = '', string $version = '', $transaction = false) - { + public function __construct( + string $type = '', $transaction = false, + string $alias = '', string $folder = '', string $file = '' + ) { $this->type = $type; - $this->scriptFile = ($scriptFile) ? $scriptFile : 'public/js/banking/transactions.js'; - $this->version = $this->getVersion($version); $this->transaction = $transaction; + + $this->alias = $this->getAlias($type, $alias); + $this->folder = $this->getScriptFolder($type, $folder); + $this->file = $this->getScriptFile($type, $file); } /** @@ -39,17 +53,4 @@ class Script extends Component { return view('components.transactions.script'); } - - protected function getVersion($version) - { - if (!empty($version)) { - return $version; - } - - if ($alias = config('type.' . $this->type . '.alias')) { - return module_version($alias); - } - - return version('short'); - } } diff --git a/app/View/Components/Transactions/Show/Attachment.php b/app/View/Components/Transactions/Show/Attachment.php index 2e9e2c339..4a79b3cc0 100644 --- a/app/View/Components/Transactions/Show/Attachment.php +++ b/app/View/Components/Transactions/Show/Attachment.php @@ -2,7 +2,7 @@ namespace App\View\Components\Transactions\Show; -use App\Abstracts\View\Components\TransactionShow as Component; +use App\Abstracts\View\Components\Transactions\Show as Component; class Attachment extends Component { diff --git a/app/View/Components/Transactions/Show/Buttons.php b/app/View/Components/Transactions/Show/Buttons.php new file mode 100644 index 000000000..352e1d801 --- /dev/null +++ b/app/View/Components/Transactions/Show/Buttons.php @@ -0,0 +1,18 @@ +type = $type; - $this->scriptFile = ($scriptFile) ? $scriptFile : 'public/js/banking/transfers.js'; - $this->version = $this->getVersion($version); - $this->transfer = $transfer; + public function __construct( + $model = false, $transfer = false, + string $alias = '', string $folder = '', string $file = '' + ) { + $this->model = ! empty($model) ? $model : $transfer; + $this->transfer = ! empty($model) ? $model : $transfer; + + $this->alias = $this->getAlias($type, $alias); + $this->folder = $this->getScriptFolder($type, $folder); + $this->file = $this->getScriptFile($type, $file); } /** @@ -39,17 +52,4 @@ class Script extends Component { return view('components.transfers.script'); } - - protected function getVersion($version) - { - if (!empty($version)) { - return $version; - } - - if ($alias = config('type.' . $this->type . '.alias')) { - return module_version($alias); - } - - return version('short'); - } } diff --git a/app/View/Components/Transfers/Show/Attachment.php b/app/View/Components/Transfers/Show/Attachment.php index e89a9c9e0..ae1269175 100644 --- a/app/View/Components/Transfers/Show/Attachment.php +++ b/app/View/Components/Transfers/Show/Attachment.php @@ -2,7 +2,7 @@ namespace App\View\Components\Transfers\Show; -use App\Abstracts\View\Components\TransferShow as Component; +use App\Abstracts\View\Components\Transfers\Show as Component; class Attachment extends Component { diff --git a/app/View/Components/Transfers/Show/Buttons.php b/app/View/Components/Transfers/Show/Buttons.php new file mode 100644 index 000000000..49c56ea1c --- /dev/null +++ b/app/View/Components/Transfers/Show/Buttons.php @@ -0,0 +1,18 @@ +model = ! empty($model) ? $model : user()->contact; + $this->contact = ! empty($contact) ? $contact : $this->model; + } + + /** + * Determine if the given full_name is the currently selected full_name. + * + * @param string $full_name + * @return string + */ + public function shortName($full_name) + { + if (empty($full_name)) { + return trans('general.na'); + } + + $names = explode(' ', $full_name); + + return strtoupper(substr($names[0], 0, 1) . substr(end($names), 0, 1)); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.widgets.contact'); + } +} diff --git a/app/View/Components/Widgets/InvoiceHistory.php b/app/View/Components/Widgets/InvoiceHistory.php new file mode 100644 index 000000000..99e96c3ff --- /dev/null +++ b/app/View/Components/Widgets/InvoiceHistory.php @@ -0,0 +1,50 @@ +contact = ! empty($contact) ? $contact : user()->contact; + $this->model = $model; + $this->invoices = $this->getPayment($model, $invoices); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.widgets.invoice_history'); + } + + protected function getPayment($model, $invoices) + { + if (! empty($model)) { + return $model; + } + + if (! empty($invoices)) { + return $invoices; + } + + return $this->contact->invoices()->orderBy('created_at', 'desc')->limit(3)->get(); + } +} diff --git a/app/View/Components/Widgets/LastPayment.php b/app/View/Components/Widgets/LastPayment.php new file mode 100644 index 000000000..78b458a48 --- /dev/null +++ b/app/View/Components/Widgets/LastPayment.php @@ -0,0 +1,50 @@ +contact = ! empty($contact) ? $contact : user()->contact; + $this->model = $model; + $this->payment = $this->getPayment($model, $payment); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.widgets.last_payment'); + } + + protected function getPayment($model, $payment) + { + if (! empty($model)) { + return $model; + } + + if (! empty($payment)) { + return $payment; + } + + return $this->contact->income_transactions()->orderBy('created_at', 'desc')->first(); + } +} diff --git a/app/View/Components/Widgets/LatestInvoices.php b/app/View/Components/Widgets/LatestInvoices.php new file mode 100644 index 000000000..07caa7859 --- /dev/null +++ b/app/View/Components/Widgets/LatestInvoices.php @@ -0,0 +1,50 @@ +contact = ! empty($contact) ? $contact : user()->contact; + $this->model = $model; + $this->invoices = $this->getInvoices($model, $invoices); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.widgets.latest_invoices'); + } + + protected function getInvoices($model, $invoices) + { + if (! empty($model)) { + return $model; + } + + if (! empty($invoices)) { + return $invoices; + } + + return $this->contact->invoices()->orderBy('created_at', 'desc')->limit(3)->get(); + } +} diff --git a/app/View/Components/Widgets/OutstandingBalance.php b/app/View/Components/Widgets/OutstandingBalance.php new file mode 100644 index 000000000..4c1a85385 --- /dev/null +++ b/app/View/Components/Widgets/OutstandingBalance.php @@ -0,0 +1,32 @@ +contact = ! empty($contact) ? $contact : user()->contact; + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.widgets.outstanding_balance'); + } +} diff --git a/app/View/Components/Widgets/PaymentHistory.php b/app/View/Components/Widgets/PaymentHistory.php new file mode 100644 index 000000000..3f8ce186c --- /dev/null +++ b/app/View/Components/Widgets/PaymentHistory.php @@ -0,0 +1,50 @@ +contact = ! empty($contact) ? $contact : user()->contact; + $this->model = $model; + $this->payments = $this->getPayment($model, $payments); + } + + /** + * Get the view / contents that represent the component. + * + * @return \Illuminate\Contracts\View\View|string + */ + public function render() + { + return view('components.widgets.payment_history'); + } + + protected function getPayment($model, $payment) + { + if (! empty($model)) { + return $model; + } + + if (! empty($payment)) { + return $payment; + } + + return $this->contact->income_transactions()->orderBy('created_at', 'desc')->limit(3)->get(); + } +} diff --git a/app/View/Presenters/Menu.php b/app/View/Presenters/Menu.php new file mode 100644 index 000000000..e12551a92 --- /dev/null +++ b/app/View/Presenters/Menu.php @@ -0,0 +1,280 @@ + + +
+ + +
+ ' . PHP_EOL; + } + + /** + * {@inheritdoc }. + */ + public function getMenuWithoutDropdownWrapper($item) + { + return '
  • + getAttributes() . '> + ' . $this->getIcon($item) . ' + ' . $item->title . ' + + +
  • ' + . PHP_EOL; + } + + /** + * {@inheritdoc }. + */ + public function getActiveState($item, $state = ' font-semibold') + { + return $item->isActive() ? $state : ''; + } + + /** + * Get active state on child items. + * + * @param $item + * @param string $state + * + * @return null|string + */ + public function getActiveStateOnChild($item, $state = 'open') + { + return $item->hasActiveOnChild() ? $state : ''; + } + + /** + * Get active state on child items. + * + * @param $item + * @param string $state + * + * @return null|string + */ + public function getShowStateOnChild($item, $state = 'open') + { + return $item->hasActiveOnChild() ? $state : ' '; + } + + /** + * {@inheritdoc }. + */ + public function getDividerWrapper() + { + return '
    '; + } + + /** + * {@inheritdoc }. + */ + public function getHeaderWrapper($item) + { + return ''; + } + + /** + * {@inheritdoc }. + */ + public function getMenuWithDropDownWrapper($item) + { + $id = Str::slug($item->title); + + return ' +
    getActiveStateOnChild($item) . '> + +
    + ' . $this->getIcon($item) . ' + ' . $item->title . ' + ' . $this->getChevron($item) . ' +
    +
    + +
    ' + . PHP_EOL; + } + + /** + * Get multilevel menu wrapper. + * + * @param \Akaunting\Menu\MenuItem $item + * + * @return string` + */ + public function getMultiLevelDropdownWrapper($item) + { + $id = Str::slug($item->title); + + return '
    + +
    + ' . $this->getIcon($item) . ' + ' . $item->title . ' + + ' . $this->getChevron($item) . ' +
    +
    + +
    ' + . PHP_EOL; + } + + public function iconState($item, $state = '') + { + return $item->isActive() ? $state : '-outlined'; + } + + public function iconChildState($item, $state = '') + { + return $item->hasActiveOnChild() ? $state : '-outlined'; + } + + public function getId($item) + { + $id = Str::of($item->getUrl()) + ->replace(url('/'), '-') + ->replace('/' . company_id(), '') + ->replace(['/', '?', '='], '-') + ->trim('-') + ->squish(); + + return 'menu-' . $id; + } + + public function getClass($item) + { + $class = 'flex items-center text-purple'; + + $attributes = $item->attributes; + + if (!empty($attributes['class'])) { + $class .= ' ' . $attributes['class']; + } + + return $class; + } + + public function getIcon($item) + { + if (empty($item->icon)) { + return ''; + } + + $state = empty($item->getChilds()) ? $this->iconState($item) : $this->iconChildState($item); + + if (Str::startsWith($item->icon, 'simple-icons-')) { + $slug = Str::replace('simple-icons-', '', $item->icon); + + $path = base_path('vendor/simple-icons/simple-icons/icons/' . $slug . '.svg'); + + $icon_content = file_get_contents($path); + + $style = ''; + $styles= []; + + foreach (['width', 'height', 'stroke-width'] as $css) { + if (empty($item->attributes['simple-icons-' . $css])) { + continue; + } + + $styles[] .= $css . ':' . $item->attributes['simple-icons-' . $css] . ';'; + } + + if ($styles) { + $style = 'style="'; + $style .= implode(' ', $styles); + $style .= '"'; + } + + $find_str = 'xmlns="http://www.w3.org/2000/svg"'; + + $icon_content = Str::replace($find_str, $find_str . $style, $icon_content); + } elseif (Str::startsWith($item->icon, 'custom-')) { + $path = $this->getCustomIcon($item); + + $icon_content = file_get_contents($path); + } else { + $icon_content = '' . $item->icon . ''; + } + + return '
    + ' . $icon_content . ' +
    ' . PHP_EOL; + } + + public function getChevron($item) + { + $state = $this->chevronState($item); + + return 'expand' . $state . '' . PHP_EOL; + } + + public function chevronState($item, $state = '_less') + { + return $item->hasActiveOnChild() ? $state : '_more'; + } + + protected function getCustomIcon($item) + { + $slug = Str::replace('custom-', '', $item->icon); + + $base_path = 'public/img/icons/'; + + $module_alias = ''; + + if (! empty($item->properties['route'])) { + $route = $item->properties['route'][0]; + + $module_alias = explode('.', $route)[0]; + } elseif (! empty($item->properties['url'])) { + $url_paths = explode('/', $item->properties['url']); + + $module_alias = count($url_paths) >= 1 ? $url_paths[1] : $url_paths[0]; + } elseif (! empty($item->childs[0])) { + $route = $item->childs[0]->route[0]; + + $module_alias = explode('.', $route)[0]; + } + + if (module($module_alias) != null) { + $base_path = 'modules/' . Str::studly($module_alias) . '/Resources/assets/img/icons/'; + } + + $path = base_path($base_path . $slug . '.svg'); + + if (! file_exists($path)) { + $path = 'public/img/akaunting-logo-purple.svg'; + } + + return $path; + } +} diff --git a/app/Widgets/AccountBalance.php b/app/Widgets/AccountBalance.php index 54822ae64..fbe315e58 100644 --- a/app/Widgets/AccountBalance.php +++ b/app/Widgets/AccountBalance.php @@ -9,9 +9,17 @@ class AccountBalance extends Widget { public $default_name = 'widgets.account_balance'; + public $description = 'widgets.description.account_balance'; + + public $report_class = 'App\Reports\IncomeExpense'; + public function show() { - $accounts = Account::with('income_transactions', 'expense_transactions')->enabled()->take(5)->get(); + $accounts = Account::with('income_transactions', 'expense_transactions')->enabled()->take(5)->get()->map(function($account) { + $account->balance_formatted = money($account->balance, $account->currency_code, true); + + return $account; + })->all(); return $this->view('widgets.account_balance', [ 'accounts' => $accounts, diff --git a/app/Widgets/BankFeeds.php b/app/Widgets/BankFeeds.php new file mode 100644 index 000000000..a9ca96d1c --- /dev/null +++ b/app/Widgets/BankFeeds.php @@ -0,0 +1,24 @@ +getModulesByWidget('bank-feeds'); + + return $this->view('widgets.bank_feeds', [ + 'module' => $module, + 'learn_more_url' => $this->getCloudBankFeedsUrl(), + ]); + } +} diff --git a/app/Widgets/CashFlow.php b/app/Widgets/CashFlow.php index e53730ea5..7e164ec6f 100644 --- a/app/Widgets/CashFlow.php +++ b/app/Widgets/CashFlow.php @@ -2,12 +2,12 @@ namespace App\Widgets; +use Akaunting\Apexcharts\Charts as Apexcharts; use App\Abstracts\Widget; use App\Models\Banking\Transaction; use App\Traits\Currencies; use App\Traits\DateTime; -use App\Utilities\Chartjs; -use Date; +use App\Utilities\Date; class CashFlow extends Widget { @@ -16,10 +16,68 @@ class CashFlow extends Widget public $default_name = 'widgets.cash_flow'; public $default_settings = [ - 'width' => 'col-md-12', + 'width' => 'w-full my-8 px-12', ]; + public $description = 'widgets.description.cash_flow'; + + public $report_class = 'Modules\CashFlowStatement\Reports\CashFlowStatement'; + + public $start_date; + + public $end_date; + + public $period; + public function show() + { + $this->setFilter(); + + $labels = $this->getLabels(); + + $income = array_values($this->calculateTotals('income')); + $expense = array_values($this->calculateTotals('expense')); + $profit = array_values($this->calculateProfit($income, $expense)); + + $colors = $this->getColors(); + + $options = [ + 'chart' => [ + 'stacked' => true, + ], + 'plotOptions' => [ + 'bar' => [ + 'columnWidth' => '40%', + ], + ], + 'legend' => [ + 'position' => 'top', + ], + ]; + + $chart = new Apexcharts(); + + $chart->setType('line') + ->setOptions($options) + ->setLabels(array_values($labels)) + ->setColors($colors) + ->setDataset(trans('general.incoming'), 'column', $income) + ->setDataset(trans('general.outgoing'), 'column', $expense) + ->setDataset(trans_choice('general.profits', 1), 'line', $profit); + + $totals = [ + 'incoming' => money(array_sum($income), setting('default.currency'), true), + 'outgoing' => money(abs(array_sum($expense)), setting('default.currency'), true), + 'profit' => money(array_sum($profit), setting('default.currency'), true), + ]; + + return $this->view('widgets.cash_flow', [ + 'chart' => $chart, + 'totals' => $totals, + ]); + } + + public function setFilter(): void { $financial_start = $this->getFinancialStart()->format('Y-m-d'); @@ -28,31 +86,35 @@ class CashFlow extends Widget $year_start = $financial_start; } - $start = Date::parse(request('start_date', $year_start)); - $end = Date::parse(request('end_date', Date::parse($year_start)->addYear(1)->subDays(1)->format('Y-m-d'))); - $period = request('period', 'month'); + $this->start_date = Date::parse(request('start_date', $year_start)); + $this->end_date = Date::parse(request('end_date', Date::parse($year_start)->addYear(1)->subDays(1)->format('Y-m-d'))); + $this->period = request('period', 'month'); + } + + public function getLabels(): array + { $range = request('range', 'custom'); - $start_month = $start->month; - $end_month = $end->month; + $start_month = $this->start_date->month; + $end_month = $this->end_date->month; // Monthly $labels = []; - $s = clone $start; + $s = clone $this->start_date; if ($range == 'last_12_months') { $end_month = 12; $start_month = 0; } elseif ($range == 'custom') { - $end_month = $end->diffInMonths($start); + $end_month = $this->end_date->diffInMonths($this->start_date); $start_month = 0; } for ($j = $end_month; $j >= $start_month; $j--) { $labels[$end_month - $j] = $s->format('M Y'); - if ($period == 'month') { + if ($this->period == 'month') { $s->addMonth(); } else { $s->addMonths(3); @@ -60,74 +122,43 @@ class CashFlow extends Widget } } - $income = $this->calculateTotals('income', $start, $end, $period); - $expense = $this->calculateTotals('expense', $start, $end, $period); - $profit = $this->calculateProfit($income, $expense); - - $chart = new Chartjs(); - $chart->type('line') - ->width(0) - ->height(300) - ->options($this->getLineChartOptions()) - ->labels(array_values($labels)); - - $chart->dataset(trans_choice('general.incomes', 1), 'line', array_values($income)) - ->backgroundColor('#328aef') - ->color('#328aef') - ->options([ - 'borderWidth' => 4, - 'pointStyle' => 'line', - ]) - ->fill(false); - - $chart->dataset(trans_choice('general.expenses', 2), 'line', array_values($expense)) - ->backgroundColor('#ef3232') - ->color('#ef3232') - ->options([ - 'borderWidth' => 4, - 'pointStyle' => 'line', - ]) - ->fill(false); - - $chart->dataset(trans_choice('general.profits', 1), 'line', array_values($profit)) - ->backgroundColor('#6da252') - ->color('#6da252') - ->options([ - 'borderWidth' => 4, - 'pointStyle' => 'line', - ]) - ->fill(false); - - return $this->view('widgets.line_chart', [ - 'chart' => $chart, - ]); + return $labels; } - private function calculateTotals($type, $start, $end, $period) + public function getColors(): array + { + return [ + '#8bb475', + '#fb7185', + '#7779A2', + ]; + } + + private function calculateTotals($type): array { $totals = []; $date_format = 'Y-m'; - if ($period == 'month') { + if ($this->period == 'month') { $n = 1; - $start_date = $start->format($date_format); - $end_date = $end->format($date_format); + $start_date = $this->start_date->format($date_format); + $end_date = $this->end_date->format($date_format); $next_date = $start_date; } else { $n = 3; - $start_date = $start->quarter; - $end_date = $end->quarter; + $start_date = $this->start_date->quarter; + $end_date = $this->end_date->quarter; $next_date = $start_date; } - $s = clone $start; + $s = clone $this->start_date; //$totals[$start_date] = 0; while ($next_date <= $end_date) { $totals[$next_date] = 0; - if ($period == 'month') { + if ($this->period == 'month') { $next_date = $s->addMonths($n)->format($date_format); } else { if (isset($totals[4])) { @@ -138,17 +169,21 @@ class CashFlow extends Widget } } - $items = $this->applyFilters(Transaction::$type()->whereBetween('paid_at', [$start, $end])->isNotTransfer())->get(); + $items = $this->applyFilters(Transaction::$type()->whereBetween('paid_at', [$this->start_date, $this->end_date])->isNotTransfer())->get(); - $this->setTotals($totals, $items, $date_format, $period); + $this->setTotals($totals, $items, $date_format); return $totals; } - private function setTotals(&$totals, $items, $date_format, $period) + private function setTotals(&$totals, $items, $date_format): void { + $type = 'income'; + foreach ($items as $item) { - if ($period == 'month') { + $type = $item->type; + + if ($this->period == 'month') { $i = Date::parse($item->paid_at)->format($date_format); } else { $i = Date::parse($item->paid_at)->quarter; @@ -164,20 +199,24 @@ class CashFlow extends Widget $precision = config('money.' . setting('default.currency') . '.precision'); foreach ($totals as $key => $value) { + if ($type == 'expense') { + $value = -1 * $value; + } + $totals[$key] = round($value, $precision); } } - private function calculateProfit($incomes, $expenses) + private function calculateProfit($incomes, $expenses): array { $profit = []; + $precision = config('money.' . setting('default.currency') . '.precision'); + foreach ($incomes as $key => $income) { - if ($income > 0 && $income > $expenses[$key]) { - $profit[$key] = $income - $expenses[$key]; - } else { - $profit[$key] = 0; - } + $value = $income - abs($expenses[$key]); + + $profit[$key] = round($value, $precision); } return $profit; diff --git a/app/Widgets/ExpensesByCategory.php b/app/Widgets/ExpensesByCategory.php index 2ec6ab13e..4b39555f0 100644 --- a/app/Widgets/ExpensesByCategory.php +++ b/app/Widgets/ExpensesByCategory.php @@ -9,13 +9,13 @@ class ExpensesByCategory extends Widget { public $default_name = 'widgets.expenses_by_category'; - public $default_settings = [ - 'width' => 'col-md-6', - ]; + public $description = 'widgets.description.expenses_by_category'; + + public $report_class = 'App\Reports\ExpenseSummary'; public function show() { - Category::with('expense_transactions')->expense()->each(function ($category) { + Category::withSubCategory()->with('expense_transactions')->expense()->each(function ($category) { $amount = 0; $this->applyFilters($category->expense_transactions)->each(function ($transaction) use (&$amount) { @@ -25,7 +25,7 @@ class ExpensesByCategory extends Widget $this->addMoneyToDonut($category->color, $amount, $category->name); }); - $chart = $this->getDonutChart(trans_choice('general.expenses', 2), 0, 160, 6); + $chart = $this->getDonutChart(trans_choice('general.expenses', 2), '100%', 300, 6); return $this->view('widgets.donut_chart', [ 'chart' => $chart, diff --git a/app/Widgets/IncomeByCategory.php b/app/Widgets/IncomeByCategory.php deleted file mode 100644 index 482e933f0..000000000 --- a/app/Widgets/IncomeByCategory.php +++ /dev/null @@ -1,34 +0,0 @@ - 'col-md-6', - ]; - - public function show() - { - Category::with('income_transactions')->income()->each(function ($category) { - $amount = 0; - - $this->applyFilters($category->income_transactions)->each(function ($transaction) use (&$amount) { - $amount += $transaction->getAmountConvertedToDefault(); - }); - - $this->addMoneyToDonut($category->color, $amount, $category->name); - }); - - $chart = $this->getDonutChart(trans_choice('general.incomes', 1), 0, 160, 6); - - return $this->view('widgets.donut_chart', [ - 'chart' => $chart, - ]); - } -} diff --git a/app/Widgets/LatestExpenses.php b/app/Widgets/LatestExpenses.php deleted file mode 100644 index 9f5810136..000000000 --- a/app/Widgets/LatestExpenses.php +++ /dev/null @@ -1,20 +0,0 @@ -applyFilters(Transaction::with('category')->expense()->orderBy('paid_at', 'desc')->isNotTransfer()->take(5))->get(); - - return $this->view('widgets.latest_expenses', [ - 'transactions' => $transactions, - ]); - } -} diff --git a/app/Widgets/LatestIncome.php b/app/Widgets/LatestIncome.php deleted file mode 100644 index d883fcdf5..000000000 --- a/app/Widgets/LatestIncome.php +++ /dev/null @@ -1,20 +0,0 @@ -applyFilters(Transaction::with('category')->income()->orderBy('paid_at', 'desc')->isNotTransfer()->take(5))->get(); - - return $this->view('widgets.latest_income', [ - 'transactions' => $transactions, - ]); - } -} diff --git a/app/Widgets/Payables.php b/app/Widgets/Payables.php new file mode 100644 index 000000000..3b0d86520 --- /dev/null +++ b/app/Widgets/Payables.php @@ -0,0 +1,79 @@ + 0, + 'overdue_30_60' => 0, + 'overdue_60_90' => 0, + 'overdue_90_un' => 0, + ]; + + $query = Document::bill()->with('transactions')->accrued()->notPaid(); + + $this->applyFilters($query, ['date_field' => 'issued_at'])->each(function ($bill) use (&$open, &$overdue, &$periods) { + list($open_tmp, $overdue_tmp) = $this->calculateDocumentTotals($bill); + + $open += $open_tmp; + $overdue += $overdue_tmp; + + foreach ($periods as $period_name => $period_amount) { + $arr = explode('_', $period_name); + + if ($arr[2] == 'un') { + $arr[2] = '9999'; + } + + $start = Date::today()->subDays($arr[2])->toDateString() . ' 00:00:00'; + $end = Date::today()->subDays($arr[1])->toDateString() . ' 23:59:59'; + + if (! Date::parse($bill->due_at)->isBetween($start, $end)) { + continue; + } + + $periods[$period_name] += $overdue_tmp; + } + }); + + foreach ($periods as $period_name => $period_amount) { + $periods[$period_name] = money($period_amount, setting('default.currency'), true); + } + + $has_progress = !empty($open) || !empty($overdue); + $progress = !empty($open) ? (int) ($open * 100) / ($open + $overdue) : 0; + + $grand = $open + $overdue; + + $totals = [ + 'grand' => money($grand, setting('default.currency'), true), + 'open' => money($open, setting('default.currency'), true), + 'overdue' => money($overdue, setting('default.currency'), true), + ]; + + $grand_total_text = trans('widgets.total_unpaid_bills'); + + return $this->view('widgets.receivables_payables', [ + 'totals' => $totals, + 'has_progress' => $has_progress, + 'progress' => $progress, + 'periods' => $periods, + 'grand_total_text' => $grand_total_text, + ]); + } +} diff --git a/app/Widgets/ProfitLoss.php b/app/Widgets/ProfitLoss.php new file mode 100644 index 000000000..39febc172 --- /dev/null +++ b/app/Widgets/ProfitLoss.php @@ -0,0 +1,217 @@ +setFilter(); + + $labels = $this->getLabels(); + + $income = $this->getIncome(); + + $expense = $this->getExpense(); + + $colors = $this->getColors(); + + $chart = new Apexcharts(); + + $options = [ + 'legend' => [ + 'position' => 'top', + 'markers' => [ + 'radius' => '12', + ], + ], + ]; + + $chart->setType('bar') + ->setOptions($options) + ->setLabels(array_values($labels)) + ->setColors($colors) + ->setDataset(trans_choice('general.incomes', 1), 'column', array_values($income)) + ->setDataset(trans_choice('general.expenses', 1), 'column', array_values($expense)); + + return $this->view('widgets.bar_chart', [ + 'chart' => $chart, + ]); + } + + public function setFilter(): void + { + $financial_start = $this->getFinancialStart()->format('Y-m-d'); + + // check and assign year start + if (($year_start = Date::today()->startOfYear()->format('Y-m-d')) !== $financial_start) { + $year_start = $financial_start; + } + + $this->start_date = Date::parse(request('start_date', $year_start)); + $this->end_date = Date::parse(request('end_date', Date::parse($year_start)->addYear(1)->subDays(1)->format('Y-m-d'))); + $this->period = request('period', 'month'); + } + + public function getLabels(): array + { + $range = request('range', 'custom'); + + $start_month = $this->start_date->month; + $end_month = $this->end_date->month; + + // Monthly + $labels = []; + + $s = clone $this->start_date; + + if ($range == 'last_12_months') { + $end_month = 12; + $start_month = 0; + } elseif ($range == 'custom') { + $end_month = $this->end_date->diffInMonths($this->start_date); + $start_month = 0; + } + + for ($j = $end_month; $j >= $start_month; $j--) { + $labels[$end_month - $j] = $s->format('M Y'); + + if ($this->period == 'month') { + $s->addMonth(); + } else { + $s->addMonths(3); + $j -= 2; + } + } + + return $labels; + } + + public function getIncome(): array + { + // Invoices + $query = Document::invoice()->with('recurring', 'totals', 'transactions')->accrued(); + $invoices = $this->applyFilters($query, ['date_field' => 'issued_at'])->get(); + Recurring::reflect($invoices, 'issued_at'); + $totals = $this->calculateTotals($invoices, 'issued_at'); + + // Transactions + $query = Transaction::with('recurring')->income()->isNotDocument()->isNotTransfer(); + $transactions = $this->applyFilters($query, ['date_field' => 'paid_at'])->get(); + Recurring::reflect($transactions, 'paid_at'); + $totals = $this->calculateTotals($transactions, 'paid_at', $totals); + + return $totals; + } + + public function getExpense(): array + { + // Bills + $query = Document::bill()->with('recurring', 'totals', 'transactions')->accrued(); + $bills = $this->applyFilters($query, ['date_field' => 'issued_at'])->get(); + Recurring::reflect($bills, 'issued_at'); + $totals = $this->calculateTotals($bills, 'issued_at'); + + // Transactions + $query = Transaction::with('recurring')->expense()->isNotDocument()->isNotTransfer(); + $transactions = $this->applyFilters($query, ['date_field' => 'paid_at'])->get(); + Recurring::reflect($transactions, 'paid_at'); + $totals = $this->calculateTotals($transactions, 'paid_at', $totals); + + return $totals; + } + + public function getColors(): array + { + return [ + '#8bb475', + '#fb7185', + ]; + } + + public function calculateTotals($items, $date_field, $totals = []): array + { + $date_format = 'Y-m'; + + if ($this->period == 'month') { + $n = 1; + $start_date = $this->start_date->format($date_format); + $end_date = $this->end_date->format($date_format); + $next_date = $start_date; + } else { + $n = 3; + $start_date = $this->start_date->quarter; + $end_date = $this->end_date->quarter; + $next_date = $start_date; + } + + $s = clone $this->start_date; + + //$totals[$start_date] = 0; + while ($next_date <= $end_date) { + if (! isset($totals[$next_date])) { + $totals[$next_date] = 0; + } + + if ($this->period == 'month') { + $next_date = $s->addMonths($n)->format($date_format); + } else { + if (isset($totals[4])) { + break; + } + + $next_date = $s->addMonths($n)->quarter; + } + } + + $this->setTotals($totals, $items, $date_field, $date_format); + + return $totals; + } + + public function setTotals(&$totals, $items, $date_field, $date_format): void + { + foreach ($items as $item) { + if ($this->period == 'month') { + $i = Date::parse($item->$date_field)->format($date_format); + } else { + $i = Date::parse($item->$date_field)->quarter; + } + + if (! isset($totals[$i])) { + continue; + } + + $totals[$i] += $item->getAmountConvertedToDefault(); + } + + $precision = config('money.' . setting('default.currency') . '.precision'); + + foreach ($totals as $key => $value) { + $totals[$key] = round($value, $precision); + } + } +} diff --git a/app/Widgets/Receivables.php b/app/Widgets/Receivables.php new file mode 100644 index 000000000..6e0cd80ab --- /dev/null +++ b/app/Widgets/Receivables.php @@ -0,0 +1,79 @@ + 0, + 'overdue_30_60' => 0, + 'overdue_60_90' => 0, + 'overdue_90_un' => 0, + ]; + + $query = Document::invoice()->with('transactions')->accrued()->notPaid(); + + $this->applyFilters($query, ['date_field' => 'issued_at'])->each(function ($invoice) use (&$open, &$overdue, &$periods) { + list($open_tmp, $overdue_tmp) = $this->calculateDocumentTotals($invoice); + + $open += $open_tmp; + $overdue += $overdue_tmp; + + foreach ($periods as $period_name => $period_amount) { + $arr = explode('_', $period_name); + + if ($arr[2] == 'un') { + $arr[2] = '9999'; + } + + $start = Date::today()->subDays($arr[2])->toDateString() . ' 00:00:00'; + $end = Date::today()->subDays($arr[1])->toDateString() . ' 23:59:59'; + + if (! Date::parse($invoice->due_at)->isBetween($start, $end)) { + continue; + } + + $periods[$period_name] += $overdue_tmp; + } + }); + + foreach ($periods as $period_name => $period_amount) { + $periods[$period_name] = money($period_amount, setting('default.currency'), true); + } + + $has_progress = !empty($open) || !empty($overdue); + $progress = !empty($open) ? (int) ($open * 100) / ($open + $overdue) : 0; + + $grand = $open + $overdue; + + $totals = [ + 'grand' => money($grand, setting('default.currency'), true), + 'open' => money($open, setting('default.currency'), true), + 'overdue' => money($overdue, setting('default.currency'), true), + ]; + + $grand_total_text = trans('widgets.total_unpaid_invoices'); + + return $this->view('widgets.receivables_payables', [ + 'totals' => $totals, + 'has_progress' => $has_progress, + 'progress' => $progress, + 'periods' => $periods, + 'grand_total_text' => $grand_total_text, + ]); + } +} diff --git a/app/Widgets/TotalExpenses.php b/app/Widgets/TotalExpenses.php deleted file mode 100644 index 0c90ab6e6..000000000 --- a/app/Widgets/TotalExpenses.php +++ /dev/null @@ -1,56 +0,0 @@ - 'partials.widgets.stats_header', - ]; - - public function show() - { - $current = $open = $overdue = 0; - - $this->applyFilters(Transaction::expense()->isNotTransfer())->each(function ($transaction) use (&$current) { - $current += $transaction->getAmountConvertedToDefault(); - }); - - $this->applyFilters( - Document::bill()->with('transactions')->accrued()->notPaid(), - ['date_field' => 'created_at'] - )->each( - function ($bill) use (&$open, &$overdue) { - list($open_tmp, $overdue_tmp) = $this->calculateDocumentTotals($bill); - - $open += $open_tmp; - $overdue += $overdue_tmp; - } - ); - - $grand = $current + $open + $overdue; - - $progress = 100; - - if (!empty($open) && !empty($overdue)) { - $progress = (int) ($open * 100) / ($open + $overdue); - } - - $totals = [ - 'grand' => money($grand, setting('default.currency'), true), - 'open' => money($open, setting('default.currency'), true), - 'overdue' => money($overdue, setting('default.currency'), true), - 'progress' => $progress, - ]; - - return $this->view('widgets.total_expenses', [ - 'totals' => $totals, - ]); - } -} diff --git a/app/Widgets/TotalIncome.php b/app/Widgets/TotalIncome.php deleted file mode 100644 index 0d41eb06d..000000000 --- a/app/Widgets/TotalIncome.php +++ /dev/null @@ -1,56 +0,0 @@ - 'partials.widgets.stats_header', - ]; - - public function show() - { - $current = $open = $overdue = 0; - - $this->applyFilters(Transaction::income()->isNotTransfer())->each(function ($transaction) use (&$current) { - $current += $transaction->getAmountConvertedToDefault(); - }); - - $this->applyFilters( - Document::invoice()->with('transactions')->accrued()->notPaid(), - ['date_field' => 'created_at'] - )->each( - function ($invoice) use (&$open, &$overdue) { - list($open_tmp, $overdue_tmp) = $this->calculateDocumentTotals($invoice); - - $open += $open_tmp; - $overdue += $overdue_tmp; - } - ); - - $grand = $current + $open + $overdue; - - $progress = 100; - - if (!empty($open) && !empty($overdue)) { - $progress = (int) ($open * 100) / ($open + $overdue); - } - - $totals = [ - 'grand' => money($grand, setting('default.currency'), true), - 'open' => money($open, setting('default.currency'), true), - 'overdue' => money($overdue, setting('default.currency'), true), - 'progress' => $progress, - ]; - - return $this->view('widgets.total_income', [ - 'totals' => $totals, - ]); - } -} diff --git a/app/Widgets/TotalProfit.php b/app/Widgets/TotalProfit.php deleted file mode 100644 index 5aa30ca94..000000000 --- a/app/Widgets/TotalProfit.php +++ /dev/null @@ -1,79 +0,0 @@ - 'partials.widgets.stats_header', - ]; - - public function show() - { - $current_income = $open_invoice = $overdue_invoice = 0; - $current_expenses = $open_bill = $overdue_bill = 0; - - $this->applyFilters(Transaction::isNotTransfer())->each(function ($transaction) use (&$current_income, &$current_expenses) { - $amount = $transaction->getAmountConvertedToDefault(); - - if ($transaction->type == 'income') { - $current_income += $amount; - } else { - $current_expenses += $amount; - } - }); - - $this->applyFilters( - Document::invoice()->with('transactions')->accrued()->notPaid(), - ['date_field' => 'created_at'] - )->each( - function ($invoice) use (&$open_invoice, &$overdue_invoice) { - list($open_tmp, $overdue_tmp) = $this->calculateDocumentTotals($invoice); - - $open_invoice += $open_tmp; - $overdue_invoice += $overdue_tmp; - } - ); - - $this->applyFilters( - Document::bill()->with('transactions')->accrued()->notPaid(), - ['date_field' => 'created_at'] - )->each( - function ($bill) use (&$open_bill, &$overdue_bill) { - list($open_tmp, $overdue_tmp) = $this->calculateDocumentTotals($bill); - - $open_bill += $open_tmp; - $overdue_bill += $overdue_tmp; - } - ); - - $current = $current_income - $current_expenses; - $open = $open_invoice - $open_bill; - $overdue = $overdue_invoice - $overdue_bill; - - $grand = $current + $open + $overdue; - - $progress = 100; - - if (!empty($open) && !empty($overdue)) { - $progress = (int) ($open * 100) / ($open + $overdue); - } - - $totals = [ - 'grand' => money($grand, setting('default.currency'), true), - 'open' => money($open, setting('default.currency'), true), - 'overdue' => money($overdue, setting('default.currency'), true), - 'progress' => $progress, - ]; - - return $this->view('widgets.total_profit', [ - 'totals' => $totals, - ]); - } -} diff --git a/composer.json b/composer.json index a0695231d..840fcc148 100644 --- a/composer.json +++ b/composer.json @@ -1,74 +1,84 @@ { "name": "akaunting/akaunting", - "description": "Free accounting software, based on Laravel framework.", + "description": "Free accounting software built with Laravel", "homepage": "https://akaunting.com", "keywords": [ "laravel", "accounting", "invoice", + "expenses", "software", "online" ], "license": "GPL-3.0+", "type": "project", "require": { - "php": "^7.3.0", + "php": "^8.0.2", "ext-bcmath": "*", + "ext-ctype": "*", + "ext-curl": "*", + "ext-dom": "*", + "ext-fileinfo": "*", + "ext-gd": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "ext-zip": "*", + "akaunting/laravel-apexcharts": "^1.0", "akaunting/laravel-firewall": "^1.2", "akaunting/laravel-language": "^1.0", - "akaunting/laravel-menu": "^1.0", + "akaunting/laravel-menu": "^2.0", "akaunting/laravel-module": "^2.0", - "akaunting/laravel-money": "^1.2", + "akaunting/laravel-money": "^3.0", + "akaunting/laravel-mutable-observer": "^1.0", "akaunting/laravel-setting": "^1.2", + "akaunting/laravel-sortable": "^1.0", "akaunting/laravel-version": "^1.0", - "akaunting/laravel-debugbar-collector": "^1.0", - "akaunting/module-bc21": "^2.0", - "akaunting/module-offline-payments": "^2.0", - "akaunting/module-paypal-standard": "^2.0", + "akaunting/laravel-debugbar-collector": "^2.0", + "akaunting/module-offline-payments": "dev-dev-30", + "akaunting/module-paypal-standard": "dev-dev-30", "barryvdh/laravel-debugbar": "^3.6", - "barryvdh/laravel-dompdf": "0.*", + "barryvdh/laravel-dompdf": "^1.0", "barryvdh/laravel-ide-helper": "^2.9", - "bkwld/cloner": "3.9.*", - "consoletvs/charts": "6.5.*", - "dingo/api": "3.0.*", + "bkwld/cloner": "^3.10", "doctrine/dbal": "^3.1", - "fideloper/proxy": "^4.4", "fruitcake/laravel-cors": "^2.0", - "genealabs/laravel-model-caching": "0.11.*", - "graham-campbell/markdown": "13.1.*", - "guzzlehttp/guzzle": "^7.0.1", - "intervention/image": "2.5.*", + "genealabs/laravel-model-caching": "0.12.*", + "graham-campbell/markdown": "14.0.x-dev", + "guzzlehttp/guzzle": "^7.4", + "intervention/image": "^2.5", "intervention/imagecache": "^2.5", - "kyslik/column-sortable": "^6.0", "laracasts/flash": "3.2.*", - "laravel/framework": "^8.12", + "laravel/framework": "^9.0", + "laravel/sanctum": "^2.14", "laravel/slack-notification-channel": "^2.3", "laravel/tinker": "^2.5", "laravel/ui": "^3.0", - "laravelcollective/html": "6.2.*", - "league/flysystem-aws-s3-v3": "1.0.*", - "league/oauth2-client": "2.6.*", - "league/omnipay": "3.1.*", - "livewire/livewire": "2.3.*", - "lorisleiva/laravel-search-string": "1.1.*", + "league/flysystem-aws-s3-v3": "^3.0", + "league/oauth2-client": "^2.6", + "league/omnipay": "^3.2", + "livewire/livewire": "^2.10", + "lorisleiva/laravel-search-string": "^1.2", "maatwebsite/excel": "3.1.*", "mnsami/composer-custom-directory-installer": "2.0.*", - "monooso/unobserve": "^3.0", - "plank/laravel-mediable": "^5.1", + "plank/laravel-mediable": "^5.4", "riverskies/laravel-mobile-detect": "^1.3", - "santigarcor/laratrust": "6.3.*", - "simshaun/recurr": "4.0.*", - "staudenmeir/belongs-to-through": "^2.11", - "staudenmeir/eloquent-has-many-deep": "^1.13" + "santigarcor/laratrust": "^7.0", + "simple-icons/simple-icons": "^6.0", + "simshaun/recurr": "^5.0", + "staudenmeir/belongs-to-through": "^2.12", + "staudenmeir/eloquent-has-many-deep": "^1.15" }, "require-dev": { "beyondcode/laravel-dump-server": "^1.5", "brianium/paratest": "^6.1", - "facade/ignition": "^2.5", "fakerphp/faker": "^1.9.1", "mockery/mockery": "^1.4.2", - "nunomaduro/collision": "^5.0", + "nunomaduro/collision": "^6.1", "phpunit/phpunit": "^9.3", + "spatie/laravel-ignition": "^1.0", "wnx/laravel-stats": "^2.5" }, "extra": { @@ -76,14 +86,13 @@ "dont-discover": [] }, "installer-paths": { - "modules/BC21": ["akaunting/module-bc21"], "modules/OfflinePayments": ["akaunting/module-offline-payments"], "modules/PaypalStandard": ["akaunting/module-paypal-standard"] } }, "autoload": { "psr-4": { - "App\\": ["app/", "modules/BC21"], + "App\\": ["app/"], "Akaunting\\Module\\Commands\\": "overrides/akaunting/laravel-module/Commands/", "Database\\Factories\\": "database/factories/", "Database\\Seeds\\": "database/seeds/", @@ -148,6 +157,9 @@ "config": { "optimize-autoloader": true, "preferred-install": "dist", - "sort-packages": true + "sort-packages": true, + "allow-plugins": { + "mnsami/composer-custom-directory-installer": true + } } } diff --git a/composer.lock b/composer.lock index 155fa686d..7ad3fa7e1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,28 +4,96 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e7245cf9eae9f9527aec758b656c792c", + "content-hash": "9253ba36f3f4233b53e3d31d859ad8b9", "packages": [ { - "name": "akaunting/laravel-debugbar-collector", - "version": "1.0.2", + "name": "akaunting/laravel-apexcharts", + "version": "1.0.4", "source": { "type": "git", - "url": "https://github.com/akaunting/laravel-debugbar-collector.git", - "reference": "b576005dd586274af0c6e7a95208a939f2f0da3f" + "url": "https://github.com/akaunting/laravel-apexcharts.git", + "reference": "84ae3484f1df9f3486b5e0bd65241b5822947ca3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/laravel-debugbar-collector/zipball/b576005dd586274af0c6e7a95208a939f2f0da3f", - "reference": "b576005dd586274af0c6e7a95208a939f2f0da3f", + "url": "https://api.github.com/repos/akaunting/laravel-apexcharts/zipball/84ae3484f1df9f3486b5e0bd65241b5822947ca3", + "reference": "84ae3484f1df9f3486b5e0bd65241b5822947ca3", + "shasum": "" + }, + "require": { + "balping/json-raw-encoder": "^1.0", + "ext-json": "*", + "illuminate/support": ">=8.0", + "php": ">=7.3" + }, + "require-dev": { + "orchestra/testbench": ">=6.0", + "phpunit/phpunit": ">=9.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Akaunting\\Apexcharts\\Provider" + ], + "aliases": { + "Apexcharts": "Akaunting\\Apexcharts\\Facade" + } + } + }, + "autoload": { + "psr-4": { + "Akaunting\\Apexcharts\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cüneyt Şentürk", + "email": "info@akaunting.com", + "homepage": "https://akaunting.com", + "role": "Developer" + } + ], + "description": "ApexCharts package for Laravel", + "keywords": [ + "apexcharts", + "bar", + "charts", + "donut", + "laravel", + "line", + "pie" + ], + "support": { + "issues": "https://github.com/akaunting/laravel-apexcharts/issues", + "source": "https://github.com/akaunting/laravel-apexcharts/tree/1.0.4" + }, + "time": "2022-02-23T12:26:06+00:00" + }, + { + "name": "akaunting/laravel-debugbar-collector", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/akaunting/laravel-debugbar-collector.git", + "reference": "a89b2893c1dd50b0d78cd6163282ac8731a5cc2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/akaunting/laravel-debugbar-collector/zipball/a89b2893c1dd50b0d78cd6163282ac8731a5cc2f", + "reference": "a89b2893c1dd50b0d78cd6163282ac8731a5cc2f", "shasum": "" }, "require": { "barryvdh/laravel-debugbar": "^3.6", - "php": ">=7.3" + "php": ">=8.0" }, "require-dev": { - "orchestra/testbench": "^6.0", + "orchestra/testbench": "^7.0", "phpunit/phpunit": "^9.0" }, "type": "library", @@ -67,9 +135,9 @@ ], "support": { "issues": "https://github.com/akaunting/laravel-debugbar-collector/issues", - "source": "https://github.com/akaunting/laravel-debugbar-collector/tree/1.0.2" + "source": "https://github.com/akaunting/laravel-debugbar-collector/tree/2.0.0" }, - "time": "2022-01-11T10:26:31+00:00" + "time": "2022-05-31T10:53:22+00:00" }, { "name": "akaunting/laravel-firewall", @@ -202,16 +270,16 @@ }, { "name": "akaunting/laravel-menu", - "version": "1.0.16", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/akaunting/laravel-menu.git", - "reference": "ac137b05433e549f1b5118299f9cacc6d9e0045c" + "reference": "4b5faf3929e2198725619ef7d313d2c582ea348f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/laravel-menu/zipball/ac137b05433e549f1b5118299f9cacc6d9e0045c", - "reference": "ac137b05433e549f1b5118299f9cacc6d9e0045c", + "url": "https://api.github.com/repos/akaunting/laravel-menu/zipball/4b5faf3929e2198725619ef7d313d2c582ea348f", + "reference": "4b5faf3929e2198725619ef7d313d2c582ea348f", "shasum": "" }, "require": { @@ -219,13 +287,13 @@ "illuminate/support": ">=5.5", "illuminate/view": ">=5.5", "laravelcollective/html": ">=5.5", - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.10", - "mockery/mockery": ">=1.0", - "orchestra/testbench": ">=3.8", - "phpunit/phpunit": ">=7.0" + "friendsofphp/php-cs-fixer": ">=3.4", + "mockery/mockery": ">=1.4", + "orchestra/testbench": ">=6.0", + "phpunit/phpunit": ">=9.0" }, "type": "library", "extra": { @@ -268,9 +336,9 @@ ], "support": { "issues": "https://github.com/akaunting/laravel-menu/issues", - "source": "https://github.com/akaunting/laravel-menu/tree/1.0.16" + "source": "https://github.com/akaunting/laravel-menu/tree/2.0.3" }, - "time": "2021-11-17T07:01:43+00:00" + "time": "2022-02-04T14:26:16+00:00" }, { "name": "akaunting/laravel-module", @@ -344,26 +412,29 @@ }, { "name": "akaunting/laravel-money", - "version": "1.2.3", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/akaunting/laravel-money.git", - "reference": "e97cbb9735540fac995e5e0b17395ef4ba33ac38" + "reference": "22336631239eb008e26d322faa208cbc50757a38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/laravel-money/zipball/e97cbb9735540fac995e5e0b17395ef4ba33ac38", - "reference": "e97cbb9735540fac995e5e0b17395ef4ba33ac38", + "url": "https://api.github.com/repos/akaunting/laravel-money/zipball/22336631239eb008e26d322faa208cbc50757a38", + "reference": "22336631239eb008e26d322faa208cbc50757a38", "shasum": "" }, "require": { - "illuminate/support": ">=5.4", - "illuminate/view": ">=5.4", - "php": ">=5.6.4" + "illuminate/contracts": "^8.67|^9.0", + "illuminate/support": "^8.67|^9.0", + "illuminate/view": "^8.67|^9.0", + "php": "^8.0", + "vlucas/phpdotenv": "^5.4.1" }, "require-dev": { - "mockery/mockery": ">=1.0", - "phpunit/phpunit": ">=5.7" + "orchestra/testbench": "^6.23|^7.4", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.23" }, "type": "library", "extra": { @@ -378,7 +449,7 @@ "src/helpers.php" ], "psr-4": { - "Akaunting\\Money\\": "./src" + "Akaunting\\Money\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -403,9 +474,70 @@ ], "support": { "issues": "https://github.com/akaunting/laravel-money/issues", - "source": "https://github.com/akaunting/laravel-money/tree/1.2.3" + "source": "https://github.com/akaunting/laravel-money/tree/3.0.1" }, - "time": "2021-09-28T06:19:54+00:00" + "time": "2022-05-11T06:34:38+00:00" + }, + { + "name": "akaunting/laravel-mutable-observer", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/akaunting/laravel-mutable-observer.git", + "reference": "09664ab6037b5c668f7437d0dcbd50ae40078e3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/akaunting/laravel-mutable-observer/zipball/09664ab6037b5c668f7437d0dcbd50ae40078e3e", + "reference": "09664ab6037b5c668f7437d0dcbd50ae40078e3e", + "shasum": "" + }, + "require": { + "laravel/framework": ">=8.0", + "php": ">=8.0" + }, + "require-dev": { + "orchestra/testbench": ">=7.0", + "phpunit/phpunit": ">=9.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Akaunting\\MutableObserver\\Provider" + ] + } + }, + "autoload": { + "psr-4": { + "Akaunting\\MutableObserver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Denis Duliçi", + "email": "info@akaunting.com", + "homepage": "https://akaunting.com", + "role": "Developer" + } + ], + "description": "Mutable observer package for Laravel", + "keywords": [ + "laravel", + "mutable", + "mute", + "observer", + "unmute" + ], + "support": { + "issues": "https://github.com/akaunting/laravel-mutable-observer/issues", + "source": "https://github.com/akaunting/laravel-mutable-observer/tree/1.0.0" + }, + "time": "2022-02-23T08:45:00+00:00" }, { "name": "akaunting/laravel-setting", @@ -474,6 +606,70 @@ }, "time": "2021-04-23T22:38:26+00:00" }, + { + "name": "akaunting/laravel-sortable", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/akaunting/laravel-sortable.git", + "reference": "8cfb79d6b6426cd7f1c01a64025f615e17a88fda" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/akaunting/laravel-sortable/zipball/8cfb79d6b6426cd7f1c01a64025f615e17a88fda", + "reference": "8cfb79d6b6426cd7f1c01a64025f615e17a88fda", + "shasum": "" + }, + "require": { + "laravel/framework": ">=6.0", + "php": ">=7.3" + }, + "require-dev": { + "orchestra/testbench": ">=6.0", + "phpunit/phpunit": ">=9.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Akaunting\\Sortable\\Provider" + ] + } + }, + "autoload": { + "psr-4": { + "Akaunting\\Sortable\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Denis Duliçi", + "email": "info@akaunting.com", + "homepage": "https://akaunting.com", + "role": "Developer" + } + ], + "description": "Sortable behavior package for Laravel", + "keywords": [ + "blade", + "column", + "laravel", + "model", + "sort", + "sortable", + "sorting", + "view" + ], + "support": { + "issues": "https://github.com/akaunting/laravel-sortable/issues", + "source": "https://github.com/akaunting/laravel-sortable/tree/1.0.3" + }, + "time": "2022-01-31T13:15:55+00:00" + }, { "name": "akaunting/laravel-version", "version": "1.0.4", @@ -534,52 +730,18 @@ }, "time": "2021-03-05T11:00:11+00:00" }, - { - "name": "akaunting/module-bc21", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/akaunting/module-bc21.git", - "reference": "4158c23c70aea22e6fb774a7a0d1d9e3d856fe8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/akaunting/module-bc21/zipball/4158c23c70aea22e6fb774a7a0d1d9e3d856fe8d", - "reference": "4158c23c70aea22e6fb774a7a0d1d9e3d856fe8d", - "shasum": "" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-3.0+" - ], - "description": "BC21 app for Akaunting", - "homepage": "https://akaunting.com", - "keywords": [ - "Accounting", - "akaunting", - "bc21", - "invoice", - "laravel" - ], - "support": { - "issues": "https://github.com/akaunting/module-bc21/issues", - "source": "https://github.com/akaunting/module-bc21/tree/2.0.0" - }, - "time": "2021-03-04T09:21:35+00:00" - }, { "name": "akaunting/module-offline-payments", - "version": "2.0.4", + "version": "dev-dev-30", "source": { "type": "git", "url": "https://github.com/akaunting/module-offline-payments.git", - "reference": "c649c76b8f94308581d9419510343505014d3f72" + "reference": "d1d5c530b1bb482c666e25e4c24901b2ba67e339" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/module-offline-payments/zipball/c649c76b8f94308581d9419510343505014d3f72", - "reference": "c649c76b8f94308581d9419510343505014d3f72", + "url": "https://api.github.com/repos/akaunting/module-offline-payments/zipball/d1d5c530b1bb482c666e25e4c24901b2ba67e339", + "reference": "d1d5c530b1bb482c666e25e4c24901b2ba67e339", "shasum": "" }, "type": "library", @@ -598,22 +760,22 @@ ], "support": { "issues": "https://github.com/akaunting/module-offline-payments/issues", - "source": "https://github.com/akaunting/module-offline-payments/tree/2.0.4" + "source": "https://github.com/akaunting/module-offline-payments/tree/dev-30" }, - "time": "2021-12-05T13:13:09+00:00" + "time": "2022-05-27T14:13:26+00:00" }, { "name": "akaunting/module-paypal-standard", - "version": "2.0.1", + "version": "dev-dev-30", "source": { "type": "git", "url": "https://github.com/akaunting/module-paypal-standard.git", - "reference": "49671f6f3c2c6319c7b319716292d31c2ad7db51" + "reference": "01633369969db70acdf2c46d7583ca7ec94812a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/module-paypal-standard/zipball/49671f6f3c2c6319c7b319716292d31c2ad7db51", - "reference": "49671f6f3c2c6319c7b319716292d31c2ad7db51", + "url": "https://api.github.com/repos/akaunting/module-paypal-standard/zipball/01633369969db70acdf2c46d7583ca7ec94812a4", + "reference": "01633369969db70acdf2c46d7583ca7ec94812a4", "shasum": "" }, "type": "library", @@ -632,9 +794,9 @@ ], "support": { "issues": "https://github.com/akaunting/module-paypal-standard/issues", - "source": "https://github.com/akaunting/module-paypal-standard/tree/2.0.1" + "source": "https://github.com/akaunting/module-paypal-standard/tree/dev-30" }, - "time": "2021-04-16T22:28:17+00:00" + "time": "2022-05-27T14:14:44+00:00" }, { "name": "asm89/stack-cors", @@ -744,16 +906,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.220.4", + "version": "3.224.0", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "6c2e36bb61741c87ed7ffd53e15d903311ad6b60" + "reference": "bc5eb18414ef703c5f39a5a009a437c74c228306" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/6c2e36bb61741c87ed7ffd53e15d903311ad6b60", - "reference": "6c2e36bb61741c87ed7ffd53e15d903311ad6b60", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/bc5eb18414ef703c5f39a5a009a437c74c228306", + "reference": "bc5eb18414ef703c5f39a5a009a437c74c228306", "shasum": "" }, "require": { @@ -829,9 +991,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.220.4" + "source": "https://github.com/aws/aws-sdk-php/tree/3.224.0" }, - "time": "2022-04-25T18:16:08+00:00" + "time": "2022-05-27T20:23:28+00:00" }, { "name": "balping/json-raw-encoder", @@ -966,34 +1128,40 @@ }, { "name": "barryvdh/laravel-dompdf", - "version": "v0.9.0", + "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-dompdf.git", - "reference": "5b99e1f94157d74e450f4c97e8444fcaffa2144b" + "reference": "de83130d029289e1b59f28b41c314ce1d157b4a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/5b99e1f94157d74e450f4c97e8444fcaffa2144b", - "reference": "5b99e1f94157d74e450f4c97e8444fcaffa2144b", + "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/de83130d029289e1b59f28b41c314ce1d157b4a0", + "reference": "de83130d029289e1b59f28b41c314ce1d157b4a0", "shasum": "" }, "require": { - "dompdf/dompdf": "^1", - "illuminate/support": "^5.5|^6|^7|^8", - "php": "^7.1 || ^8.0" + "dompdf/dompdf": "^1.2.1", + "illuminate/support": "^6|^7|^8|^9", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "nunomaduro/larastan": "^1|^2", + "orchestra/testbench": "^4|^5|^6|^7", + "phpro/grumphp": "^1", + "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.9-dev" + "dev-master": "1.0-dev" }, "laravel": { "providers": [ "Barryvdh\\DomPDF\\ServiceProvider" ], "aliases": { - "PDF": "Barryvdh\\DomPDF\\Facade" + "PDF": "Barryvdh\\DomPDF\\Facade\\Pdf" } } }, @@ -1020,15 +1188,19 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-dompdf/issues", - "source": "https://github.com/barryvdh/laravel-dompdf/tree/v0.9.0" + "source": "https://github.com/barryvdh/laravel-dompdf/tree/v1.0.2" }, "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, { "url": "https://github.com/barryvdh", "type": "github" } ], - "time": "2020-12-27T12:05:53+00:00" + "time": "2022-05-19T15:08:38+00:00" }, { "name": "barryvdh/laravel-ide-helper", @@ -1178,20 +1350,20 @@ }, { "name": "bkwld/cloner", - "version": "3.9.2", + "version": "3.10.0", "source": { "type": "git", "url": "https://github.com/BKWLD/cloner.git", - "reference": "825ad2cb237660bdef4d4aad3c539efb9a7db0a8" + "reference": "fda6f0564be1dda3992e0a1856d0f2128e58abbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/BKWLD/cloner/zipball/825ad2cb237660bdef4d4aad3c539efb9a7db0a8", - "reference": "825ad2cb237660bdef4d4aad3c539efb9a7db0a8", + "url": "https://api.github.com/repos/BKWLD/cloner/zipball/fda6f0564be1dda3992e0a1856d0f2128e58abbf", + "reference": "fda6f0564be1dda3992e0a1856d0f2128e58abbf", "shasum": "" }, "require": { - "illuminate/support": "^5.5|^6.0|^7.0|^8.0", + "illuminate/support": "^5.5|^6.0|^7.0|^8.0|^9.0", "php": ">=7.0" }, "require-dev": { @@ -1231,9 +1403,9 @@ "description": "A trait for Laravel Eloquent models that lets you clone of a model and it's relationships, including files.", "support": { "issues": "https://github.com/BKWLD/cloner/issues", - "source": "https://github.com/BKWLD/cloner/tree/3.9.2" + "source": "https://github.com/BKWLD/cloner/tree/3.10.0" }, - "time": "2020-12-23T18:24:13+00:00" + "time": "2022-02-14T17:28:35+00:00" }, { "name": "brick/math", @@ -1363,20 +1535,20 @@ }, { "name": "composer/pcre", - "version": "2.0.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "c8e9d27cfc5ed22643c19c160455b473ffd8aabe" + "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/c8e9d27cfc5ed22643c19c160455b473ffd8aabe", - "reference": "c8e9d27cfc5ed22643c19c160455b473ffd8aabe", + "url": "https://api.github.com/repos/composer/pcre/zipball/e300eb6c535192decd27a85bc72a9290f0d6b3bd", + "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^1.3", @@ -1386,7 +1558,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { @@ -1414,7 +1586,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/2.0.0" + "source": "https://github.com/composer/pcre/tree/3.0.0" }, "funding": [ { @@ -1430,39 +1602,41 @@ "type": "tidelift" } ], - "time": "2022-02-25T20:05:29+00:00" + "time": "2022-02-25T20:21:48+00:00" }, { - "name": "consoletvs/charts", - "version": "6.5.6", + "name": "dflydev/dot-access-data", + "version": "v3.0.1", "source": { "type": "git", - "url": "https://github.com/Chartisan/Charts.git", - "reference": "fc73038a006ddc2d6b277b9567ee01c6272448b3" + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "0992cc19268b259a39e86f296da5f0677841f42c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Chartisan/Charts/zipball/fc73038a006ddc2d6b277b9567ee01c6272448b3", - "reference": "fc73038a006ddc2d6b277b9567ee01c6272448b3", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c", + "reference": "0992cc19268b259a39e86f296da5f0677841f42c", "shasum": "" }, "require": { - "balping/json-raw-encoder": "^1.0", - "illuminate/console": "^5.0|^6.0|^7.0|^8.0|^9.0", - "illuminate/support": "^5.0|^6.0|^7.0|^8.0|^9.0", - "php": ">=7.0" + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^3.14" }, "type": "library", "extra": { - "laravel": { - "providers": [ - "ConsoleTVs\\Charts\\ChartsServiceProvider" - ] + "branch-alias": { + "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { - "ConsoleTVs\\Charts\\": "src/" + "Dflydev\\DotAccessData\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1471,257 +1645,52 @@ ], "authors": [ { - "name": "Èrik Campobadal Forés", - "email": "soc@erik.cat" - } - ], - "description": "The laravel charting package", - "support": { - "issues": "https://github.com/Chartisan/Charts/issues", - "source": "https://github.com/Chartisan/Charts/tree/6.5.6" - }, - "funding": [ - { - "url": "https://github.com/ConsoleTVs", - "type": "github" + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" }, { - "url": "https://www.patreon.com/ErikCampobadal", - "type": "patreon" - } - ], - "time": "2022-01-20T05:36:01+00:00" - }, - { - "name": "dingo/api", - "version": "v3.0.8", - "source": { - "type": "git", - "url": "https://github.com/dingo/api.git", - "reference": "42b6afa6e20a27f938a45e676665e57d26422cea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dingo/api/zipball/42b6afa6e20a27f938a45e676665e57d26422cea", - "reference": "42b6afa6e20a27f938a45e676665e57d26422cea", - "shasum": "" - }, - "require": { - "dingo/blueprint": "^0.4", - "illuminate/routing": "^7.0|^8.0", - "illuminate/support": "^7.0|^8.0", - "league/fractal": "^0.19", - "php": "^7.2.5|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2", - "illuminate/auth": "^7.0|^8.0", - "illuminate/cache": "^7.0|^8.0", - "illuminate/console": "^7.0|^8.0", - "illuminate/database": "^7.0|^8.0", - "illuminate/events": "^7.0|^8.0", - "illuminate/filesystem": "^7.0|^8.0", - "illuminate/log": "^7.0|^8.0", - "illuminate/pagination": "^7.0|^8.0", - "laravel/lumen-framework": "^7.0|^8.0", - "mockery/mockery": "~1.0", - "phpunit/phpunit": "^8.5|^9.0", - "squizlabs/php_codesniffer": "~2.0", - "tymon/jwt-auth": "1.0.*" - }, - "suggest": { - "tymon/jwt-auth": "Protect your API with JSON Web Tokens." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" }, - "laravel": { - "providers": [ - "Dingo\\Api\\Provider\\LaravelServiceProvider" - ], - "aliases": { - "API": "Dingo\\Api\\Facade\\API" - } - } - }, - "autoload": { - "psr-4": { - "Dingo\\Api\\": "src/" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ { - "name": "Jason Lewis", - "email": "jason.lewis1991@gmail.com" + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" } ], - "description": "A RESTful API package for the Laravel and Lumen frameworks.", + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", "keywords": [ - "api", - "dingo", - "laravel", - "restful" + "access", + "data", + "dot", + "notation" ], "support": { - "issues": "https://github.com/dingo/api/issues", - "source": "https://github.com/dingo/api/tree/v3.0.8" + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1" }, - "abandoned": "api-ecosystem-for-laravel/dingo-api", - "time": "2022-01-27T15:11:20+00:00" - }, - { - "name": "dingo/blueprint", - "version": "v0.4.3", - "source": { - "type": "git", - "url": "https://github.com/dingo/blueprint.git", - "reference": "e3a8f19ae10716670079c3c162540756dbd20a88" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dingo/blueprint/zipball/e3a8f19ae10716670079c3c162540756dbd20a88", - "reference": "e3a8f19ae10716670079c3c162540756dbd20a88", - "shasum": "" - }, - "require": { - "doctrine/annotations": "~1.2", - "illuminate/filesystem": "^7.0|^8.0", - "illuminate/support": "^7.0|^8.0", - "php": "^7.2.5|^8.0", - "phpdocumentor/reflection-docblock": "^3.1 || ^4.1 || ^5" - }, - "require-dev": { - "phpunit/phpunit": "^6.5|^8.3|^9.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.2-dev" - } - }, - "autoload": { - "psr-4": { - "Dingo\\Blueprint\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jason Lewis", - "email": "jason.lewis1991@gmail.com" - } - ], - "description": "API Blueprint documentation generator.", - "keywords": [ - "api", - "blueprint", - "dingo", - "docs", - "laravel" - ], - "support": { - "issues": "https://github.com/dingo/blueprint/issues", - "source": "https://github.com/dingo/blueprint/tree/v0.4.3" - }, - "time": "2021-04-30T11:20:38+00:00" - }, - { - "name": "doctrine/annotations", - "version": "1.13.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "5b668aef16090008790395c02c893b1ba13f7e08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08", - "reference": "5b668aef16090008790395c02c893b1ba13f7e08", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "ext-tokenizer": "*", - "php": "^7.1 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^6.0 || ^8.1", - "phpstan/phpstan": "^0.12.20", - "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5", - "symfony/cache": "^4.4 || ^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.13.2" - }, - "time": "2021-08-05T19:00:23+00:00" + "time": "2021-08-13T13:06:58+00:00" }, { "name": "doctrine/cache", - "version": "2.1.1", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce" + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/331b4d5dbaeab3827976273e9356b3b453c300ce", - "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce", + "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", "shasum": "" }, "require": { @@ -1731,18 +1700,12 @@ "doctrine/common": ">2.2,<2.4" }, "require-dev": { - "alcaeus/mongo-php-adapter": "^1.1", "cache/integration-tests": "dev-master", - "doctrine/coding-standard": "^8.0", - "mongodb/mongodb": "^1.1", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "predis/predis": "~1.0", + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", "psr/cache": "^1.0 || ^2.0 || ^3.0", - "symfony/cache": "^4.4 || ^5.2 || ^6.0@dev", - "symfony/var-exporter": "^4.4 || ^5.2 || ^6.0@dev" - }, - "suggest": { - "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + "symfony/cache": "^4.4 || ^5.4 || ^6", + "symfony/var-exporter": "^4.4 || ^5.4 || ^6" }, "type": "library", "autoload": { @@ -1791,7 +1754,7 @@ ], "support": { "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.1.1" + "source": "https://github.com/doctrine/cache/tree/2.2.0" }, "funding": [ { @@ -1807,7 +1770,7 @@ "type": "tidelift" } ], - "time": "2021-07-17T14:49:29+00:00" + "time": "2022-05-20T20:07:39+00:00" }, { "name": "doctrine/collections", @@ -1880,22 +1843,22 @@ }, { "name": "doctrine/dbal", - "version": "3.3.5", + "version": "3.3.6", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "719663b15983278227669c8595151586a2ff3327" + "reference": "9e7f76dd1cde81c62574fdffa5a9c655c847ad21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/719663b15983278227669c8595151586a2ff3327", - "reference": "719663b15983278227669c8595151586a2ff3327", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/9e7f76dd1cde81c62574fdffa5a9c655c847ad21", + "reference": "9e7f76dd1cde81c62574fdffa5a9c655c847ad21", "shasum": "" }, "require": { "composer-runtime-api": "^2", "doctrine/cache": "^1.11|^2.0", - "doctrine/deprecations": "^0.5.3", + "doctrine/deprecations": "^0.5.3|^1", "doctrine/event-manager": "^1.0", "php": "^7.3 || ^8.0", "psr/cache": "^1|^2|^3", @@ -1903,15 +1866,15 @@ }, "require-dev": { "doctrine/coding-standard": "9.0.0", - "jetbrains/phpstorm-stubs": "2021.1", - "phpstan/phpstan": "1.5.3", - "phpstan/phpstan-strict-rules": "^1.1", - "phpunit/phpunit": "9.5.16", + "jetbrains/phpstorm-stubs": "2022.1", + "phpstan/phpstan": "1.6.3", + "phpstan/phpstan-strict-rules": "^1.2", + "phpunit/phpunit": "9.5.20", "psalm/plugin-phpunit": "0.16.1", "squizlabs/php_codesniffer": "3.6.2", "symfony/cache": "^5.2|^6.0", "symfony/console": "^2.7|^3.0|^4.0|^5.0|^6.0", - "vimeo/psalm": "4.22.0" + "vimeo/psalm": "4.23.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -1971,7 +1934,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.3.5" + "source": "https://github.com/doctrine/dbal/tree/3.3.6" }, "funding": [ { @@ -1987,29 +1950,29 @@ "type": "tidelift" } ], - "time": "2022-04-05T09:50:18+00:00" + "time": "2022-05-02T17:21:01+00:00" }, { "name": "doctrine/deprecations", - "version": "v0.5.3", + "version": "v1.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "9504165960a1f83cc1480e2be1dd0a0478561314" + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314", - "reference": "9504165960a1f83cc1480e2be1dd0a0478561314", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", "shasum": "" }, "require": { "php": "^7.1|^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0|^7.0|^8.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0", - "psr/log": "^1.0" + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5|^8.5|^9.5", + "psr/log": "^1|^2|^3" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -2028,9 +1991,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v0.5.3" + "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" }, - "time": "2021-03-21T12:59:47+00:00" + "time": "2022-05-02T15:47:09+00:00" }, { "name": "doctrine/event-manager", @@ -2295,16 +2258,16 @@ }, { "name": "dompdf/dompdf", - "version": "v1.2.1", + "version": "v1.2.2", "source": { "type": "git", "url": "https://github.com/dompdf/dompdf.git", - "reference": "c6dfd9bb8b0040609f04754f729d4cb3016e0575" + "reference": "5031045d9640b38cfc14aac9667470df09c9e090" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/c6dfd9bb8b0040609f04754f729d4cb3016e0575", - "reference": "c6dfd9bb8b0040609f04754f729d4cb3016e0575", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/5031045d9640b38cfc14aac9667470df09c9e090", + "reference": "5031045d9640b38cfc14aac9667470df09c9e090", "shasum": "" }, "require": { @@ -2315,6 +2278,8 @@ "php": "^7.1 || ^8.0" }, "require-dev": { + "ext-json": "*", + "ext-zip": "*", "mockery/mockery": "^1.3", "phpunit/phpunit": "^7.5 || ^8 || ^9", "squizlabs/php_codesniffer": "^3.5" @@ -2356,9 +2321,9 @@ "homepage": "https://github.com/dompdf/dompdf", "support": { "issues": "https://github.com/dompdf/dompdf/issues", - "source": "https://github.com/dompdf/dompdf/tree/v1.2.1" + "source": "https://github.com/dompdf/dompdf/tree/v1.2.2" }, - "time": "2022-03-24T12:57:42+00:00" + "time": "2022-04-27T13:50:54+00:00" }, { "name": "dragonmantank/cron-expression", @@ -2423,27 +2388,27 @@ }, { "name": "egulias/email-validator", - "version": "2.1.25", + "version": "3.2", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" + "reference": "a5ed8d58ed0c340a7c2109f587951b1c84cf6286" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/a5ed8d58ed0c340a7c2109f587951b1c84cf6286", + "reference": "a5ed8d58ed0c340a7c2109f587951b1c84cf6286", "shasum": "" }, "require": { - "doctrine/lexer": "^1.0.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.10" + "doctrine/lexer": "^1.2", + "php": ">=7.2", + "symfony/polyfill-intl-idn": "^1.15" }, "require-dev": { - "dominicsayers/isemail": "^3.0.7", - "phpunit/phpunit": "^4.8.36|^7.5.15", - "satooshi/php-coveralls": "^1.0.1" + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^8.5.8|^9.3.3", + "vimeo/psalm": "^4" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" @@ -2451,7 +2416,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -2479,7 +2444,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/2.1.25" + "source": "https://github.com/egulias/EmailValidator/tree/3.2" }, "funding": [ { @@ -2487,7 +2452,7 @@ "type": "github" } ], - "time": "2020-12-29T14:50:06+00:00" + "time": "2022-05-28T22:19:18+00:00" }, { "name": "ezyang/htmlpurifier", @@ -2540,64 +2505,6 @@ }, "time": "2021-12-25T01:21:49+00:00" }, - { - "name": "fideloper/proxy", - "version": "4.4.1", - "source": { - "type": "git", - "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "c073b2bd04d1c90e04dc1b787662b558dd65ade0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/c073b2bd04d1c90e04dc1b787662b558dd65ade0", - "reference": "c073b2bd04d1c90e04dc1b787662b558dd65ade0", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0|^9.0", - "php": ">=5.4.0" - }, - "require-dev": { - "illuminate/http": "^5.0|^6.0|^7.0|^8.0|^9.0", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Fideloper\\Proxy\\TrustedProxyServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Fideloper\\Proxy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Fidao", - "email": "fideloper@gmail.com" - } - ], - "description": "Set trusted proxies for Laravel", - "keywords": [ - "load balancing", - "proxy", - "trusted proxy" - ], - "support": { - "issues": "https://github.com/fideloper/TrustedProxy/issues", - "source": "https://github.com/fideloper/TrustedProxy/tree/4.4.1" - }, - "time": "2020-10-22T13:48:01+00:00" - }, { "name": "fruitcake/laravel-cors", "version": "v2.2.0", @@ -2678,42 +2585,113 @@ "time": "2022-02-23T14:25:13+00:00" }, { - "name": "genealabs/laravel-model-caching", - "version": "0.11.7", + "name": "fruitcake/php-cors", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/GeneaLabs/laravel-model-caching.git", - "reference": "ff303d782cb63a9c44bcd76a28bde73a67040c7e" + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GeneaLabs/laravel-model-caching/zipball/ff303d782cb63a9c44bcd76a28bde73a67040c7e", - "reference": "ff303d782cb63a9c44bcd76a28bde73a67040c7e", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e", + "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e", "shasum": "" }, "require": { - "genealabs/laravel-pivot-events": "^8.0", - "illuminate/cache": "^8.0", - "illuminate/config": "^8.0", - "illuminate/console": "^8.0", - "illuminate/container": "^8.0", - "illuminate/database": "^8.0", - "illuminate/http": "^8.0", - "illuminate/support": "^8.0", - "php": "^7.3|^8.0" + "php": "^7.4|^8.0", + "symfony/http-foundation": "^4.4|^5.4|^6" }, "require-dev": { - "doctrine/dbal": "^2.10", + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barryvdh", + "email": "barryvdh@gmail.com" + } + ], + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", + "keywords": [ + "cors", + "laravel", + "symfony" + ], + "support": { + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.2.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2022-02-20T15:07:15+00:00" + }, + { + "name": "genealabs/laravel-model-caching", + "version": "0.12.4", + "source": { + "type": "git", + "url": "https://github.com/GeneaLabs/laravel-model-caching.git", + "reference": "dcc2204dcd1a1804316d58cba9b8608e711f9564" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GeneaLabs/laravel-model-caching/zipball/dcc2204dcd1a1804316d58cba9b8608e711f9564", + "reference": "dcc2204dcd1a1804316d58cba9b8608e711f9564", + "shasum": "" + }, + "require": { + "genealabs/laravel-pivot-events": "^9.0", + "illuminate/cache": "^9.0", + "illuminate/config": "^9.0", + "illuminate/console": "^9.0", + "illuminate/container": "^9.0", + "illuminate/database": "^9.0", + "illuminate/http": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0" + }, + "require-dev": { + "doctrine/dbal": "^3.3", "fakerphp/faker": "^1.11", - "laravel/legacy-factories": "^1.0", + "laravel/legacy-factories": "^1.3", "laravel/nova": "^3.9", - "orchestra/testbench": "^6.0", - "orchestra/testbench-browser-kit": "^6.0", + "orchestra/testbench": "^7.0", + "orchestra/testbench-browser-kit": "^7.0", "php-coveralls/php-coveralls": "^2.2", - "phpmd/phpmd": "^2.7", - "phpunit/phpunit": "^9.0", - "slevomat/coding-standard": "^6.4", - "squizlabs/php_codesniffer": "^3.4", + "phpmd/phpmd": "^2.11", + "phpunit/phpunit": "^9.5", + "slevomat/coding-standard": "^7.0", + "squizlabs/php_codesniffer": "^3.6", "symfony/thanks": "^1.2" }, "type": "library", @@ -2742,30 +2720,30 @@ "description": "Automatic caching for Eloquent models.", "support": { "issues": "https://github.com/GeneaLabs/laravel-model-caching/issues", - "source": "https://github.com/GeneaLabs/laravel-model-caching/tree/0.11.7" + "source": "https://github.com/GeneaLabs/laravel-model-caching/tree/0.12.4" }, - "time": "2022-02-03T13:21:28+00:00" + "time": "2022-05-02T19:25:04+00:00" }, { "name": "genealabs/laravel-pivot-events", - "version": "8.0", + "version": "9.0.4", "source": { "type": "git", "url": "https://github.com/GeneaLabs/laravel-pivot-events.git", - "reference": "aafc9d7f6a0b31e0d58bd2b31e38253fbd27c2a9" + "reference": "3e076a8d266baf0833e7496ca4e5eb65d5df4b76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GeneaLabs/laravel-pivot-events/zipball/aafc9d7f6a0b31e0d58bd2b31e38253fbd27c2a9", - "reference": "aafc9d7f6a0b31e0d58bd2b31e38253fbd27c2a9", + "url": "https://api.github.com/repos/GeneaLabs/laravel-pivot-events/zipball/3e076a8d266baf0833e7496ca4e5eb65d5df4b76", + "reference": "3e076a8d266baf0833e7496ca4e5eb65d5df4b76", "shasum": "" }, "require": { - "illuminate/database": "^8.0", - "illuminate/support": "^8.0" + "illuminate/database": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0" }, "require-dev": { - "orchestra/testbench": "^6.0", + "orchestra/testbench": "^7.0", "symfony/thanks": "^1.0" }, "type": "library", @@ -2787,7 +2765,7 @@ } ], "description": "This package introduces new eloquent events for sync(), attach(), detach() or updateExistingPivot() methods on BelongsToMany relation.", - "homepage": "https://github.com/fico7489/laravel-pivot", + "homepage": "https://github.com/GeneaLabs/laravel-pivot", "keywords": [ "eloquent events", "eloquent extra events", @@ -2796,39 +2774,40 @@ "laravel sync events" ], "support": { - "issues": "https://github.com/fico7489/laravel-pivot/issues", - "source": "https://github.com/fico7489/laravel-pivot" + "issues": "https://github.com/GeneaLabs/laravel-pivot/issues", + "source": "https://github.com/GeneaLabs/laravel-pivot" }, - "time": "2020-09-08T14:39:12+00:00" + "time": "2022-03-30T12:50:17+00:00" }, { "name": "graham-campbell/markdown", - "version": "v13.1.2", + "version": "14.0.x-dev", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Laravel-Markdown.git", - "reference": "275f96e5b1a2f86f3239eb2c2c5262790725f4ba" + "reference": "36dc081ad00ee5abedff939cfccbfc5008eed8eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Laravel-Markdown/zipball/275f96e5b1a2f86f3239eb2c2c5262790725f4ba", - "reference": "275f96e5b1a2f86f3239eb2c2c5262790725f4ba", + "url": "https://api.github.com/repos/GrahamCampbell/Laravel-Markdown/zipball/36dc081ad00ee5abedff939cfccbfc5008eed8eb", + "reference": "36dc081ad00ee5abedff939cfccbfc5008eed8eb", "shasum": "" }, "require": { - "illuminate/contracts": "^6.0 || ^7.0 || ^8.0", - "illuminate/filesystem": "^6.0 || ^7.0 || ^8.0", - "illuminate/support": "^6.0 || ^7.0 || ^8.0", - "illuminate/view": "^6.0 || ^7.0 || ^8.0", - "league/commonmark": "^1.5", - "php": "^7.2.5 || ^8.0" + "illuminate/contracts": "^8.75 || ^9.0", + "illuminate/filesystem": "^8.75 || ^9.0", + "illuminate/support": "^8.75 || ^9.0", + "illuminate/view": "^8.75 || ^9.0", + "league/commonmark": "^2.3.1", + "php": "^7.4.15 || ^8.0.2" }, "require-dev": { - "graham-campbell/analyzer": "^3.0", - "graham-campbell/testbench": "^5.6", - "mockery/mockery": "^1.3.1", - "phpunit/phpunit": "^8.5.8 || ^9.3.7" + "graham-campbell/analyzer": "^3.1", + "graham-campbell/testbench": "^5.7", + "mockery/mockery": "^1.5", + "phpunit/phpunit": "^9.5" }, + "default-branch": true, "type": "library", "extra": { "laravel": { @@ -2867,7 +2846,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Laravel-Markdown/issues", - "source": "https://github.com/GrahamCampbell/Laravel-Markdown/tree/v13.1.2" + "source": "https://github.com/GrahamCampbell/Laravel-Markdown/tree/v14.0.0" }, "funding": [ { @@ -2879,7 +2858,7 @@ "type": "tidelift" } ], - "time": "2021-11-21T15:23:56+00:00" + "time": "2022-05-30T21:37:30+00:00" }, { "name": "graham-campbell/result-type", @@ -2945,16 +2924,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.4.2", + "version": "7.4.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4" + "reference": "74a8602c6faec9ef74b7a9391ac82c5e65b1cdab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ac1ec1cd9b5624694c3a40be801d94137afb12b4", - "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/74a8602c6faec9ef74b7a9391ac82c5e65b1cdab", + "reference": "74a8602c6faec9ef74b7a9391ac82c5e65b1cdab", "shasum": "" }, "require": { @@ -3049,7 +3028,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.4.2" + "source": "https://github.com/guzzle/guzzle/tree/7.4.3" }, "funding": [ { @@ -3065,7 +3044,7 @@ "type": "tidelift" } ], - "time": "2022-03-20T14:16:28+00:00" + "time": "2022-05-25T13:24:33+00:00" }, { "name": "guzzlehttp/promises", @@ -3153,29 +3132,32 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.8.5", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268" + "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/337e3ad8e5716c15f9657bd214d16cc5e69df268", - "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/c94a94f120803a18554c1805ef2e539f8285f9a2", + "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2", "shasum": "" }, "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0" }, "provide": { + "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" + "bamarni/composer-bin-plugin": "^1.4.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.8 || ^9.3.10" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -3183,13 +3165,10 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "2.2-dev" } }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "GuzzleHttp\\Psr7\\": "src/" } @@ -3228,6 +3207,11 @@ "name": "Tobias Schultze", "email": "webmaster@tubo-world.de", "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "PSR-7 message implementation that also provides common utility methods", @@ -3243,7 +3227,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.5" + "source": "https://github.com/guzzle/psr7/tree/2.2.1" }, "funding": [ { @@ -3259,7 +3243,7 @@ "type": "tidelift" } ], - "time": "2022-03-20T21:51:18+00:00" + "time": "2022-03-20T21:55:58+00:00" }, { "name": "hoa/compiler", @@ -4094,26 +4078,26 @@ }, { "name": "intervention/image", - "version": "2.5.1", + "version": "2.7.2", "source": { "type": "git", "url": "https://github.com/Intervention/image.git", - "reference": "abbf18d5ab8367f96b3205ca3c89fb2fa598c69e" + "reference": "04be355f8d6734c826045d02a1079ad658322dad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/abbf18d5ab8367f96b3205ca3c89fb2fa598c69e", - "reference": "abbf18d5ab8367f96b3205ca3c89fb2fa598c69e", + "url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad", + "reference": "04be355f8d6734c826045d02a1079ad658322dad", "shasum": "" }, "require": { "ext-fileinfo": "*", - "guzzlehttp/psr7": "~1.1", + "guzzlehttp/psr7": "~1.1 || ^2.0", "php": ">=5.4.0" }, "require-dev": { "mockery/mockery": "~0.9.2", - "phpunit/phpunit": "^4.8 || ^5.7" + "phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15" }, "suggest": { "ext-gd": "to use GD library based image processing.", @@ -4146,8 +4130,8 @@ "authors": [ { "name": "Oliver Vogel", - "email": "oliver@olivervogel.com", - "homepage": "http://olivervogel.com/" + "email": "oliver@intervention.io", + "homepage": "https://intervention.io/" } ], "description": "Image handling and manipulation library with support for Laravel integration", @@ -4162,9 +4146,19 @@ ], "support": { "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/master" + "source": "https://github.com/Intervention/image/tree/2.7.2" }, - "time": "2019-11-02T09:15:47+00:00" + "funding": [ + { + "url": "https://paypal.me/interventionio", + "type": "custom" + }, + { + "url": "https://github.com/Intervention", + "type": "github" + } + ], + "time": "2022-05-21T17:30:32+00:00" }, { "name": "intervention/imagecache", @@ -4370,16 +4364,16 @@ }, { "name": "kkszymanowski/traitor", - "version": "0.2.5", + "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/KKSzymanowski/Traitor.git", - "reference": "9770fc7de72ff585601dc9c42b31715d9fc40a24" + "reference": "c16d90149e807d71562953eb5c9279e75170b63f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/KKSzymanowski/Traitor/zipball/9770fc7de72ff585601dc9c42b31715d9fc40a24", - "reference": "9770fc7de72ff585601dc9c42b31715d9fc40a24", + "url": "https://api.github.com/repos/KKSzymanowski/Traitor/zipball/c16d90149e807d71562953eb5c9279e75170b63f", + "reference": "c16d90149e807d71562953eb5c9279e75170b63f", "shasum": "" }, "require": { @@ -4387,7 +4381,7 @@ "php": ">=5.4" }, "require-dev": { - "phpunit/phpunit": "~4.1" + "phpunit/phpunit": "8.*" }, "type": "library", "autoload": { @@ -4416,68 +4410,7 @@ "issues": "https://github.com/kkszymanowski/traitor/issues", "source": "https://github.com/kkszymanowski/traitor" }, - "time": "2018-04-19T12:24:36+00:00" - }, - { - "name": "kyslik/column-sortable", - "version": "6.4.2", - "source": { - "type": "git", - "url": "https://github.com/Kyslik/column-sortable.git", - "reference": "91792a166dd02aaaeb7928417bb49d808b0c58ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Kyslik/column-sortable/zipball/91792a166dd02aaaeb7928417bb49d808b0c58ea", - "reference": "91792a166dd02aaaeb7928417bb49d808b0c58ea", - "shasum": "" - }, - "require": { - "illuminate/database": "5.8.*|^6.0|^7.0|^8.0|^9.0", - "illuminate/support": "5.8.*|^6.0|^7.0|^8.0|^9.0", - "php": ">=7.2" - }, - "require-dev": { - "orchestra/testbench": "^5.0|^7.0", - "phpunit/phpunit": "^8.5|^9.5.10" - }, - "type": "package", - "extra": { - "laravel": { - "providers": [ - "Kyslik\\ColumnSortable\\ColumnSortableServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Kyslik\\ColumnSortable\\": "src/ColumnSortable/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Martin Kiesel", - "email": "martin.kiesel@gmail.com", - "role": "Developer and maintainer" - } - ], - "description": "Package for handling column sorting in Laravel 6.x", - "keywords": [ - "column", - "laravel", - "sort", - "sortable", - "sorting" - ], - "support": { - "issues": "https://github.com/Kyslik/column-sortable/issues", - "source": "https://github.com/Kyslik/column-sortable/tree/6.4.2" - }, - "time": "2022-02-15T23:02:23+00:00" + "time": "2022-03-02T17:32:19+00:00" }, { "name": "laracasts/flash", @@ -4539,56 +4472,55 @@ }, { "name": "laravel/framework", - "version": "v8.83.9", + "version": "v9.14.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "ac6e16bb56510eda2e373c6365d5c92da3fd559d" + "reference": "2ca86f96118635a79ee3389013ccab110ae14bea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/ac6e16bb56510eda2e373c6365d5c92da3fd559d", - "reference": "ac6e16bb56510eda2e373c6365d5c92da3fd559d", + "url": "https://api.github.com/repos/laravel/framework/zipball/2ca86f96118635a79ee3389013ccab110ae14bea", + "reference": "2ca86f96118635a79ee3389013ccab110ae14bea", "shasum": "" }, "require": { - "doctrine/inflector": "^1.4|^2.0", - "dragonmantank/cron-expression": "^3.0.2", - "egulias/email-validator": "^2.1.10", - "ext-json": "*", + "doctrine/inflector": "^2.0", + "dragonmantank/cron-expression": "^3.1", + "egulias/email-validator": "^3.1", "ext-mbstring": "*", "ext-openssl": "*", + "fruitcake/php-cors": "^1.2", "laravel/serializable-closure": "^1.0", - "league/commonmark": "^1.3|^2.0.2", - "league/flysystem": "^1.1", + "league/commonmark": "^2.2", + "league/flysystem": "^3.0", "monolog/monolog": "^2.0", "nesbot/carbon": "^2.53.1", - "opis/closure": "^3.6", - "php": "^7.3|^8.0", - "psr/container": "^1.0", - "psr/log": "^1.0|^2.0", - "psr/simple-cache": "^1.0", + "php": "^8.0.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/log": "^1.0|^2.0|^3.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.2.2", - "swiftmailer/swiftmailer": "^6.3", - "symfony/console": "^5.4", - "symfony/error-handler": "^5.4", - "symfony/finder": "^5.4", - "symfony/http-foundation": "^5.4", - "symfony/http-kernel": "^5.4", - "symfony/mime": "^5.4", - "symfony/process": "^5.4", - "symfony/routing": "^5.4", - "symfony/var-dumper": "^5.4", + "symfony/console": "^6.0", + "symfony/error-handler": "^6.0", + "symfony/finder": "^6.0", + "symfony/http-foundation": "^6.0", + "symfony/http-kernel": "^6.0", + "symfony/mailer": "^6.0", + "symfony/mime": "^6.0", + "symfony/process": "^6.0", + "symfony/routing": "^6.0", + "symfony/var-dumper": "^6.0", "tijsverkoyen/css-to-inline-styles": "^2.2.2", "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^1.6.1" + "voku/portable-ascii": "^2.0" }, "conflict": { "tightenco/collect": "<5.5.33" }, "provide": { - "psr/container-implementation": "1.0", - "psr/simple-cache-implementation": "1.0" + "psr/container-implementation": "1.1|2.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0" }, "replace": { "illuminate/auth": "self.version", @@ -4596,6 +4528,7 @@ "illuminate/bus": "self.version", "illuminate/cache": "self.version", "illuminate/collections": "self.version", + "illuminate/conditionable": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", "illuminate/container": "self.version", @@ -4626,19 +4559,22 @@ "require-dev": { "aws/aws-sdk-php": "^3.198.1", "doctrine/dbal": "^2.13.3|^3.1.4", - "filp/whoops": "^2.14.3", - "guzzlehttp/guzzle": "^6.5.5|^7.0.1", - "league/flysystem-cached-adapter": "^1.0", + "fakerphp/faker": "^1.9.2", + "guzzlehttp/guzzle": "^7.2", + "league/flysystem-aws-s3-v3": "^3.0", + "league/flysystem-ftp": "^3.0", + "league/flysystem-sftp-v3": "^3.0", "mockery/mockery": "^1.4.4", - "orchestra/testbench-core": "^6.27", + "orchestra/testbench-core": "^7.1", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.5.19|^9.5.8", + "phpstan/phpstan": "^1.4.7", + "phpunit/phpunit": "^9.5.8", "predis/predis": "^1.1.9", - "symfony/cache": "^5.4" + "symfony/cache": "^6.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.198.1).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.198.1).", "brianium/paratest": "Required to run tests in parallel (^6.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", "ext-bcmath": "Required to use the multiple_of validation rule.", @@ -4650,27 +4586,29 @@ "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", + "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.2).", "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", "mockery/mockery": "Required to use mocking (^1.4.4).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^8.5.19|^9.5.8).", + "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8).", "predis/predis": "Required to use the predis connector (^1.1.9).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0|^7.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^5.4).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^5.4).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", - "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^6.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { @@ -4684,7 +4622,8 @@ "Illuminate\\": "src/Illuminate/", "Illuminate\\Support\\": [ "src/Illuminate/Macroable/", - "src/Illuminate/Collections/" + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/" ] } }, @@ -4708,20 +4647,85 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-04-19T15:01:38+00:00" + "time": "2022-05-25T18:18:07+00:00" }, { - "name": "laravel/serializable-closure", - "version": "v1.1.1", + "name": "laravel/sanctum", + "version": "v2.15.1", "source": { "type": "git", - "url": "https://github.com/laravel/serializable-closure.git", - "reference": "9e4b005daa20b0c161f3845040046dc9ddc1d74e" + "url": "https://github.com/laravel/sanctum.git", + "reference": "31fbe6f85aee080c4dc2f9b03dc6dd5d0ee72473" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/9e4b005daa20b0c161f3845040046dc9ddc1d74e", - "reference": "9e4b005daa20b0c161f3845040046dc9ddc1d74e", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/31fbe6f85aee080c4dc2f9b03dc6dd5d0ee72473", + "reference": "31fbe6f85aee080c4dc2f9b03dc6dd5d0ee72473", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/console": "^6.9|^7.0|^8.0|^9.0", + "illuminate/contracts": "^6.9|^7.0|^8.0|^9.0", + "illuminate/database": "^6.9|^7.0|^8.0|^9.0", + "illuminate/support": "^6.9|^7.0|^8.0|^9.0", + "php": "^7.2|^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0", + "phpunit/phpunit": "^8.0|^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Sanctum\\SanctumServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sanctum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.", + "keywords": [ + "auth", + "laravel", + "sanctum" + ], + "support": { + "issues": "https://github.com/laravel/sanctum/issues", + "source": "https://github.com/laravel/sanctum" + }, + "time": "2022-04-08T13:39:49+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "09f0e9fb61829f628205b7c94906c28740ff9540" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/09f0e9fb61829f628205b7c94906c28740ff9540", + "reference": "09f0e9fb61829f628205b7c94906c28740ff9540", "shasum": "" }, "require": { @@ -4767,7 +4771,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2022-02-11T19:23:53+00:00" + "time": "2022-05-16T17:09:47+00:00" }, { "name": "laravel/slack-notification-channel", @@ -4900,16 +4904,16 @@ }, { "name": "laravel/ui", - "version": "v3.4.5", + "version": "v3.4.6", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "f11d295de1508c5bb56206a620b00b6616de414c" + "reference": "65ec5c03f7fee2c8ecae785795b829a15be48c2c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/f11d295de1508c5bb56206a620b00b6616de414c", - "reference": "f11d295de1508c5bb56206a620b00b6616de414c", + "url": "https://api.github.com/repos/laravel/ui/zipball/65ec5c03f7fee2c8ecae785795b829a15be48c2c", + "reference": "65ec5c03f7fee2c8ecae785795b829a15be48c2c", "shasum": "" }, "require": { @@ -4955,36 +4959,36 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v3.4.5" + "source": "https://github.com/laravel/ui/tree/v3.4.6" }, - "time": "2022-02-21T14:59:16+00:00" + "time": "2022-05-20T13:38:08+00:00" }, { "name": "laravelcollective/html", - "version": "v6.2.1", + "version": "v6.3.0", "source": { "type": "git", "url": "https://github.com/LaravelCollective/html.git", - "reference": "ae15b9c4bf918ec3a78f092b8555551dd693fde3" + "reference": "78c3cb516ac9e6d3d76cad9191f81d217302dea6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/LaravelCollective/html/zipball/ae15b9c4bf918ec3a78f092b8555551dd693fde3", - "reference": "ae15b9c4bf918ec3a78f092b8555551dd693fde3", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/78c3cb516ac9e6d3d76cad9191f81d217302dea6", + "reference": "78c3cb516ac9e6d3d76cad9191f81d217302dea6", "shasum": "" }, "require": { - "illuminate/http": "^6.0|^7.0|^8.0", - "illuminate/routing": "^6.0|^7.0|^8.0", - "illuminate/session": "^6.0|^7.0|^8.0", - "illuminate/support": "^6.0|^7.0|^8.0", - "illuminate/view": "^6.0|^7.0|^8.0", + "illuminate/http": "^6.0|^7.0|^8.0|^9.0", + "illuminate/routing": "^6.0|^7.0|^8.0|^9.0", + "illuminate/session": "^6.0|^7.0|^8.0|^9.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0", + "illuminate/view": "^6.0|^7.0|^8.0|^9.0", "php": ">=7.2.5" }, "require-dev": { - "illuminate/database": "^6.0|^7.0|^8.0", + "illuminate/database": "^6.0|^7.0|^8.0|^9.0", "mockery/mockery": "~1.0", - "phpunit/phpunit": "~8.5" + "phpunit/phpunit": "~8.5|^9.5.10" }, "type": "library", "extra": { @@ -5029,46 +5033,58 @@ "issues": "https://github.com/LaravelCollective/html/issues", "source": "https://github.com/LaravelCollective/html" }, - "time": "2020-12-15T20:20:05+00:00" + "time": "2022-02-08T21:02:54+00:00" }, { "name": "league/commonmark", - "version": "1.6.7", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b" + "reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b", - "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/cb36fee279f7fca01d5d9399ddd1b37e48e2eca1", + "reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "scrutinizer/ocular": "1.7.*" + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "cebe/markdown": "~1.0", - "commonmark/commonmark.js": "0.29.2", - "erusev/parsedown": "~1.0", + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.0", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", "ext-json": "*", "github/gfm": "0.29.0", - "michelf/php-markdown": "~1.4", - "mikehaertl/php-shellcommand": "^1.4", - "phpstan/phpstan": "^0.12.90", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", - "scrutinizer/ocular": "^1.5", - "symfony/finder": "^4.2" + "michelf/php-markdown": "^1.4", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^0.12.88 || ^1.0.0", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" }, - "bin": [ - "bin/commonmark" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + } + }, "autoload": { "psr-4": { "League\\CommonMark\\": "src" @@ -5086,7 +5102,7 @@ "role": "Lead Developer" } ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", "homepage": "https://commonmark.thephpleague.com", "keywords": [ "commonmark", @@ -5100,6 +5116,7 @@ ], "support": { "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", "issues": "https://github.com/thephpleague/commonmark/issues", "rss": "https://github.com/thephpleague/commonmark/releases.atom", "source": "https://github.com/thephpleague/commonmark" @@ -5122,58 +5139,134 @@ "type": "tidelift" } ], - "time": "2022-01-13T17:18:13+00:00" + "time": "2022-05-14T15:37:39+00:00" }, { - "name": "league/flysystem", - "version": "1.1.9", + "name": "league/config", + "version": "v1.1.1", "source": { "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "094defdb4a7001845300334e7c1ee2335925ef99" + "url": "https://github.com/thephpleague/config.git", + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/094defdb4a7001845300334e7c1ee2335925ef99", - "reference": "094defdb4a7001845300334e7c1ee2335925ef99", + "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" }, "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + "phpstan/phpstan": "^0.12.90", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-main": "1.2-dev" } }, "autoload": { "psr-4": { - "League\\Flysystem\\": "src/" + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2021-08-14T12:15:32+00:00" + }, + { + "name": "league/flysystem", + "version": "3.0.20", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "42a2f47dcf39944e2aee1b660ee55ab6ef69b535" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/42a2f47dcf39944e2aee1b660ee55ab6ef69b535", + "reference": "42a2f47dcf39944e2aee1b660ee55ab6ef69b535", + "shasum": "" + }, + "require": { + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5", + "async-aws/simple-s3": "^1.0", + "aws/aws-sdk-php": "^3.198.1", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^2.0", + "phpstan/phpstan": "^0.12.26", + "phpunit/phpunit": "^9.5.11", + "sabre/dav": "^4.3.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -5183,73 +5276,71 @@ "authors": [ { "name": "Frank de Jonge", - "email": "info@frenky.net" + "email": "info@frankdejonge.nl" } ], - "description": "Filesystem abstraction: Many filesystems, one API.", + "description": "File storage abstraction for PHP", "keywords": [ - "Cloud Files", "WebDAV", - "abstraction", "aws", "cloud", - "copy.com", - "dropbox", - "file systems", + "file", "files", "filesystem", "filesystems", "ftp", - "rackspace", - "remote", "s3", "sftp", "storage" ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.9" + "source": "https://github.com/thephpleague/flysystem/tree/3.0.20" }, "funding": [ { "url": "https://offset.earth/frankdejonge", - "type": "other" + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" } ], - "time": "2021-12-09T09:40:50+00:00" + "time": "2022-05-25T19:18:39+00:00" }, { "name": "league/flysystem-aws-s3-v3", - "version": "1.0.29", + "version": "3.0.13", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "4e25cc0582a36a786c31115e419c6e40498f6972" + "reference": "0074cf016e21a6d1eb99b6db70acdd23743fc371" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/4e25cc0582a36a786c31115e419c6e40498f6972", - "reference": "4e25cc0582a36a786c31115e419c6e40498f6972", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/0074cf016e21a6d1eb99b6db70acdd23743fc371", + "reference": "0074cf016e21a6d1eb99b6db70acdd23743fc371", "shasum": "" }, "require": { - "aws/aws-sdk-php": "^3.20.0", - "league/flysystem": "^1.0.40", - "php": ">=5.5.0" + "aws/aws-sdk-php": "^3.132.4", + "league/flysystem": "^2.0.0 || ^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "~1.0.1", - "phpspec/phpspec": "^2.0.0" + "conflict": { + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, "autoload": { "psr-4": { - "League\\Flysystem\\AwsS3v3\\": "src/" + "League\\Flysystem\\AwsS3V3\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -5259,83 +5350,24 @@ "authors": [ { "name": "Frank de Jonge", - "email": "info@frenky.net" + "email": "info@frankdejonge.nl" } ], - "description": "Flysystem adapter for the AWS S3 SDK v3.x", + "description": "AWS S3 filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "aws", + "file", + "files", + "filesystem", + "s3", + "storage" + ], "support": { "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", - "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/1.0.29" + "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.0.13" }, - "time": "2020-10-08T18:58:37+00:00" - }, - { - "name": "league/fractal", - "version": "0.19.2", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/fractal.git", - "reference": "06dc15f6ba38f2dde2f919d3095d13b571190a7c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/fractal/zipball/06dc15f6ba38f2dde2f919d3095d13b571190a7c", - "reference": "06dc15f6ba38f2dde2f919d3095d13b571190a7c", - "shasum": "" - }, - "require": { - "php": ">=5.4" - }, - "require-dev": { - "doctrine/orm": "^2.5", - "illuminate/contracts": "~5.0", - "mockery/mockery": "~0.9", - "pagerfanta/pagerfanta": "~1.0.0", - "phpunit/phpunit": "^4.8.35 || ^7.5", - "squizlabs/php_codesniffer": "~1.5|~2.0|~3.4", - "zendframework/zend-paginator": "~2.3" - }, - "suggest": { - "illuminate/pagination": "The Illuminate Pagination component.", - "pagerfanta/pagerfanta": "Pagerfanta Paginator", - "zendframework/zend-paginator": "Zend Framework Paginator" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.13-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Fractal\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Phil Sturgeon", - "email": "me@philsturgeon.uk", - "homepage": "http://philsturgeon.uk/", - "role": "Developer" - } - ], - "description": "Handle the output of complex data structures ready for API output.", - "homepage": "http://fractal.thephpleague.com/", - "keywords": [ - "api", - "json", - "league", - "rest" - ], - "support": { - "issues": "https://github.com/thephpleague/fractal/issues", - "source": "https://github.com/thephpleague/fractal/tree/0.19.2" - }, - "time": "2020-01-24T23:17:29+00:00" + "time": "2022-04-01T22:05:11+00:00" }, { "name": "league/mime-type-detection", @@ -5465,31 +5497,31 @@ }, { "name": "league/omnipay", - "version": "v3.1.0", + "version": "v3.2.1", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay.git", - "reference": "1ba7c8a3312cf2342458b99c9e5b86eaae44aed2" + "reference": "38f66a0cc043ed51d6edf7956d6439a2f263501f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay/zipball/1ba7c8a3312cf2342458b99c9e5b86eaae44aed2", - "reference": "1ba7c8a3312cf2342458b99c9e5b86eaae44aed2", + "url": "https://api.github.com/repos/thephpleague/omnipay/zipball/38f66a0cc043ed51d6edf7956d6439a2f263501f", + "reference": "38f66a0cc043ed51d6edf7956d6439a2f263501f", "shasum": "" }, "require": { - "omnipay/common": "^3", - "php": "^7.2", - "php-http/discovery": "^1.12", - "php-http/guzzle7-adapter": "^0.1" + "omnipay/common": "^3.1", + "php": "^7.2|^8.0", + "php-http/discovery": "^1.14", + "php-http/guzzle7-adapter": "^1" }, "require-dev": { - "omnipay/tests": "^3" + "omnipay/tests": "^3|^4" }, "type": "metapackage", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "3.2.x-dev" } }, "notification-url": "https://packagist.org/downloads/", @@ -5516,37 +5548,44 @@ ], "support": { "issues": "https://github.com/thephpleague/omnipay/issues", - "source": "https://github.com/thephpleague/omnipay/tree/v3.1.0" + "source": "https://github.com/thephpleague/omnipay/tree/v3.2.1" }, - "time": "2020-09-22T14:02:17+00:00" + "funding": [ + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2021-06-05T11:34:12+00:00" }, { "name": "livewire/livewire", - "version": "v2.3.18", + "version": "v2.10.5", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "c0c78f430e4151fb6902bbb88c75e782d2549e1a" + "reference": "9ea6237760f627b3b6a05d15137880780ac843b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/c0c78f430e4151fb6902bbb88c75e782d2549e1a", - "reference": "c0c78f430e4151fb6902bbb88c75e782d2549e1a", + "url": "https://api.github.com/repos/livewire/livewire/zipball/9ea6237760f627b3b6a05d15137880780ac843b5", + "reference": "9ea6237760f627b3b6a05d15137880780ac843b5", "shasum": "" }, "require": { - "illuminate/database": "^7.0|^8.0", - "illuminate/support": "^7.0|^8.0", - "illuminate/validation": "^7.0|^8.0", + "illuminate/database": "^7.0|^8.0|^9.0", + "illuminate/support": "^7.0|^8.0|^9.0", + "illuminate/validation": "^7.0|^8.0|^9.0", + "league/mime-type-detection": "^1.9", "php": "^7.2.5|^8.0", - "symfony/http-kernel": "^5.0" + "symfony/http-kernel": "^5.0|^6.0" }, "require-dev": { "calebporzio/sushi": "^2.1", - "laravel/framework": "^7.0|^8.0", + "laravel/framework": "^7.0|^8.0|^9.0", "mockery/mockery": "^1.3.1", - "orchestra/testbench": "^5.0|^6.0", - "orchestra/testbench-dusk": "^5.2|^6.0", + "orchestra/testbench": "^5.0|^6.0|^7.0", + "orchestra/testbench-dusk": "^5.2|^6.0|^7.0", "phpunit/phpunit": "^8.4|^9.0", "psy/psysh": "@stable" }, @@ -5582,37 +5621,37 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v2.3.18" + "source": "https://github.com/livewire/livewire/tree/v2.10.5" }, "funding": [ { - "url": "https://github.com/calebporzio", + "url": "https://github.com/livewire", "type": "github" } ], - "time": "2021-02-16T20:34:52+00:00" + "time": "2022-04-07T21:38:12+00:00" }, { "name": "lorisleiva/laravel-search-string", - "version": "v1.1.3", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/lorisleiva/laravel-search-string.git", - "reference": "366f5584f2ae13d6751644f05079f2c0d6634c0e" + "reference": "e7793c8a87465dcdd6c52721495adace1ab6b335" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lorisleiva/laravel-search-string/zipball/366f5584f2ae13d6751644f05079f2c0d6634c0e", - "reference": "366f5584f2ae13d6751644f05079f2c0d6634c0e", + "url": "https://api.github.com/repos/lorisleiva/laravel-search-string/zipball/e7793c8a87465dcdd6c52721495adace1ab6b335", + "reference": "e7793c8a87465dcdd6c52721495adace1ab6b335", "shasum": "" }, "require": { "hoa/compiler": "^3.17", - "illuminate/support": "^5.5|^6.0|^7.0|^8.0", + "illuminate/support": "^8.0|^9.0", "sanmai/hoa-protocol": "^1.17" }, "require-dev": { - "orchestra/testbench": "^4.0|^5.0|^6.0" + "orchestra/testbench": "^6.0|^7.0" }, "type": "library", "extra": { @@ -5640,7 +5679,7 @@ "description": "Generates database queries based on one unique string using a simple and customizable syntax.", "support": { "issues": "https://github.com/lorisleiva/laravel-search-string/issues", - "source": "https://github.com/lorisleiva/laravel-search-string/tree/v1.1.3" + "source": "https://github.com/lorisleiva/laravel-search-string/tree/v1.2.0" }, "funding": [ { @@ -5648,20 +5687,20 @@ "type": "github" } ], - "time": "2021-04-30T19:12:09+00:00" + "time": "2022-02-24T15:44:46+00:00" }, { "name": "maatwebsite/excel", - "version": "3.1.39", + "version": "3.1.40", "source": { "type": "git", "url": "https://github.com/SpartnerNL/Laravel-Excel.git", - "reference": "5165334de44c6f7788a5818a1d019aa71a43e092" + "reference": "8a54972e3d616c74687c3cbff15765555761885c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/5165334de44c6f7788a5818a1d019aa71a43e092", - "reference": "5165334de44c6f7788a5818a1d019aa71a43e092", + "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/8a54972e3d616c74687c3cbff15765555761885c", + "reference": "8a54972e3d616c74687c3cbff15765555761885c", "shasum": "" }, "require": { @@ -5714,7 +5753,7 @@ ], "support": { "issues": "https://github.com/SpartnerNL/Laravel-Excel/issues", - "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.39" + "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.40" }, "funding": [ { @@ -5726,33 +5765,35 @@ "type": "github" } ], - "time": "2022-04-23T11:44:18+00:00" + "time": "2022-05-02T13:50:01+00:00" }, { "name": "maennchen/zipstream-php", - "version": "2.1.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58" + "reference": "211e9ba1530ea5260b45d90c9ea252f56ec52729" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/c4c5803cc1f93df3d2448478ef79394a5981cc58", - "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/211e9ba1530ea5260b45d90c9ea252f56ec52729", + "reference": "211e9ba1530ea5260b45d90c9ea252f56ec52729", "shasum": "" }, "require": { "myclabs/php-enum": "^1.5", - "php": ">= 7.1", + "php": "^7.4 || ^8.0", "psr/http-message": "^1.0", "symfony/polyfill-mbstring": "^1.0" }, "require-dev": { "ext-zip": "*", - "guzzlehttp/guzzle": ">= 6.3", + "guzzlehttp/guzzle": "^6.5.3 || ^7.2.0", "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": ">= 7.5" + "php-coveralls/php-coveralls": "^2.4", + "phpunit/phpunit": "^8.5.8 || ^9.4.2", + "vimeo/psalm": "^4.1" }, "type": "library", "autoload": { @@ -5789,7 +5830,7 @@ ], "support": { "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/master" + "source": "https://github.com/maennchen/ZipStream-PHP/tree/2.2.1" }, "funding": [ { @@ -5797,7 +5838,7 @@ "type": "open_collective" } ], - "time": "2020-05-30T13:11:16+00:00" + "time": "2022-05-18T15:52:06+00:00" }, { "name": "markbaker/complex", @@ -6086,41 +6127,43 @@ }, { "name": "moneyphp/money", - "version": "v3.3.1", + "version": "v4.0.4", "source": { "type": "git", "url": "https://github.com/moneyphp/money.git", - "reference": "122664c2621a95180a13c1ac81fea1d2ef20781e" + "reference": "efe904ab6109d87046eb624d5dff7d270fd0cca5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/moneyphp/money/zipball/122664c2621a95180a13c1ac81fea1d2ef20781e", - "reference": "122664c2621a95180a13c1ac81fea1d2ef20781e", + "url": "https://api.github.com/repos/moneyphp/money/zipball/efe904ab6109d87046eb624d5dff7d270fd0cca5", + "reference": "efe904ab6109d87046eb624d5dff7d270fd0cca5", "shasum": "" }, "require": { + "ext-bcmath": "*", + "ext-filter": "*", "ext-json": "*", - "php": ">=5.6" + "php": "~8.0.0 || ~8.1.0" }, "require-dev": { - "cache/taggable-cache": "^0.4.0", - "doctrine/instantiator": "^1.0.5", - "ext-bcmath": "*", + "cache/taggable-cache": "^1.1.0", + "doctrine/coding-standard": "^9.0", + "doctrine/instantiator": "^1.4.0", "ext-gmp": "*", "ext-intl": "*", - "florianv/exchanger": "^1.0", - "florianv/swap": "^3.0", - "friends-of-phpspec/phpspec-code-coverage": "^3.1.1 || ^4.3", + "florianv/exchanger": "^2.6.3", + "florianv/swap": "^4.3.0", "moneyphp/iso-currencies": "^3.2.1", - "php-http/message": "^1.4", - "php-http/mock-client": "^1.0.0", - "phpspec/phpspec": "^3.4.3", - "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.18 || ^8.5", - "psr/cache": "^1.0", - "symfony/phpunit-bridge": "^4" + "php-http/message": "^1.11.0", + "php-http/mock-client": "^1.4.1", + "phpbench/phpbench": "^1.2.5", + "phpspec/phpspec": "^7.2", + "phpunit/phpunit": "^9.5.4", + "psalm/plugin-phpunit": "^0.15.1", + "psr/cache": "^1.0.1", + "vimeo/psalm": "~4.7.0 || ^4.8.2" }, "suggest": { - "ext-bcmath": "Calculate without integer limits", "ext-gmp": "Calculate without integer limits", "ext-intl": "Format Money objects with intl", "florianv/exchanger": "Exchange rates library for PHP", @@ -6166,22 +6209,22 @@ ], "support": { "issues": "https://github.com/moneyphp/money/issues", - "source": "https://github.com/moneyphp/money/tree/master" + "source": "https://github.com/moneyphp/money/tree/v4.0.4" }, - "time": "2020-03-18T17:49:59+00:00" + "time": "2022-05-18T19:32:15+00:00" }, { "name": "monolog/monolog", - "version": "2.5.0", + "version": "2.6.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "4192345e260f1d51b365536199744b987e160edc" + "reference": "247918972acd74356b0a91dfaa5adcaec069b6c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4192345e260f1d51b365536199744b987e160edc", - "reference": "4192345e260f1d51b365536199744b987e160edc", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/247918972acd74356b0a91dfaa5adcaec069b6c0", + "reference": "247918972acd74356b0a91dfaa5adcaec069b6c0", "shasum": "" }, "require": { @@ -6194,18 +6237,23 @@ "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", "graylog2/gelf-php": "^1.4.2", + "guzzlehttp/guzzle": "^7.4", + "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", "php-console/php-console": "^3.1.3", - "phpspec/prophecy": "^1.6.1", + "phpspec/prophecy": "^1.15", "phpstan/phpstan": "^0.12.91", - "phpunit/phpunit": "^8.5", + "phpunit/phpunit": "^8.5.14", "predis/predis": "^1.1", "rollbar/rollbar": "^1.3 || ^2 || ^3", - "ruflin/elastica": ">=0.90@dev", - "swiftmailer/swiftmailer": "^5.3|^6.0" + "ruflin/elastica": "^7", + "swiftmailer/swiftmailer": "^5.3|^6.0", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", @@ -6255,7 +6303,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.5.0" + "source": "https://github.com/Seldaek/monolog/tree/2.6.0" }, "funding": [ { @@ -6267,66 +6315,7 @@ "type": "tidelift" } ], - "time": "2022-04-08T15:43:54+00:00" - }, - { - "name": "monooso/unobserve", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/monooso/unobserve.git", - "reference": "e7cc357d405ecf73b392604d49e65359cd471d24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/monooso/unobserve/zipball/e7cc357d405ecf73b392604d49e65359cd471d24", - "reference": "e7cc357d405ecf73b392604d49e65359cd471d24", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^8.0", - "illuminate/support": "^8.0", - "php": "^7.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.15", - "orchestra/testbench": "^6.0", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Monooso\\Unobserve\\UnobserveServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Monooso\\Unobserve\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Stephen Lewis", - "email": "code@stephenlewis.me" - } - ], - "description": "Mute and unmute Laravel observers at will.", - "homepage": "https://github.com/monooso/unobserve", - "keywords": [ - "laravel" - ], - "support": { - "issues": "https://github.com/monooso/unobserve/issues", - "source": "https://github.com/monooso/unobserve" - }, - "time": "2020-10-10T14:11:58+00:00" + "time": "2022-05-10T09:36:00+00:00" }, { "name": "mtdowling/jmespath.php", @@ -6451,16 +6440,16 @@ }, { "name": "nesbot/carbon", - "version": "2.57.0", + "version": "2.58.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "4a54375c21eea4811dbd1149fe6b246517554e78" + "reference": "97a34af22bde8d0ac20ab34b29d7bfe360902055" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4a54375c21eea4811dbd1149fe6b246517554e78", - "reference": "4a54375c21eea4811dbd1149fe6b246517554e78", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/97a34af22bde8d0ac20ab34b29d7bfe360902055", + "reference": "97a34af22bde8d0ac20ab34b29d7bfe360902055", "shasum": "" }, "require": { @@ -6478,7 +6467,8 @@ "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12.54 || ^1.0", - "phpunit/phpunit": "^7.5.20 || ^8.5.14", + "phpunit/php-file-iterator": "^2.0.5", + "phpunit/phpunit": "^7.5.20 || ^8.5.23", "squizlabs/php_codesniffer": "^3.4" }, "bin": [ @@ -6543,7 +6533,154 @@ "type": "tidelift" } ], - "time": "2022-02-13T18:13:33+00:00" + "time": "2022-04-25T19:31:17+00:00" + }, + { + "name": "nette/schema", + "version": "v1.2.2", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df", + "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df", + "shasum": "" + }, + "require": { + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": ">=7.1 <8.2" + }, + "require-dev": { + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^0.12", + "tracy/tracy": "^2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.2" + }, + "time": "2021-10-15T11:40:02+00:00" + }, + { + "name": "nette/utils", + "version": "v3.2.7", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/0af4e3de4df9f1543534beab255ccf459e7a2c99", + "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99", + "shasum": "" + }, + "require": { + "php": ">=7.2 <8.2" + }, + "conflict": { + "nette/di": "<3.0.6" + }, + "require-dev": { + "nette/tester": "~2.0", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.3" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", + "ext-xml": "to use Strings::length() etc. when mbstring is not available" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v3.2.7" + }, + "time": "2022-01-24T11:29:14+00:00" }, { "name": "nikic/php-parser", @@ -6900,16 +7037,16 @@ }, { "name": "php-http/discovery", - "version": "1.14.1", + "version": "1.14.2", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "de90ab2b41d7d61609f504e031339776bc8c7223" + "reference": "c8d48852fbc052454af42f6de27635ddd916b959" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/de90ab2b41d7d61609f504e031339776bc8c7223", - "reference": "de90ab2b41d7d61609f504e031339776bc8c7223", + "url": "https://api.github.com/repos/php-http/discovery/zipball/c8d48852fbc052454af42f6de27635ddd916b959", + "reference": "c8d48852fbc052454af42f6de27635ddd916b959", "shasum": "" }, "require": { @@ -6922,8 +7059,7 @@ "graham-campbell/phpspec-skip-example-extension": "^5.0", "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^5.1 || ^6.1", - "puli/composer-plugin": "1.0.0-beta10" + "phpspec/phpspec": "^5.1 || ^6.1" }, "suggest": { "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories" @@ -6962,22 +7098,22 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.14.1" + "source": "https://github.com/php-http/discovery/tree/1.14.2" }, - "time": "2021-09-18T07:57:46+00:00" + "time": "2022-05-25T07:26:05+00:00" }, { "name": "php-http/guzzle7-adapter", - "version": "0.1.1", + "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/php-http/guzzle7-adapter.git", - "reference": "1967de656b9679a2a6a66d0e4e16fa99bbed1ad1" + "reference": "fb075a71dbfa4847cf0c2938c4e5a9c478ef8b01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/guzzle7-adapter/zipball/1967de656b9679a2a6a66d0e4e16fa99bbed1ad1", - "reference": "1967de656b9679a2a6a66d0e4e16fa99bbed1ad1", + "url": "https://api.github.com/repos/php-http/guzzle7-adapter/zipball/fb075a71dbfa4847cf0c2938c4e5a9c478ef8b01", + "reference": "fb075a71dbfa4847cf0c2938c4e5a9c478ef8b01", "shasum": "" }, "require": { @@ -7024,9 +7160,9 @@ ], "support": { "issues": "https://github.com/php-http/guzzle7-adapter/issues", - "source": "https://github.com/php-http/guzzle7-adapter/tree/0.1.1" + "source": "https://github.com/php-http/guzzle7-adapter/tree/1.0.0" }, - "time": "2020-10-21T17:30:51+00:00" + "time": "2021-03-09T07:35:15+00:00" }, { "name": "php-http/httplug", @@ -7328,63 +7464,6 @@ }, "time": "2020-06-27T09:03:43+00:00" }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "5.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.3", - "webmozart/assert": "^1.9.1" - }, - "require-dev": { - "mockery/mockery": "~1.3.2", - "psalm/phar": "^4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - }, - { - "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" - }, - "time": "2021-10-19T17:43:47+00:00" - }, { "name": "phpdocumentor/type-resolver", "version": "1.6.1", @@ -7612,40 +7691,41 @@ }, { "name": "plank/laravel-mediable", - "version": "5.3.1", + "version": "5.5.0", "source": { "type": "git", "url": "https://github.com/plank/laravel-mediable.git", - "reference": "a5ed07386e7696e5af22c940d6b60d12256e6ea4" + "reference": "07195303b3c6d261b569981cad786f6ec33ee44d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/plank/laravel-mediable/zipball/a5ed07386e7696e5af22c940d6b60d12256e6ea4", - "reference": "a5ed07386e7696e5af22c940d6b60d12256e6ea4", + "url": "https://api.github.com/repos/plank/laravel-mediable/zipball/07195303b3c6d261b569981cad786f6ec33ee44d", + "reference": "07195303b3c6d261b569981cad786f6ec33ee44d", "shasum": "" }, "require": { "ext-fileinfo": "*", - "guzzlehttp/guzzle": "^6.5|^7.1", - "illuminate/database": ">6.0", - "illuminate/filesystem": ">6.0", - "illuminate/support": ">6.0", - "intervention/image": "^2.5", - "league/flysystem": "^1.1.4", - "php": ">=7.3.0", - "psr/http-message": "^1.0" + "guzzlehttp/guzzle": "^6.5.5|^7.4.1", + "illuminate/database": "^8.83|^9.0", + "illuminate/filesystem": "^8.83|^9.0", + "illuminate/support": "^8.83|^9.0", + "intervention/image": "^2.7.1", + "league/flysystem": "^1.1.9|^2.4.2|^3.0.4", + "php": ">=7.4.0", + "psr/http-message": "^1.0.1", + "symfony/http-foundation": "^5.0.11|^6.0.3" }, "require-dev": { - "aws/aws-sdk-php": "^3.166.0", - "doctrine/dbal": "^2.11", - "guzzlehttp/promises": "^1.4", - "laravel/legacy-factories": "^1.0.4", - "league/flysystem-aws-s3-v3": "^1.0.23", + "aws/aws-sdk-php": "^3.166.2", + "doctrine/dbal": "^2.11|^3.0", + "guzzlehttp/promises": "^1.5.1", + "laravel/legacy-factories": "^1.3.0", + "league/flysystem-aws-s3-v3": "^1.0.29|^2.1.0|^3.0", "mockery/mockery": "^1.4.2", - "orchestra/testbench": "^5.9|^6.6", - "php-coveralls/php-coveralls": "^2.4", - "phpunit/phpunit": "^9.5", - "vlucas/phpdotenv": "^4.0|^5.0" + "orchestra/testbench": "^6.6|^7.0", + "php-coveralls/php-coveralls": "^2.5.2", + "phpunit/phpunit": "^9.5.13", + "vlucas/phpdotenv": "^4.2.2|^5.4.1" }, "type": "library", "extra": { @@ -7684,26 +7764,26 @@ ], "support": { "issues": "https://github.com/plank/laravel-mediable/issues", - "source": "https://github.com/plank/laravel-mediable/tree/5.3.1" + "source": "https://github.com/plank/laravel-mediable/tree/5.5.0" }, - "time": "2021-12-11T19:44:41+00:00" + "time": "2022-05-10T02:47:04+00:00" }, { "name": "psr/cache", - "version": "1.0.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { @@ -7723,7 +7803,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for caching libraries", @@ -7733,28 +7813,33 @@ "psr-6" ], "support": { - "source": "https://github.com/php-fig/cache/tree/master" + "source": "https://github.com/php-fig/cache/tree/3.0.0" }, - "time": "2016-08-06T20:24:11+00:00" + "time": "2021-02-03T23:26:27+00:00" }, { "name": "psr/container", - "version": "1.1.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=7.4.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -7781,9 +7866,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2021-03-05T17:36:06+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/event-dispatcher", @@ -7997,30 +8082,30 @@ }, { "name": "psr/log", - "version": "1.1.4", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -8041,31 +8126,31 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/php-fig/log/tree/3.0.0" }, - "time": "2021-05-03T11:20:27+00:00" + "time": "2021-07-14T16:46:02+00:00" }, { "name": "psr/simple-cache", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + "reference": "8707bf3cea6f710bf6ef05491234e3ab06f6432a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/8707bf3cea6f710bf6ef05491234e3ab06f6432a", + "reference": "8707bf3cea6f710bf6ef05491234e3ab06f6432a", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -8080,7 +8165,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interfaces for simple caching", @@ -8092,22 +8177,22 @@ "simple-cache" ], "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" + "source": "https://github.com/php-fig/simple-cache/tree/2.0.0" }, - "time": "2017-10-23T01:57:42+00:00" + "time": "2021-10-29T13:22:09+00:00" }, { "name": "psy/psysh", - "version": "v0.11.2", + "version": "v0.11.5", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "7f7da640d68b9c9fec819caae7c744a213df6514" + "reference": "c23686f9c48ca202710dbb967df8385a952a2daf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/7f7da640d68b9c9fec819caae7c744a213df6514", - "reference": "7f7da640d68b9c9fec819caae7c744a213df6514", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/c23686f9c48ca202710dbb967df8385a952a2daf", + "reference": "c23686f9c48ca202710dbb967df8385a952a2daf", "shasum": "" }, "require": { @@ -8122,15 +8207,13 @@ "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "3.17.05.02" + "bamarni/composer-bin-plugin": "^1.2" }, "suggest": { "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", "ext-pdo-sqlite": "The doc command requires SQLite to work.", "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." }, "bin": [ "bin/psysh" @@ -8170,9 +8253,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.2" + "source": "https://github.com/bobthecow/psysh/tree/v0.11.5" }, - "time": "2022-02-28T15:28:54+00:00" + "time": "2022-05-27T18:03:49+00:00" }, { "name": "ralouphie/getallheaders", @@ -8299,25 +8382,24 @@ }, { "name": "ramsey/uuid", - "version": "4.2.3", + "version": "4.3.1", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" + "reference": "8505afd4fea63b81a85d3b7b53ac3cb8dc347c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", - "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/8505afd4fea63b81a85d3b7b53ac3cb8dc347c28", + "reference": "8505afd4fea63b81a85d3b7b53ac3cb8dc347c28", "shasum": "" }, "require": { "brick/math": "^0.8 || ^0.9", + "ext-ctype": "*", "ext-json": "*", - "php": "^7.2 || ^8.0", - "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php80": "^1.14" + "php": "^8.0", + "ramsey/collection": "^1.0" }, "replace": { "rhumsaa/uuid": "self.version" @@ -8354,9 +8436,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "4.x-dev" - }, "captainhook": { "force-install": true } @@ -8381,7 +8460,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.2.3" + "source": "https://github.com/ramsey/uuid/tree/4.3.1" }, "funding": [ { @@ -8393,7 +8472,7 @@ "type": "tidelift" } ], - "time": "2021-09-25T23:10:38+00:00" + "time": "2022-03-27T21:42:02+00:00" }, { "name": "riverskies/laravel-mobile-detect", @@ -8580,26 +8659,26 @@ }, { "name": "santigarcor/laratrust", - "version": "6.3.2", + "version": "7.1.0", "source": { "type": "git", "url": "https://github.com/santigarcor/laratrust.git", - "reference": "9ab3bfdc06afe18b17f69b77cb77291c36dae9f6" + "reference": "8a18c70bb1ced09baed361b68c432b0bedb74f16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/santigarcor/laratrust/zipball/9ab3bfdc06afe18b17f69b77cb77291c36dae9f6", - "reference": "9ab3bfdc06afe18b17f69b77cb77291c36dae9f6", + "url": "https://api.github.com/repos/santigarcor/laratrust/zipball/8a18c70bb1ced09baed361b68c432b0bedb74f16", + "reference": "8a18c70bb1ced09baed361b68c432b0bedb74f16", "shasum": "" }, "require": { - "kkszymanowski/traitor": "^0.2.0", - "laravel/framework": "~6.0|~7.0|~8.0", + "kkszymanowski/traitor": "^1.0", + "laravel/framework": "~6.0|~7.0|~8.0|^9.0", "php": ">=7.2" }, "require-dev": { "mockery/mockery": "^1.3.2", - "orchestra/testbench": "4.*|5.*|6.*", + "orchestra/testbench": "4.*|5.*|6.*|7.*", "phpunit/phpunit": "^7.5.15|^8.4|^9.0" }, "type": "library", @@ -8643,7 +8722,7 @@ ], "support": { "issues": "https://github.com/santigarcor/laratrust/issues", - "source": "https://github.com/santigarcor/laratrust/tree/6.3.2" + "source": "https://github.com/santigarcor/laratrust/tree/7.1.0" }, "funding": [ { @@ -8651,28 +8730,67 @@ "type": "github" } ], - "time": "2021-03-03T13:34:32+00:00" + "time": "2022-03-04T15:28:43+00:00" }, { - "name": "simshaun/recurr", - "version": "v4.0.5", + "name": "simple-icons/simple-icons", + "version": "6.23.0", "source": { "type": "git", - "url": "https://github.com/simshaun/recurr.git", - "reference": "08b0b46879f598cd11dd42b4c1a9c221a0562749" + "url": "https://github.com/simple-icons/simple-icons.git", + "reference": "f493bbdbf36dbc38178f16657e7cbef8315c45f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simshaun/recurr/zipball/08b0b46879f598cd11dd42b4c1a9c221a0562749", - "reference": "08b0b46879f598cd11dd42b4c1a9c221a0562749", + "url": "https://api.github.com/repos/simple-icons/simple-icons/zipball/f493bbdbf36dbc38178f16657e7cbef8315c45f2", + "reference": "f493bbdbf36dbc38178f16657e7cbef8315c45f2", + "shasum": "" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "CC0-1.0" + ], + "description": "SVG icons for popular brands", + "homepage": "https://simpleicons.org/", + "keywords": [ + "icons", + "svg" + ], + "support": { + "docs": "https://github.com/simple-icons/simple-icons#php-usage-", + "issues": "https://github.com/simple-icons/simple-icons/issues", + "source": "https://github.com/simple-icons/simple-icons" + }, + "funding": [ + { + "url": "https://opencollective.com/simple-icons", + "type": "opencollective" + } + ], + "time": "2022-05-22T11:39:24+00:00" + }, + { + "name": "simshaun/recurr", + "version": "v5.0.0", + "source": { + "type": "git", + "url": "https://github.com/simshaun/recurr.git", + "reference": "b5aa5b07a595023b67a558b810390dfa7160e3f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simshaun/recurr/zipball/b5aa5b07a595023b67a558b810390dfa7160e3f5", + "reference": "b5aa5b07a595023b67a558b810390dfa7160e3f5", "shasum": "" }, "require": { - "doctrine/collections": "~1.3", - "php": ">=5.5.0" + "doctrine/collections": "~1.6", + "php": "^7.2||^8.0" }, "require-dev": { - "phpunit/phpunit": "~5.7" + "phpunit/phpunit": "^8.5.16", + "symfony/yaml": "^5.3" }, "type": "library", "extra": { @@ -8707,31 +8825,30 @@ ], "support": { "issues": "https://github.com/simshaun/recurr/issues", - "source": "https://github.com/simshaun/recurr/tree/v4.0.5" + "source": "https://github.com/simshaun/recurr/tree/v5.0.0" }, - "time": "2021-03-25T23:00:49+00:00" + "time": "2021-09-09T03:42:57+00:00" }, { "name": "staudenmeir/belongs-to-through", - "version": "v2.11.2", + "version": "v2.12.1", "source": { "type": "git", "url": "https://github.com/staudenmeir/belongs-to-through.git", - "reference": "32d03527163a3edd7f88e4b74b03575e4bdb5db7" + "reference": "8316d274db603f63b16bb1c67379b0fa73209d98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/staudenmeir/belongs-to-through/zipball/32d03527163a3edd7f88e4b74b03575e4bdb5db7", - "reference": "32d03527163a3edd7f88e4b74b03575e4bdb5db7", + "url": "https://api.github.com/repos/staudenmeir/belongs-to-through/zipball/8316d274db603f63b16bb1c67379b0fa73209d98", + "reference": "8316d274db603f63b16bb1c67379b0fa73209d98", "shasum": "" }, "require": { - "illuminate/database": "^8.0", - "php": "^7.3|^8.0" + "illuminate/database": "^9.0", + "php": "^8.0.2" }, "require-dev": { - "phpunit/phpunit": "^9.3", - "scrutinizer/ocular": "^1.8" + "phpunit/phpunit": "^9.5" }, "type": "library", "autoload": { @@ -8756,7 +8873,7 @@ "description": "Laravel Eloquent BelongsToThrough relationships", "support": { "issues": "https://github.com/staudenmeir/belongs-to-through/issues", - "source": "https://github.com/staudenmeir/belongs-to-through/tree/v2.11.2" + "source": "https://github.com/staudenmeir/belongs-to-through/tree/v2.12.1" }, "funding": [ { @@ -8764,30 +8881,30 @@ "type": "custom" } ], - "time": "2021-08-19T18:23:06+00:00" + "time": "2022-03-10T21:14:19+00:00" }, { "name": "staudenmeir/eloquent-has-many-deep", - "version": "v1.14.4", + "version": "v1.15.1", "source": { "type": "git", "url": "https://github.com/staudenmeir/eloquent-has-many-deep.git", - "reference": "b121fdb50ca3e0a4b884f97dd19af68d1e73bbff" + "reference": "c21dcb2bfa9618e8eaaeda95541d2ffb3f421ecd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/staudenmeir/eloquent-has-many-deep/zipball/b121fdb50ca3e0a4b884f97dd19af68d1e73bbff", - "reference": "b121fdb50ca3e0a4b884f97dd19af68d1e73bbff", + "url": "https://api.github.com/repos/staudenmeir/eloquent-has-many-deep/zipball/c21dcb2bfa9618e8eaaeda95541d2ffb3f421ecd", + "reference": "c21dcb2bfa9618e8eaaeda95541d2ffb3f421ecd", "shasum": "" }, "require": { - "illuminate/database": "^8.0", - "php": "^7.3|^8.0" + "illuminate/database": "^9.0", + "php": "^8.0.2" }, "require-dev": { - "illuminate/pagination": "^8.0", - "phpunit/phpunit": "^9.3", - "staudenmeir/eloquent-eager-limit": "^1.6" + "illuminate/pagination": "^9.0", + "phpunit/phpunit": "^9.5", + "staudenmeir/eloquent-eager-limit": "^1.7" }, "type": "library", "autoload": { @@ -8808,7 +8925,7 @@ "description": "Laravel Eloquent HasManyThrough relationships with unlimited levels", "support": { "issues": "https://github.com/staudenmeir/eloquent-has-many-deep/issues", - "source": "https://github.com/staudenmeir/eloquent-has-many-deep/tree/v1.14.4" + "source": "https://github.com/staudenmeir/eloquent-has-many-deep/tree/v1.15.1" }, "funding": [ { @@ -8816,126 +8933,46 @@ "type": "custom" } ], - "time": "2021-12-07T11:59:19+00:00" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.3.0", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", - "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", - "shasum": "" - }, - "require": { - "egulias/email-validator": "^2.0|^3.1", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.4" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], - "support": { - "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" - }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", - "type": "tidelift" - } - ], - "abandoned": "symfony/mailer", - "time": "2021-10-18T15:26:12+00:00" + "time": "2022-03-15T20:45:07+00:00" }, { "name": "symfony/console", - "version": "v5.4.7", + "version": "v6.0.9", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "900275254f0a1a2afff1ab0e11abd5587a10e1d6" + "reference": "9b190bc7a19d19add1dbb3382721973836e59b50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/900275254f0a1a2afff1ab0e11abd5587a10e1d6", - "reference": "900275254f0a1a2afff1ab0e11abd5587a10e1d6", + "url": "https://api.github.com/repos/symfony/console/zipball/9b190bc7a19d19add1dbb3382721973836e59b50", + "reference": "9b190bc7a19d19add1dbb3382721973836e59b50", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.0.2", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" + "symfony/string": "^5.4|^6.0" }, "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" }, "suggest": { "psr/log": "For using the console logger", @@ -8975,7 +9012,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.7" + "source": "https://github.com/symfony/console/tree/v6.0.9" }, "funding": [ { @@ -8991,25 +9028,24 @@ "type": "tidelift" } ], - "time": "2022-03-31T17:09:19+00:00" + "time": "2022-05-27T06:40:13+00:00" }, { "name": "symfony/css-selector", - "version": "v5.4.3", + "version": "v6.0.3", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "b0a190285cd95cb019237851205b8140ef6e368e" + "reference": "1955d595c12c111629cc814d3f2a2ff13580508a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/b0a190285cd95cb019237851205b8140ef6e368e", - "reference": "b0a190285cd95cb019237851205b8140ef6e368e", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/1955d595c12c111629cc814d3f2a2ff13580508a", + "reference": "1955d595c12c111629cc814d3f2a2ff13580508a", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2" }, "type": "library", "autoload": { @@ -9041,7 +9077,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.4.3" + "source": "https://github.com/symfony/css-selector/tree/v6.0.3" }, "funding": [ { @@ -9057,20 +9093,20 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/debug", - "version": "v4.4.37", + "version": "v4.4.41", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "5de6c6e7f52b364840e53851c126be4d71e60470" + "reference": "6637e62480b60817b9a6984154a533e8e64c6bd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/5de6c6e7f52b364840e53851c126be4d71e60470", - "reference": "5de6c6e7f52b364840e53851c126be4d71e60470", + "url": "https://api.github.com/repos/symfony/debug/zipball/6637e62480b60817b9a6984154a533e8e64c6bd5", + "reference": "6637e62480b60817b9a6984154a533e8e64c6bd5", "shasum": "" }, "require": { @@ -9109,7 +9145,7 @@ "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.37" + "source": "https://github.com/symfony/debug/tree/v4.4.41" }, "funding": [ { @@ -9125,29 +9161,29 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:41:36+00:00" + "time": "2022-04-12T15:19:55+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.1", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -9176,7 +9212,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.1" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.1" }, "funding": [ { @@ -9192,31 +9228,31 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/error-handler", - "version": "v5.4.7", + "version": "v6.0.9", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "060bc01856a1846e3e4385261bc9ed11a1dd7b6a" + "reference": "732ca203b3222cde3378d5ddf5e2883211acc53e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/060bc01856a1846e3e4385261bc9ed11a1dd7b6a", - "reference": "060bc01856a1846e3e4385261bc9ed11a1dd7b6a", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/732ca203b3222cde3378d5ddf5e2883211acc53e", + "reference": "732ca203b3222cde3378d5ddf5e2883211acc53e", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "symfony/var-dumper": "^5.4|^6.0" }, "require-dev": { "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/serializer": "^4.4|^5.0|^6.0" + "symfony/http-kernel": "^5.4|^6.0", + "symfony/serializer": "^5.4|^6.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -9247,7 +9283,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/v5.4.7" + "source": "https://github.com/symfony/error-handler/tree/v6.0.9" }, "funding": [ { @@ -9263,44 +9299,42 @@ "type": "tidelift" } ], - "time": "2022-03-18T16:21:29+00:00" + "time": "2022-05-23T10:32:42+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.3", + "version": "v6.0.9", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d" + "reference": "5c85b58422865d42c6eb46f7693339056db098a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dec8a9f58d20df252b9cd89f1c6c1530f747685d", - "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5c85b58422865d42c6eb46f7693339056db098a8", + "reference": "5c85b58422865d42c6eb46f7693339056db098a8", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^2|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2", + "symfony/event-dispatcher-contracts": "^2|^3" }, "conflict": { - "symfony/dependency-injection": "<4.4" + "symfony/dependency-injection": "<5.4" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" + "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/error-handler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^4.4|^5.0|^6.0" + "symfony/stopwatch": "^5.4|^6.0" }, "suggest": { "symfony/dependency-injection": "", @@ -9332,7 +9366,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/v5.4.3" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.0.9" }, "funding": [ { @@ -9348,24 +9382,24 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-05-05T16:45:52+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.1", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1" + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7bc61cc2db649b4637d331240c5346dcc7708051", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "psr/event-dispatcher": "^1" }, "suggest": { @@ -9374,7 +9408,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -9411,7 +9445,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.1" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.1" }, "funding": [ { @@ -9427,26 +9461,24 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/finder", - "version": "v5.4.3", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d" + "reference": "af7edab28d17caecd1f40a9219fc646ae751c21f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/231313534dded84c7ecaa79d14bc5da4ccb69b7d", - "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d", + "url": "https://api.github.com/repos/symfony/finder/zipball/af7edab28d17caecd1f40a9219fc646ae751c21f", + "reference": "af7edab28d17caecd1f40a9219fc646ae751c21f", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2" }, "type": "library", "autoload": { @@ -9474,7 +9506,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.3" + "source": "https://github.com/symfony/finder/tree/v6.0.8" }, "funding": [ { @@ -9490,33 +9522,32 @@ "type": "tidelift" } ], - "time": "2022-01-26T16:34:36+00:00" + "time": "2022-04-15T08:07:58+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.4.6", + "version": "v6.0.9", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "34e89bc147633c0f9dd6caaaf56da3b806a21465" + "reference": "05abe9aab47decfd793632787d0c6a25268e2a5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/34e89bc147633c0f9dd6caaaf56da3b806a21465", - "reference": "34e89bc147633c0f9dd6caaaf56da3b806a21465", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/05abe9aab47decfd793632787d0c6a25268e2a5b", + "reference": "05abe9aab47decfd793632787d0c6a25268e2a5b", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.16" + "symfony/polyfill-mbstring": "~1.1" }, "require-dev": { "predis/predis": "~1.0", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0" + "symfony/cache": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/mime": "^5.4|^6.0" }, "suggest": { "symfony/mime": "To use the file extension guesser" @@ -9547,7 +9578,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.6" + "source": "https://github.com/symfony/http-foundation/tree/v6.0.9" }, "funding": [ { @@ -9563,67 +9594,64 @@ "type": "tidelift" } ], - "time": "2022-03-05T21:03:43+00:00" + "time": "2022-05-21T13:33:31+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.7", + "version": "v6.0.9", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "509243b9b3656db966284c45dffce9316c1ecc5c" + "reference": "e78407f2a7b683fd1269057aa39355d77ddbcff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/509243b9b3656db966284c45dffce9316c1ecc5c", - "reference": "509243b9b3656db966284c45dffce9316c1ecc5c", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e78407f2a7b683fd1269057aa39355d77ddbcff9", + "reference": "e78407f2a7b683fd1269057aa39355d77ddbcff9", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/log": "^1|^2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^5.0|^6.0", - "symfony/http-foundation": "^5.3.7|^6.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2", + "psr/log": "^1|^2|^3", + "symfony/error-handler": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/polyfill-ctype": "^1.8" }, "conflict": { "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.0", - "symfony/config": "<5.0", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.3", - "symfony/doctrine-bridge": "<5.0", - "symfony/form": "<5.0", - "symfony/http-client": "<5.0", - "symfony/mailer": "<5.0", - "symfony/messenger": "<5.0", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<5.0", - "symfony/validator": "<5.0", + "symfony/cache": "<5.4", + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<5.4", "twig/twig": "<2.13" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", "symfony/browser-kit": "^5.4|^6.0", - "symfony/config": "^5.0|^6.0", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", - "symfony/dom-crawler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/config": "^5.4|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/css-selector": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/dom-crawler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/routing": "^5.4|^6.0", + "symfony/stopwatch": "^5.4|^6.0", + "symfony/translation": "^5.4|^6.0", "symfony/translation-contracts": "^1.1|^2|^3", "twig/twig": "^2.13|^3.0.4" }, @@ -9659,7 +9687,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/v5.4.7" + "source": "https://github.com/symfony/http-kernel/tree/v6.0.9" }, "funding": [ { @@ -9675,42 +9703,114 @@ "type": "tidelift" } ], - "time": "2022-04-02T06:04:20+00:00" + "time": "2022-05-27T07:14:30+00:00" }, { - "name": "symfony/mime", - "version": "v5.4.7", + "name": "symfony/mailer", + "version": "v6.0.8", "source": { "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "92d27a34dea2e199fa9b687e3fff3a7d169b7b1c" + "url": "https://github.com/symfony/mailer.git", + "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/92d27a34dea2e199fa9b687e3fff3a7d169b7b1c", - "reference": "92d27a34dea2e199fa9b687e3fff3a7d169b7b1c", + "url": "https://api.github.com/repos/symfony/mailer/zipball/706af6b3e99ebcbc639c9c664f5579aaa869409b", + "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "egulias/email-validator": "^2.1.10|^3", + "php": ">=8.0.2", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/mime": "^5.4|^6.0", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "conflict": { + "symfony/http-kernel": "<5.4" + }, + "require-dev": { + "symfony/http-client-contracts": "^1.1|^2|^3", + "symfony/messenger": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v6.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-04-27T17:10:30+00:00" + }, + { + "name": "symfony/mime", + "version": "v6.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "e17bae63d437b3e21942dcc47ccca802d3573dd8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/e17bae63d437b3e21942dcc47ccca802d3573dd8", + "reference": "e17bae63d437b3e21942dcc47ccca802d3573dd8", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16" + "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4" + "symfony/mailer": "<5.4" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.1|^6.0", - "symfony/property-info": "^4.4|^5.1|^6.0", - "symfony/serializer": "^5.2|^6.0" + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/property-access": "^5.4|^6.0", + "symfony/property-info": "^5.4|^6.0", + "symfony/serializer": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -9742,7 +9842,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.7" + "source": "https://github.com/symfony/mime/tree/v6.0.9" }, "funding": [ { @@ -9758,7 +9858,7 @@ "type": "tidelift" } ], - "time": "2022-03-11T16:08:05+00:00" + "time": "2022-05-21T13:33:31+00:00" }, { "name": "symfony/polyfill-ctype", @@ -9842,89 +9942,6 @@ ], "time": "2021-10-20T20:35:02+00:00" }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40", - "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-iconv": "*" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.25.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-01-04T09:04:05+00:00" - }, { "name": "symfony/polyfill-intl-grapheme", "version": "v1.25.0", @@ -10336,85 +10353,6 @@ ], "time": "2021-05-27T09:17:38+00:00" }, - { - "name": "symfony/polyfill-php73", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5", - "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.25.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-05T21:20:04+00:00" - }, { "name": "symfony/polyfill-php80", "version": "v1.25.0", @@ -10579,21 +10517,20 @@ }, { "name": "symfony/process", - "version": "v5.4.7", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "38a44b2517b470a436e1c944bf9b9ba3961137fb" + "reference": "d074154ea8b1443a96391f6e39f9e547b2dd01b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/38a44b2517b470a436e1c944bf9b9ba3961137fb", - "reference": "38a44b2517b470a436e1c944bf9b9ba3961137fb", + "url": "https://api.github.com/repos/symfony/process/zipball/d074154ea8b1443a96391f6e39f9e547b2dd01b9", + "reference": "d074154ea8b1443a96391f6e39f9e547b2dd01b9", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2" }, "type": "library", "autoload": { @@ -10621,7 +10558,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.7" + "source": "https://github.com/symfony/process/tree/v6.0.8" }, "funding": [ { @@ -10637,41 +10574,39 @@ "type": "tidelift" } ], - "time": "2022-03-18T16:18:52+00:00" + "time": "2022-04-12T16:11:42+00:00" }, { "name": "symfony/routing", - "version": "v5.4.3", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "44b29c7a94e867ccde1da604792f11a469958981" + "reference": "74c40c9fc334acc601a32fcf4274e74fb3bac11e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/44b29c7a94e867ccde1da604792f11a469958981", - "reference": "44b29c7a94e867ccde1da604792f11a469958981", + "url": "https://api.github.com/repos/symfony/routing/zipball/74c40c9fc334acc601a32fcf4274e74fb3bac11e", + "reference": "74c40c9fc334acc601a32fcf4274e74fb3bac11e", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2" }, "conflict": { "doctrine/annotations": "<1.12", - "symfony/config": "<5.3", - "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" + "symfony/config": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.12", "psr/log": "^1|^2|^3", - "symfony/config": "^5.3|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0" + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/yaml": "^5.4|^6.0" }, "suggest": { "symfony/config": "For using the all-in-one router or any loader", @@ -10711,7 +10646,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.3" + "source": "https://github.com/symfony/routing/tree/v6.0.8" }, "funding": [ { @@ -10727,26 +10662,25 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-04-22T08:18:02+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.1", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c" + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/24d9dc654b83e91aa59f9d167b131bc3b5bea24c", - "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e517458f278c2131ca9f262f8fbaf01410f2c65c", + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=8.0.2", + "psr/container": "^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -10757,7 +10691,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -10794,7 +10728,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.0.1" }, "funding": [ { @@ -10810,38 +10744,37 @@ "type": "tidelift" } ], - "time": "2022-03-13T20:07:29+00:00" + "time": "2022-03-13T20:10:05+00:00" }, { "name": "symfony/string", - "version": "v5.4.3", + "version": "v6.0.9", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10" + "reference": "df9f03d595aa2d446498ba92fe803a519b2c43cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/92043b7d8383e48104e411bc9434b260dbeb5a10", - "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10", + "url": "https://api.github.com/repos/symfony/string/zipball/df9f03d595aa2d446498ba92fe803a519b2c43cc", + "reference": "df9f03d595aa2d446498ba92fe803a519b2c43cc", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/translation-contracts": ">=3.0" + "symfony/translation-contracts": "<2.0" }, "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/translation-contracts": "^2.0|^3.0", + "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -10880,7 +10813,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.3" + "source": "https://github.com/symfony/string/tree/v6.0.9" }, "funding": [ { @@ -10896,52 +10829,50 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-04-22T08:18:02+00:00" }, { "name": "symfony/translation", - "version": "v5.4.7", + "version": "v6.0.9", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e1eb790575202ee3ac2659f55b93b05853726f8e" + "reference": "9ba011309943955a3807b8236c17cff3b88f67b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e1eb790575202ee3ac2659f55b93b05853726f8e", - "reference": "e1eb790575202ee3ac2659f55b93b05853726f8e", + "url": "https://api.github.com/repos/symfony/translation/zipball/9ba011309943955a3807b8236c17cff3b88f67b6", + "reference": "9ba011309943955a3807b8236c17cff3b88f67b6", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.0.2", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^2.3" + "symfony/translation-contracts": "^2.3|^3.0" }, "conflict": { - "symfony/config": "<4.4", - "symfony/console": "<5.3", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/http-kernel": "<5.4", + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" }, "provide": { - "symfony/translation-implementation": "2.3" + "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", + "symfony/config": "^5.4|^6.0", "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", "symfony/http-client-contracts": "^1.1|^2.0|^3.0", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/intl": "^5.4|^6.0", "symfony/polyfill-intl-icu": "^1.21", "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^4.4|^5.0|^6.0" + "symfony/yaml": "^5.4|^6.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -10977,7 +10908,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.7" + "source": "https://github.com/symfony/translation/tree/v6.0.9" }, "funding": [ { @@ -10993,24 +10924,24 @@ "type": "tidelift" } ], - "time": "2022-03-24T17:09:09+00:00" + "time": "2022-05-06T14:27:17+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.5.1", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "1211df0afa701e45a04253110e959d4af4ef0f07" + "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/1211df0afa701e45a04253110e959d4af4ef0f07", - "reference": "1211df0afa701e45a04253110e959d4af4ef0f07", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", + "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=8.0.2" }, "suggest": { "symfony/translation-implementation": "" @@ -11018,7 +10949,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -11055,7 +10986,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.5.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.0.1" }, "funding": [ { @@ -11071,36 +11002,35 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.4.6", + "version": "v6.0.9", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "294e9da6e2e0dd404e983daa5aa74253d92c05d0" + "reference": "ac81072464221e73ee994d12f0b8a2af4a9ed798" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/294e9da6e2e0dd404e983daa5aa74253d92c05d0", - "reference": "294e9da6e2e0dd404e983daa5aa74253d92c05d0", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ac81072464221e73ee994d12f0b8a2af4a9ed798", + "reference": "ac81072464221e73ee994d12f0b8a2af4a9ed798", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "phpunit/phpunit": "<5.4.3", - "symfony/console": "<4.4" + "symfony/console": "<5.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/uid": "^5.1|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/uid": "^5.4|^6.0", "twig/twig": "^2.13|^3.0.4" }, "suggest": { @@ -11144,7 +11074,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.6" + "source": "https://github.com/symfony/var-dumper/tree/v6.0.9" }, "funding": [ { @@ -11160,7 +11090,7 @@ "type": "tidelift" } ], - "time": "2022-03-02T12:42:23+00:00" + "time": "2022-05-21T13:33:31+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -11297,16 +11227,16 @@ }, { "name": "voku/portable-ascii", - "version": "1.6.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a" + "reference": "b56450eed252f6801410d810c8e1727224ae0743" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a", - "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", "shasum": "" }, "require": { @@ -11343,7 +11273,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/1.6.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" }, "funding": [ { @@ -11367,7 +11297,7 @@ "type": "tidelift" } ], - "time": "2022-01-24T18:55:24+00:00" + "time": "2022-03-08T17:03:00+00:00" }, { "name": "webmozart/assert", @@ -11652,149 +11582,6 @@ ], "time": "2022-03-03T08:28:38+00:00" }, - { - "name": "facade/flare-client-php", - "version": "1.9.1", - "source": { - "type": "git", - "url": "https://github.com/facade/flare-client-php.git", - "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/b2adf1512755637d0cef4f7d1b54301325ac78ed", - "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed", - "shasum": "" - }, - "require": { - "facade/ignition-contracts": "~1.0", - "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", - "php": "^7.1|^8.0", - "symfony/http-foundation": "^3.3|^4.1|^5.0", - "symfony/mime": "^3.4|^4.0|^5.1", - "symfony/var-dumper": "^3.4|^4.0|^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "phpunit/phpunit": "^7.5.16", - "spatie/phpunit-snapshot-assertions": "^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Facade\\FlareClient\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Send PHP errors to Flare", - "homepage": "https://github.com/facade/flare-client-php", - "keywords": [ - "exception", - "facade", - "flare", - "reporting" - ], - "support": { - "issues": "https://github.com/facade/flare-client-php/issues", - "source": "https://github.com/facade/flare-client-php/tree/1.9.1" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-09-13T12:16:46+00:00" - }, - { - "name": "facade/ignition", - "version": "2.17.5", - "source": { - "type": "git", - "url": "https://github.com/facade/ignition.git", - "reference": "1d71996f83c9a5a7807331b8986ac890352b7a0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/1d71996f83c9a5a7807331b8986ac890352b7a0c", - "reference": "1d71996f83c9a5a7807331b8986ac890352b7a0c", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "facade/flare-client-php": "^1.9.1", - "facade/ignition-contracts": "^1.0.2", - "illuminate/support": "^7.0|^8.0", - "monolog/monolog": "^2.0", - "php": "^7.2.5|^8.0", - "symfony/console": "^5.0", - "symfony/var-dumper": "^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "livewire/livewire": "^2.4", - "mockery/mockery": "^1.3", - "orchestra/testbench": "^5.0|^6.0", - "psalm/plugin-laravel": "^1.2" - }, - "suggest": { - "laravel/telescope": "^3.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Facade\\Ignition\\IgnitionServiceProvider" - ], - "aliases": { - "Flare": "Facade\\Ignition\\Facades\\Flare" - } - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Facade\\Ignition\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A beautiful error page for Laravel applications.", - "homepage": "https://github.com/facade/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], - "support": { - "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", - "forum": "https://twitter.com/flareappio", - "issues": "https://github.com/facade/ignition/issues", - "source": "https://github.com/facade/ignition" - }, - "time": "2022-02-23T18:31:24+00:00" - }, { "name": "facade/ignition-contracts", "version": "1.0.2", @@ -12170,37 +11957,37 @@ }, { "name": "nunomaduro/collision", - "version": "v5.11.0", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461" + "reference": "c379636dc50e829edb3a8bcb944a01aa1aed8f25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/8b610eef8582ccdc05d8f2ab23305e2d37049461", - "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/c379636dc50e829edb3a8bcb944a01aa1aed8f25", + "reference": "c379636dc50e829edb3a8bcb944a01aa1aed8f25", "shasum": "" }, "require": { - "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.14.3", - "php": "^7.3 || ^8.0", - "symfony/console": "^5.0" + "facade/ignition-contracts": "^1.0.2", + "filp/whoops": "^2.14.5", + "php": "^8.0.0", + "symfony/console": "^6.0.2" }, "require-dev": { - "brianium/paratest": "^6.1", - "fideloper/proxy": "^4.4.1", - "fruitcake/laravel-cors": "^2.0.3", - "laravel/framework": "8.x-dev", - "nunomaduro/larastan": "^0.6.2", - "nunomaduro/mock-final-classes": "^1.0", - "orchestra/testbench": "^6.0", - "phpstan/phpstan": "^0.12.64", - "phpunit/phpunit": "^9.5.0" + "brianium/paratest": "^6.4.1", + "laravel/framework": "^9.7", + "nunomaduro/larastan": "^1.0.2", + "nunomaduro/mock-final-classes": "^1.1.0", + "orchestra/testbench": "^7.3.0", + "phpunit/phpunit": "^9.5.11" }, "type": "library", "extra": { + "branch-alias": { + "dev-develop": "6.x-dev" + }, "laravel": { "providers": [ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" @@ -12253,7 +12040,7 @@ "type": "patreon" } ], - "time": "2022-01-10T16:22:52+00:00" + "time": "2022-04-05T15:31:38+00:00" }, { "name": "phar-io/manifest", @@ -12366,6 +12153,63 @@ }, "time": "2022-02-21T01:04:05+00:00" }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" + }, + "time": "2021-10-19T17:43:47+00:00" + }, { "name": "phploc/phploc", "version": "7.0.2", @@ -13879,6 +13723,302 @@ ], "time": "2020-09-28T06:39:44+00:00" }, + { + "name": "spatie/backtrace", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/backtrace.git", + "reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/4ee7d41aa5268107906ea8a4d9ceccde136dbd5b", + "reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "ext-json": "*", + "phpunit/phpunit": "^9.3", + "symfony/var-dumper": "^5.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Backtrace\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", + "keywords": [ + "Backtrace", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/backtrace/issues", + "source": "https://github.com/spatie/backtrace/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2021-11-09T10:57:15+00:00" + }, + { + "name": "spatie/flare-client-php", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "86a380f5b1ce839af04a08f1c8f2697184cdf23f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/86a380f5b1ce839af04a08f1c8f2697184cdf23f", + "reference": "86a380f5b1ce839af04a08f1c8f2697184cdf23f", + "shasum": "" + }, + "require": { + "illuminate/pipeline": "^8.0|^9.0", + "php": "^8.0", + "spatie/backtrace": "^1.2", + "symfony/http-foundation": "^5.0|^6.0", + "symfony/mime": "^5.2|^6.0", + "symfony/process": "^5.2|^6.0", + "symfony/var-dumper": "^5.2|^6.0" + }, + "require-dev": { + "dms/phpunit-arraysubset-asserts": "^0.3.0", + "pestphp/pest": "^1.20", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/phpunit-snapshot-assertions": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.1.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\FlareClient\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/spatie/flare-client-php", + "keywords": [ + "exception", + "flare", + "reporting", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/flare-client-php/issues", + "source": "https://github.com/spatie/flare-client-php/tree/1.2.0" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-05-16T12:13:39+00:00" + }, + { + "name": "spatie/ignition", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/ignition.git", + "reference": "997363fbcce809b1e55f571997d49017f9c623d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/ignition/zipball/997363fbcce809b1e55f571997d49017f9c623d9", + "reference": "997363fbcce809b1e55f571997d49017f9c623d9", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "monolog/monolog": "^2.0", + "php": "^8.0", + "spatie/flare-client-php": "^1.1", + "symfony/console": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" + }, + "require-dev": { + "mockery/mockery": "^1.4", + "pestphp/pest": "^1.20", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "symfony/process": "^5.4|^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for PHP applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/ignition/issues", + "source": "https://github.com/spatie/ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-05-16T13:16:07+00:00" + }, + { + "name": "spatie/laravel-ignition", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-ignition.git", + "reference": "51e5daaa7e43c154fe57f1ddfbba862f9fe57646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/51e5daaa7e43c154fe57f1ddfbba862f9fe57646", + "reference": "51e5daaa7e43c154fe57f1ddfbba862f9fe57646", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/support": "^8.77|^9.0", + "monolog/monolog": "^2.3", + "php": "^8.0", + "spatie/flare-client-php": "^1.0.1", + "spatie/ignition": "^1.2.4", + "symfony/console": "^5.0|^6.0", + "symfony/var-dumper": "^5.0|^6.0" + }, + "require-dev": { + "filp/whoops": "^2.14", + "livewire/livewire": "^2.8|dev-develop", + "mockery/mockery": "^1.4", + "nunomaduro/larastan": "^1.0", + "orchestra/testbench": "^6.23|^7.0", + "pestphp/pest": "^1.20", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/laravel-ray": "^1.27" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\LaravelIgnition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/laravel-ignition/issues", + "source": "https://github.com/spatie/laravel-ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-05-05T15:53:24+00:00" + }, { "name": "theseer/tokenizer", "version": "1.2.1", @@ -13931,16 +14071,16 @@ }, { "name": "wnx/laravel-stats", - "version": "v2.9.0", + "version": "v2.9.1", "source": { "type": "git", "url": "https://github.com/stefanzweifel/laravel-stats.git", - "reference": "3d43af3bda6d70ba6ab820e247963a6bae795b1f" + "reference": "6faa785d4211b298ea1c038f23ec02bc61a6619d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stefanzweifel/laravel-stats/zipball/3d43af3bda6d70ba6ab820e247963a6bae795b1f", - "reference": "3d43af3bda6d70ba6ab820e247963a6bae795b1f", + "url": "https://api.github.com/repos/stefanzweifel/laravel-stats/zipball/6faa785d4211b298ea1c038f23ec02bc61a6619d", + "reference": "6faa785d4211b298ea1c038f23ec02bc61a6619d", "shasum": "" }, "require": { @@ -13998,7 +14138,7 @@ ], "support": { "issues": "https://github.com/stefanzweifel/laravel-stats/issues", - "source": "https://github.com/stefanzweifel/laravel-stats/tree/v2.9.0" + "source": "https://github.com/stefanzweifel/laravel-stats/tree/v2.9.1" }, "funding": [ { @@ -14010,18 +14150,33 @@ "type": "github" } ], - "time": "2022-03-22T18:47:59+00:00" + "time": "2022-05-31T08:12:06+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "akaunting/module-offline-payments": 20, + "akaunting/module-paypal-standard": 20, + "graham-campbell/markdown": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^7.3.0", - "ext-bcmath": "*" + "php": "^8.0.2", + "ext-bcmath": "*", + "ext-ctype": "*", + "ext-curl": "*", + "ext-dom": "*", + "ext-fileinfo": "*", + "ext-gd": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "ext-zip": "*" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.2.0" } diff --git a/config/apexcharts.php b/config/apexcharts.php new file mode 100644 index 000000000..324f6cf89 --- /dev/null +++ b/config/apexcharts.php @@ -0,0 +1,80 @@ + [ + 'chart' => [ + 'width' => '100%', + 'height' => 300, + 'toolbar' => [ + 'show' => false, + ], + 'stacked' => false, + 'zoom' => [ + 'enabled' => false, + ], + 'fontFamily' => '"Quicksand", sans-serif', + 'foreColor' => '#595959', + ], + + 'legend' => [ + 'horizontalAlign' => 'left', + ], + + 'dataLabels' => [ + 'enabled' => false, + ], + + 'grid' => [ + 'show' => true, + 'borderColor' => '#E5E7EB', + ], + + 'markers' => [ + 'size' => 5, + /*'colors' => [ + '#ffffff', + ], + 'strokeColors' => '#444444', + 'strokeWidth' => 2,*/ + 'hover' => [ + 'size' => 8, + ], + ], + + 'states' => [ + 'hover' => [ + 'filter' => [ + 'value' => 0.01, + ], + ], + ], + + 'stroke' => [ + 'show' => true, + 'curve' => 'straight', + 'width' => 2, + ], + + 'fill' => [ + 'opacity' => 1, + ], + + 'tooltip' => [ + 'shared' => false, + 'followCursor' => true, + 'onDatasetHover' => [ + 'highlightDataSeries' => true, + ], + ], + + 'xaxis' => [ + 'labels' => [ + 'rotate' => 0, + ], + 'tickAmount' => 3, + ], + + ], + +]; diff --git a/config/api.php b/config/api.php index f58f739ca..d374a644c 100644 --- a/config/api.php +++ b/config/api.php @@ -1,5 +1,6 @@ env('API_SUBTYPE', 'api'), + 'subtype' => env('API_SUBTYPE', 'akaunting'), /* |-------------------------------------------------------------------------- @@ -70,7 +71,7 @@ return [ | */ - 'domain' => env('API_DOMAIN', null), + 'domain' => env('API_DOMAIN'), /* |-------------------------------------------------------------------------- @@ -123,7 +124,7 @@ return [ | */ - 'debug' => env('API_DEBUG', true), + 'debug' => env('API_DEBUG', false), /* |-------------------------------------------------------------------------- @@ -137,7 +138,7 @@ return [ | */ - 'errorFormat' => [ + 'error_format' => [ 'message' => ':message', 'errors' => ':errors', 'code' => ':code', @@ -154,27 +155,11 @@ return [ | */ - 'middleware' => [ - - ], + 'middleware' => explode(',', env('API_MIDDLEWARE', 'api')), /* |-------------------------------------------------------------------------- - | Authentication Providers - |-------------------------------------------------------------------------- - | - | The authentication providers that should be used when attempting to - | authenticate an incoming API request. - | - */ - - 'auth' => [ - 'basic' => 'Dingo\Api\Auth\Provider\Basic', - ], - - /* - |-------------------------------------------------------------------------- - | Throttling / Rate Limiting + | Rate Limit (Throttle) |-------------------------------------------------------------------------- | | Consumers of your API can be limited to the amount of requests they can @@ -183,51 +168,8 @@ return [ | */ - 'throttling' => [ - - ], - - /* - |-------------------------------------------------------------------------- - | Response Transformer - |-------------------------------------------------------------------------- - | - | Responses can be transformed so that they are easier to format. By - | default a Fractal transformer will be used to transform any - | responses prior to formatting. You can easily replace - | this with your own transformer. - | - */ - - 'transformer' => env('API_TRANSFORMER', Dingo\Api\Transformer\Adapter\Fractal::class), - - /* - |-------------------------------------------------------------------------- - | Response Formats - |-------------------------------------------------------------------------- - | - | Responses can be returned in multiple formats by registering different - | response formatters. You can also customize an existing response - | formatter with a number of options to configure its output. - | - */ - - 'defaultFormat' => env('API_DEFAULT_FORMAT', 'json'), - - 'formats' => [ - - 'json' => Dingo\Api\Http\Response\Format\Json::class, - - ], - - 'formatsOptions' => [ - - 'json' => [ - 'pretty_print' => env('API_JSON_FORMAT_PRETTY_PRINT_ENABLED', false), - 'indent_style' => env('API_JSON_FORMAT_INDENT_STYLE', 'space'), - 'indent_size' => env('API_JSON_FORMAT_INDENT_SIZE', 2), - ], - + 'rate_limit' => [ + Limit::perMinute(env('API_RATE_LIMIT', 60)), ], ]; diff --git a/config/app.php b/config/app.php index 24c5f0404..dbf827b95 100644 --- a/config/app.php +++ b/config/app.php @@ -1,5 +1,7 @@ env('APP_URL', ''), - 'asset_url' => env('ASSET_URL', null), + 'asset_url' => env('ASSET_URL'), /* |-------------------------------------------------------------------------- @@ -184,7 +186,6 @@ return [ App\Providers\Blade::class, // App\Providers\Broadcast::class, App\Providers\Event::class, - App\Providers\Form::class, App\Providers\Macro::class, App\Providers\Observer::class, App\Providers\Queue::class, @@ -205,47 +206,8 @@ return [ | */ - 'aliases' => [ - - 'App' => Illuminate\Support\Facades\App::class, - 'Arr' => Illuminate\Support\Arr::class, - 'Artisan' => Illuminate\Support\Facades\Artisan::class, - 'Auth' => Illuminate\Support\Facades\Auth::class, - 'Blade' => Illuminate\Support\Facades\Blade::class, - 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, - 'Bus' => Illuminate\Support\Facades\Bus::class, - 'Cache' => Illuminate\Support\Facades\Cache::class, - 'Config' => Illuminate\Support\Facades\Config::class, - 'Cookie' => Illuminate\Support\Facades\Cookie::class, - 'Crypt' => Illuminate\Support\Facades\Crypt::class, + 'aliases' => Facade::defaultAliases()->merge([ 'Date' => App\Utilities\Date::class, - 'DB' => Illuminate\Support\Facades\DB::class, - 'Eloquent' => Illuminate\Database\Eloquent\Model::class, - 'Event' => Illuminate\Support\Facades\Event::class, - 'File' => Illuminate\Support\Facades\File::class, - 'Gate' => Illuminate\Support\Facades\Gate::class, - 'Hash' => Illuminate\Support\Facades\Hash::class, - 'Http' => Illuminate\Support\Facades\Http::class, - 'Lang' => Illuminate\Support\Facades\Lang::class, - 'Log' => Illuminate\Support\Facades\Log::class, - 'Mail' => Illuminate\Support\Facades\Mail::class, - 'Notification' => Illuminate\Support\Facades\Notification::class, - 'Password' => Illuminate\Support\Facades\Password::class, - 'Queue' => Illuminate\Support\Facades\Queue::class, - 'RateLimiter' => Illuminate\Support\Facades\RateLimiter::class, - 'Redirect' => Illuminate\Support\Facades\Redirect::class, - 'Redis' => Illuminate\Support\Facades\Redis::class, - 'Request' => Illuminate\Support\Facades\Request::class, - 'Response' => Illuminate\Support\Facades\Response::class, - 'Route' => Illuminate\Support\Facades\Route::class, - 'Schema' => Illuminate\Support\Facades\Schema::class, - 'Session' => Illuminate\Support\Facades\Session::class, - 'Storage' => Illuminate\Support\Facades\Storage::class, - 'Str' => Illuminate\Support\Str::class, - 'URL' => Illuminate\Support\Facades\URL::class, - 'Validator' => Illuminate\Support\Facades\Validator::class, - 'View' => Illuminate\Support\Facades\View::class, - - ], + ])->toArray(), ]; diff --git a/config/auth.php b/config/auth.php index 35bc71c7e..75a6c0406 100644 --- a/config/auth.php +++ b/config/auth.php @@ -86,7 +86,7 @@ return [ | than one user table or model in the application and you want to have | separate password reset settings based on the specific user types. | - | The expire time is the number of minutes that the reset token should be + | The expire time is the number of minutes that each reset token will be | considered valid. This security feature keeps tokens short-lived so | they have less time to be guessed. You may change this as needed. | diff --git a/config/broadcasting.php b/config/broadcasting.php index 2d529820c..67fcbbd6c 100644 --- a/config/broadcasting.php +++ b/config/broadcasting.php @@ -39,6 +39,9 @@ return [ 'cluster' => env('PUSHER_APP_CLUSTER'), 'useTLS' => true, ], + 'client_options' => [ + // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html + ], ], 'ably' => [ diff --git a/config/cache.php b/config/cache.php index 681d02e4f..bc0583dce 100644 --- a/config/cache.php +++ b/config/cache.php @@ -105,6 +105,6 @@ return [ | */ - 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache'), + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache_'), ]; diff --git a/config/columnsortable.php b/config/columnsortable.php deleted file mode 100644 index cdd817e9f..000000000 --- a/config/columnsortable.php +++ /dev/null @@ -1,106 +0,0 @@ - [ - 'alpha' => [ - 'rows' => ['name', 'contact_name', 'customer_name', 'vendor_name', 'display_name', 'company_name', 'domain', 'email', 'description', 'code', 'type', 'status', 'vendor', 'account', 'category'], - 'class' => 'fas fa-sort-alpha', - ], - 'amount' => [ - 'rows' => ['amount', 'price', 'sale_price', 'purchase_price', 'total_price', 'current_balance', 'total_price', 'opening_balance'], - 'class' => 'fas fa-sort-amount', - ], - 'numeric' => [ - 'rows' => ['created_at', 'updated_at', 'paid_at', 'issued_at', 'due_at', 'id', 'quantity', 'rate', 'number', 'document_number'], - 'class' => 'fas fa-sort-numeric', - ], - ], - - /* - whether icons should be enabled - */ - 'enable_icons' => true, - - /* - defines icon set to use when sorted data is none above (alpha nor amount nor numeric) - */ - 'default_icon_set' => 'fas fa-arrow-down sort-icon', - - /* - icon that shows when generating sortable link while column is not sorted - */ - 'sortable_icon' => 'fas fa-arrow-down sort-icon', - - /* - generated icon is clickable non-clickable (default) - */ - 'clickable_icon' => false, - - /* - icon and text separator (any string) - in case of 'clickable_icon' => true; separator creates possibility to style icon and anchor-text properly - */ - 'icon_text_separator' => '  ', - - /* - suffix class that is appended when ascending order is applied - */ - 'asc_suffix' => '-down', - - /* - suffix class that is appended when descending order is applied - */ - 'desc_suffix' => '-up', - - /* - default anchor class, if value is null none is added - */ - 'anchor_class' => null, - - /* - relation - column separator ex: detail.phone_number means relation "detail" and column "phone_number" - */ - 'uri_relation_column_separator' => '.', - - /* - formatting function applied to name of column, use null to turn formatting off - */ - 'formatting_function' => 'ucfirst', - - /* - inject title parameter in query strings, use null to turn injection off - example: 'inject_title' => 't' will result in ..user/?t="formatted title of sorted column" - */ - 'inject_title_as' => null, - - /* - allow request modification, when default sorting is set but is not in URI (first load) - */ - 'allow_request_modification' => true, - - /* - default order for: $user->sortable('id') usage - */ - 'default_direction' => 'asc', - - /* - default order for non-sorted columns - */ - 'default_direction_unsorted' => 'asc', - - /* - use the first defined sortable column (Model::$sortable) as default - also applies if sorting parameters are invalid for example: 'sort' => 'name', 'direction' => '' - */ - 'default_first_column' => false, - - /* - join type: join vs leftJoin (default leftJoin) - for more information see https://github.com/Kyslik/column-sortable/issues/59 - */ - 'join_type' => 'leftJoin', -]; diff --git a/config/cors.php b/config/cors.php index 884143795..af5ba782e 100644 --- a/config/cors.php +++ b/config/cors.php @@ -15,7 +15,7 @@ return [ | */ - 'paths' => [env('API_SUBTYPE', 'api') . '/*'], + 'paths' => [env('API_PREFIX', 'api') . '/*'], 'allowed_methods' => ['*'], diff --git a/config/database.php b/config/database.php index 2c9002a1a..7f8c603c1 100644 --- a/config/database.php +++ b/config/database.php @@ -92,7 +92,7 @@ return [ 'charset' => 'utf8', 'prefix' => env('DB_PREFIX', 'ak_'), 'prefix_indexes' => true, - 'schema' => 'public', + 'search_path' => 'public', 'sslmode' => 'prefer', ], @@ -147,7 +147,7 @@ return [ 'default' => [ 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), - 'password' => env('REDIS_PASSWORD', null), + 'password' => env('REDIS_PASSWORD'), 'port' => env('REDIS_PORT', '6379'), 'database' => env('REDIS_DB', '0'), ], diff --git a/config/debugbar.php b/config/debugbar.php index 9e9770780..6f7fb4c4f 100644 --- a/config/debugbar.php +++ b/config/debugbar.php @@ -147,7 +147,7 @@ return [ 'types' => ['SELECT'], // // workaround ['SELECT'] only. https://github.com/barryvdh/laravel-debugbar/issues/888 ['SELECT', 'INSERT', 'UPDATE', 'DELETE']; for MySQL 5.6.3+ ], 'hints' => true, // Show hints for common mistakes - 'show_copy' => true, // Show copy button next to the query + 'show_copy' => true, // Show copy button next to the query ], 'mail' => [ 'full_log' => false diff --git a/config/dompdf.php b/config/dompdf.php index 143cfbe3c..51879fb5b 100644 --- a/config/dompdf.php +++ b/config/dompdf.php @@ -15,6 +15,11 @@ return [ 'orientation' => 'portrait', + /* + * Dejavu Sans font is missing glyphs for converted entities, turn it off if you need to show € and £. + */ + 'convert_entities' => false, + 'defines' => [ /** * The location of the DOMPDF font directory @@ -40,7 +45,7 @@ return [ * Times-Roman, Times-Bold, Times-BoldItalic, Times-Italic, * Symbol, ZapfDingbats. */ - "font_dir" => storage_path('fonts/'), // advised by dompdf (https://github.com/dompdf/dompdf/pull/782) + "font_dir" => storage_path('fonts'), // advised by dompdf (https://github.com/dompdf/dompdf/pull/782) /** * The location of the DOMPDF font cache directory @@ -50,7 +55,7 @@ return [ * * Note: This directory must exist and be writable by the webserver process. */ - "font_cache" => storage_path('fonts/'), + "font_cache" => storage_path('fonts'), /** * The location of a temporary directory. diff --git a/config/filesystems.php b/config/filesystems.php index cec9a49bd..d4c1d1df0 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -13,7 +13,7 @@ return [ | */ - 'default' => env('FILESYSTEM_DRIVER', 'uploads'), + 'default' => env('FILESYSTEM_DISK', 'uploads'), /* |-------------------------------------------------------------------------- @@ -52,7 +52,7 @@ return [ | | Here you may configure as many filesystem "disks" as you wish, and you | may even configure multiple disks of the same driver. Defaults have - | been setup for each driver as an example of the required options. + | been set up for each driver as an example of the required values. | | Supported Drivers: "local", "ftp", "sftp", "s3" | diff --git a/config/hashing.php b/config/hashing.php index 842577087..bcd3be4c2 100644 --- a/config/hashing.php +++ b/config/hashing.php @@ -44,9 +44,9 @@ return [ */ 'argon' => [ - 'memory' => 1024, - 'threads' => 2, - 'time' => 2, + 'memory' => 65536, + 'threads' => 1, + 'time' => 4, ], ]; diff --git a/config/language.php b/config/language.php index edc32f503..f1d04b2be 100644 --- a/config/language.php +++ b/config/language.php @@ -33,6 +33,17 @@ return [ */ 'url' => false, + /* + |-------------------------------------------------------------------------- + | Set strategy + |-------------------------------------------------------------------------- + | + | This option will determine the strategy used to determine the back url. + | It can be 'session' (default) or 'referer' + | + */ + 'back' => 'session', + /* |-------------------------------------------------------------------------- | Carbon Language @@ -109,7 +120,10 @@ return [ | Language code mode |-------------------------------------------------------------------------- | - | This option indicates the language code to be used, short or long + | This option indicates the language code and name to be used, short/long + | and english/native. + | Short: language code (en) + | Long: languagecode-COUNTRYCODE (en-GB) | */ 'mode' => ['code' => 'long', 'name' => 'native'], @@ -119,79 +133,74 @@ return [ | Allowed languages |-------------------------------------------------------------------------- | - | This options indicates the allowed languages. + | This options indicates the language allowed languages. | */ 'allowed' => ['ar-SA', 'az-AZ', 'bg-BG', 'bn-BD', 'bs-BA', 'ca-ES', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-AU', 'en-GB', 'en-US', 'es-AR', 'es-ES', 'es-MX', 'et-EE', 'fa-IR', 'fr-FR', 'he-IL', 'hi-IN', 'hr-HR', 'hu-HU', 'id-ID', 'is-IS', 'it-IT', 'ja-JP', 'ka-GE', 'ko-KR', 'lt-LT', 'lv-LV', 'mk-MK', 'ms-MY', 'nb-NO', 'ne-NP', 'nl-NL', 'pl-PL', 'pt-BR', 'pt-PT', 'ro-RO', 'ru-RU', 'sk-SK', 'sl-SI', 'sr-RS', 'sq-AL', 'sv-SE', 'th-TH', 'tr-TR', 'uk-UA', 'ur-PK', 'uz-UZ', 'vi-VN', 'zh-CN', 'zh-TW'], /* |-------------------------------------------------------------------------- - | All languages + | All Languages |-------------------------------------------------------------------------- | | This option indicates the language codes and names. | */ 'all' => [ - ['short' => 'ar', 'long' => 'ar-SA', 'english' => 'Arabic', 'native' => 'العربية'], - ['short' => 'az', 'long' => 'az-AZ', 'english' => 'Azerbaijani', 'native' => 'Azərbaycan'], - ['short' => 'bg', 'long' => 'bg-BG', 'english' => 'Bulgarian', 'native' => 'български'], - ['short' => 'bn', 'long' => 'bn-BD', 'english' => 'Bengali', 'native' => 'বাংলা'], - ['short' => 'bs', 'long' => 'bs-BA', 'english' => 'Bosnian', 'native' => 'Bosanski'], - ['short' => 'ca', 'long' => 'ca-ES', 'english' => 'Catalan', 'native' => 'Català'], - ['short' => 'cn', 'long' => 'zh-CN', 'english' => 'Chinese (S)', 'native' => '简体中文'], - ['short' => 'cs', 'long' => 'cs-CZ', 'english' => 'Czech', 'native' => 'Čeština'], - ['short' => 'da', 'long' => 'da-DK', 'english' => 'Danish', 'native' => 'Dansk'], - ['short' => 'de', 'long' => 'de-DE', 'english' => 'German', 'native' => 'Deutsch'], - ['short' => 'de', 'long' => 'de-AT', 'english' => 'Austrian', 'native' => 'Österreichisches Deutsch'], - ['short' => 'fi', 'long' => 'fi-FI', 'english' => 'Finnish', 'native' => 'Suomi'], - ['short' => 'fr', 'long' => 'fr-FR', 'english' => 'French', 'native' => 'Français'], - ['short' => 'ea', 'long' => 'es-AR', 'english' => 'Spanish (Argentina)', 'native' => 'Español de Argentina'], - ['short' => 'el', 'long' => 'el-GR', 'english' => 'Greek', 'native' => 'Ελληνικά'], - ['short' => 'en', 'long' => 'en-AU', 'english' => 'English (AU)', 'native' => 'English (AU)'], - ['short' => 'en', 'long' => 'en-CA', 'english' => 'English (CA)', 'native' => 'English (CA)'], - ['short' => 'en', 'long' => 'en-GB', 'english' => 'English (GB)', 'native' => 'English (GB)'], - ['short' => 'en', 'long' => 'en-US', 'english' => 'English (US)', 'native' => 'English (US)'], - ['short' => 'es', 'long' => 'es-ES', 'english' => 'Spanish', 'native' => 'Español'], - ['short' => 'et', 'long' => 'et-EE', 'english' => 'Estonian', 'native' => 'Eesti'], - ['short' => 'he', 'long' => 'he-IL', 'english' => 'Hebrew', 'native' => 'עִבְרִית'], - ['short' => 'hi', 'long' => 'hi-IN', 'english' => 'Hindi', 'native' => 'हिन्दी'], - ['short' => 'hr', 'long' => 'hr-HR', 'english' => 'Croatian', 'native' => 'Hrvatski'], - ['short' => 'hu', 'long' => 'hu-HU', 'english' => 'Hungarian', 'native' => 'Magyar'], - ['short' => 'hy', 'long' => 'hy-AM', 'english' => 'Armenian', 'native' => 'Հայերեն'], - ['short' => 'id', 'long' => 'id-ID', 'english' => 'Indonesian', 'native' => 'Bahasa Indonesia'], - ['short' => 'is', 'long' => 'is-IS', 'english' => 'Icelandic', 'native' => 'Íslenska'], - ['short' => 'it', 'long' => 'it-IT', 'english' => 'Italian', 'native' => 'Italiano'], - ['short' => 'ir', 'long' => 'fa-IR', 'english' => 'Persian', 'native' => 'فارسی'], - ['short' => 'jp', 'long' => 'ja-JP', 'english' => 'Japanese', 'native' => '日本語'], - ['short' => 'ka', 'long' => 'ka-GE', 'english' => 'Georgian', 'native' => 'ქართული'], - ['short' => 'ko', 'long' => 'ko-KR', 'english' => 'Korean', 'native' => '한국어'], - ['short' => 'lt', 'long' => 'lt-LT', 'english' => 'Lithuanian', 'native' => 'Lietuvių'], - ['short' => 'lv', 'long' => 'lv-LV', 'english' => 'Latvian', 'native' => 'Latviešu valoda'], - ['short' => 'mk', 'long' => 'mk-MK', 'english' => 'Macedonian', 'native' => 'Македонски јазик'], - ['short' => 'ms', 'long' => 'ms-MY', 'english' => 'Malay', 'native' => 'Bahasa Melayu'], - ['short' => 'mx', 'long' => 'es-MX', 'english' => 'Spanish (Mexico)', 'native' => 'Español de México'], - ['short' => 'nb', 'long' => 'nb-NO', 'english' => 'Norwegian', 'native' => 'Norsk Bokmål'], - ['short' => 'ne', 'long' => 'ne-NP', 'english' => 'Nepali', 'native' => 'नेपाली'], - ['short' => 'nl', 'long' => 'nl-NL', 'english' => 'Dutch', 'native' => 'Nederlands'], - ['short' => 'pl', 'long' => 'pl-PL', 'english' => 'Polish', 'native' => 'Polski'], - ['short' => 'pt-BR', 'long' => 'pt-BR', 'english' => 'Brazilian', 'native' => 'Português do Brasil'], - ['short' => 'pt', 'long' => 'pt-PT', 'english' => 'Portuguese', 'native' => 'Português'], - ['short' => 'ro', 'long' => 'ro-RO', 'english' => 'Romanian', 'native' => 'Română'], - ['short' => 'ru', 'long' => 'ru-RU', 'english' => 'Russian', 'native' => 'Русский'], - ['short' => 'sr', 'long' => 'sr-RS', 'english' => 'Serbian (Cyrillic)', 'native' => 'Српски језик'], - ['short' => 'sr', 'long' => 'sr-CS', 'english' => 'Serbian (Latin)', 'native' => 'Српски језик'], - ['short' => 'sq', 'long' => 'sq-AL', 'english' => 'Albanian', 'native' => 'Shqip'], - ['short' => 'sk', 'long' => 'sk-SK', 'english' => 'Slovak', 'native' => 'Slovenčina'], - ['short' => 'sl', 'long' => 'sl-SI', 'english' => 'Slovenian', 'native' => 'Slovenščina'], - ['short' => 'sv', 'long' => 'sv-SE', 'english' => 'Swedish', 'native' => 'Svenska'], - ['short' => 'th', 'long' => 'th-TH', 'english' => 'Thai', 'native' => 'ไทย'], - ['short' => 'tr', 'long' => 'tr-TR', 'english' => 'Turkish', 'native' => 'Türkçe'], - ['short' => 'tw', 'long' => 'zh-TW', 'english' => 'Chinese (T)', 'native' => '繁體中文'], - ['short' => 'uk', 'long' => 'uk-UA', 'english' => 'Ukrainian', 'native' => 'Українська'], - ['short' => 'ur', 'long' => 'ur-PK', 'english' => 'Urdu (Pakistan)', 'native' => 'اردو'], - ['short' => 'uz', 'long' => 'uz-UZ', 'english' => 'Uzbek', 'native' => 'O‘zbekcha'], - ['short' => 'vi', 'long' => 'vi-VN', 'english' => 'Vietnamese', 'native' => 'Tiếng Việt'], + ['short' => 'ar', 'long' => 'ar-SA', 'english' => 'Arabic', 'native' => 'العربية', 'direction' => 'rtl'], + ['short' => 'bg', 'long' => 'bg-BG', 'english' => 'Bulgarian', 'native' => 'български', 'direction' => 'ltr'], + ['short' => 'bn', 'long' => 'bn-BD', 'english' => 'Bengali', 'native' => 'বাংলা', 'direction' => 'ltr'], + ['short' => 'cn', 'long' => 'zh-CN', 'english' => 'Chinese (S)', 'native' => '简体中文', 'direction' => 'ltr'], + ['short' => 'cs', 'long' => 'cs-CZ', 'english' => 'Czech', 'native' => 'Čeština', 'direction' => 'ltr'], + ['short' => 'da', 'long' => 'da-DK', 'english' => 'Danish', 'native' => 'Dansk', 'direction' => 'ltr'], + ['short' => 'de', 'long' => 'de-DE', 'english' => 'German', 'native' => 'Deutsch', 'direction' => 'ltr'], + ['short' => 'de', 'long' => 'de-AT', 'english' => 'Austrian', 'native' => 'Österreichisches Deutsch', 'direction' => 'ltr'], + ['short' => 'fi', 'long' => 'fi-FI', 'english' => 'Finnish', 'native' => 'Suomi', 'direction' => 'ltr'], + ['short' => 'fr', 'long' => 'fr-FR', 'english' => 'French', 'native' => 'Français', 'direction' => 'ltr'], + ['short' => 'el', 'long' => 'el-GR', 'english' => 'Greek', 'native' => 'Ελληνικά', 'direction' => 'ltr'], + ['short' => 'en', 'long' => 'en-AU', 'english' => 'English (AU)', 'native' => 'English (AU)', 'direction' => 'ltr'], + ['short' => 'en', 'long' => 'en-CA', 'english' => 'English (CA)', 'native' => 'English (CA)', 'direction' => 'ltr'], + ['short' => 'en', 'long' => 'en-GB', 'english' => 'English (GB)', 'native' => 'English (GB)', 'direction' => 'ltr'], + ['short' => 'en', 'long' => 'en-US', 'english' => 'English (US)', 'native' => 'English (US)', 'direction' => 'ltr'], + ['short' => 'es', 'long' => 'es-ES', 'english' => 'Spanish', 'native' => 'Español', 'direction' => 'ltr'], + ['short' => 'et', 'long' => 'et-EE', 'english' => 'Estonian', 'native' => 'Eesti', 'direction' => 'ltr'], + ['short' => 'he', 'long' => 'he-IL', 'english' => 'Hebrew', 'native' => 'עִבְרִית', 'direction' => 'rtl'], + ['short' => 'hi', 'long' => 'hi-IN', 'english' => 'Hindi', 'native' => 'हिन्दी', 'direction' => 'ltr'], + ['short' => 'hr', 'long' => 'hr-HR', 'english' => 'Croatian', 'native' => 'Hrvatski', 'direction' => 'ltr'], + ['short' => 'hu', 'long' => 'hu-HU', 'english' => 'Hungarian', 'native' => 'Magyar', 'direction' => 'ltr'], + ['short' => 'hy', 'long' => 'hy-AM', 'english' => 'Armenian', 'native' => 'Հայերեն', 'direction' => 'ltr'], + ['short' => 'id', 'long' => 'id-ID', 'english' => 'Indonesian', 'native' => 'Bahasa Indonesia', 'direction' => 'ltr'], + ['short' => 'it', 'long' => 'it-IT', 'english' => 'Italian', 'native' => 'Italiano', 'direction' => 'ltr'], + ['short' => 'ir', 'long' => 'fa-IR', 'english' => 'Persian', 'native' => 'فارسی', 'direction' => 'rtl'], + ['short' => 'jp', 'long' => 'ja-JP', 'english' => 'Japanese', 'native' => '日本語', 'direction' => 'ltr'], + ['short' => 'ka', 'long' => 'ka-GE', 'english' => 'Georgian', 'native' => 'ქართული', 'direction' => 'ltr'], + ['short' => 'ko', 'long' => 'ko-KR', 'english' => 'Korean', 'native' => '한국어', 'direction' => 'ltr'], + ['short' => 'lt', 'long' => 'lt-LT', 'english' => 'Lithuanian', 'native' => 'Lietuvių', 'direction' => 'ltr'], + ['short' => 'lv', 'long' => 'lv-LV', 'english' => 'Latvian', 'native' => 'Latviešu valoda', 'direction' => 'ltr'], + ['short' => 'mk', 'long' => 'mk-MK', 'english' => 'Macedonian', 'native' => 'Македонски јазик', 'direction' => 'ltr'], + ['short' => 'ms', 'long' => 'ms-MY', 'english' => 'Malay', 'native' => 'Bahasa Melayu', 'direction' => 'ltr'], + ['short' => 'mx', 'long' => 'es-MX', 'english' => 'Mexico', 'native' => 'Español de México', 'direction' => 'ltr'], + ['short' => 'nb', 'long' => 'nb-NO', 'english' => 'Norwegian', 'native' => 'Norsk Bokmål', 'direction' => 'ltr'], + ['short' => 'ne', 'long' => 'ne-NP', 'english' => 'Nepali', 'native' => 'नेपाली', 'direction' => 'ltr'], + ['short' => 'nl', 'long' => 'nl-NL', 'english' => 'Dutch', 'native' => 'Nederlands', 'direction' => 'ltr'], + ['short' => 'pl', 'long' => 'pl-PL', 'english' => 'Polish', 'native' => 'Polski', 'direction' => 'ltr'], + ['short' => 'pt-BR', 'long' => 'pt-BR', 'english' => 'Brazilian', 'native' => 'Português do Brasil', 'direction' => 'ltr'], + ['short' => 'pt', 'long' => 'pt-PT', 'english' => 'Portuguese', 'native' => 'Português', 'direction' => 'ltr'], + ['short' => 'ro', 'long' => 'ro-RO', 'english' => 'Romanian', 'native' => 'Română', 'direction' => 'ltr'], + ['short' => 'ru', 'long' => 'ru-RU', 'english' => 'Russian', 'native' => 'Русский', 'direction' => 'ltr'], + ['short' => 'sr', 'long' => 'sr-RS', 'english' => 'Serbian (Cyrillic)', 'native' => 'Српски језик', 'direction' => 'ltr'], + ['short' => 'sr', 'long' => 'sr-CS', 'english' => 'Serbian (Latin)', 'native' => 'Српски језик', 'direction' => 'ltr'], + ['short' => 'sq', 'long' => 'sq-AL', 'english' => 'Albanian', 'native' => 'Shqip', 'direction' => 'ltr'], + ['short' => 'sk', 'long' => 'sk-SK', 'english' => 'Slovak', 'native' => 'Slovenčina', 'direction' => 'ltr'], + ['short' => 'sl', 'long' => 'sl-SL', 'english' => 'Slovenian', 'native' => 'Slovenščina', 'direction' => 'ltr'], + ['short' => 'sv', 'long' => 'sv-SE', 'english' => 'Swedish', 'native' => 'Svenska', 'direction' => 'ltr'], + ['short' => 'th', 'long' => 'th-TH', 'english' => 'Thai', 'native' => 'ไทย', 'direction' => 'ltr'], + ['short' => 'tr', 'long' => 'tr-TR', 'english' => 'Turkish', 'native' => 'Türkçe', 'direction' => 'ltr'], + ['short' => 'tw', 'long' => 'zh-TW', 'english' => 'Chinese (T)', 'native' => '繁體中文', 'direction' => 'ltr'], + ['short' => 'uk', 'long' => 'uk-UA', 'english' => 'Ukrainian', 'native' => 'Українська', 'direction' => 'ltr'], + ['short' => 'ur', 'long' => 'ur-PK', 'english' => 'Urdu (Pakistan)', 'native' => 'اردو', 'direction' => 'rtl'], + ['short' => 'uz', 'long' => 'uz-UZ', 'english' => 'Uzbek', 'native' => 'O\'zbek', 'direction' => 'ltr'], + ['short' => 'vi', 'long' => 'vi-VN', 'english' => 'Vietnamese', 'native' => 'Tiếng Việt', 'direction' => 'ltr'], ], ]; diff --git a/config/livewire.php b/config/livewire.php index 74b8e80a6..6c7389997 100644 --- a/config/livewire.php +++ b/config/livewire.php @@ -29,6 +29,18 @@ return [ 'view_path' => resource_path('views/livewire'), + /* + |-------------------------------------------------------------------------- + | Layout + |-------------------------------------------------------------------------- + | The default layout view that will be used when rendering a component via + | Route::get('/some-endpoint', SomeComponent::class);. In this case the + | the view returned by SomeComponent will be wrapped in "layouts.app" + | + */ + + 'layout' => 'components.layouts.admin', + /* |-------------------------------------------------------------------------- | Livewire Assets URL @@ -44,6 +56,20 @@ return [ 'asset_url' => env('ASSET_URL', 'public'), + /* + |-------------------------------------------------------------------------- + | Livewire App URL + |-------------------------------------------------------------------------- + | + | This value should be used if livewire assets are served from CDN. + | Livewire will communicate with an app through this url. + | + | Examples: "https://my-app.com", "myurl.com/app". + | + */ + + 'app_url' => env('APP_URL', 'localhost'), + /* |-------------------------------------------------------------------------- | Livewire Endpoint Middleware Group @@ -77,8 +103,9 @@ return [ 'preview_mimes' => [ // Supported file types for temporary pre-signed file URLs. 'png', 'gif', 'bmp', 'svg', 'wav', 'mp4', 'mov', 'avi', 'wmv', 'mp3', 'm4a', - 'jpeg', 'mpga', 'webp', 'wma', + 'jpg', 'jpeg', 'mpga', 'webp', 'wma', ], + 'max_upload_time' => 5, // Max duration (in minutes) before an upload gets invalidated. ], /* @@ -88,7 +115,7 @@ return [ | | This value sets the path to the Livewire manifest file. | The default should work for most cases (which is - | "/bootstrap/cache/livewire-components.php)", but for specific + | "/bootstrap/cache/livewire-components.php"), but for specific | cases like when hosting on Laravel Vapor, it could be set to a different value. | | Example: for Laravel Vapor, it would be "/tmp/storage/bootstrap/cache/livewire-components.php". @@ -97,4 +124,35 @@ return [ 'manifest_path' => null, + /* + |-------------------------------------------------------------------------- + | Back Button Cache + |-------------------------------------------------------------------------- + | + | This value determines whether the back button cache will be used on pages + | that contain Livewire. By disabling back button cache, it ensures that + | the back button shows the correct state of components, instead of + | potentially stale, cached data. + | + | Setting it to "false" (default) will disable back button cache. + | + */ + + 'back_button_cache' => false, + + /* + |-------------------------------------------------------------------------- + | Render On Redirect + |-------------------------------------------------------------------------- + | + | This value determines whether Livewire will render before it's redirected + | or not. Setting it to "false" (default) will mean the render method is + | skipped when redirecting. And "true" will mean the render method is + | run before redirecting. Browsers bfcache can store a potentially + | stale view if render is skipped on redirect. + | + */ + + 'render_on_redirect' => false, + ]; diff --git a/config/logging.php b/config/logging.php index 26577ead3..1f73790ca 100644 --- a/config/logging.php +++ b/config/logging.php @@ -19,6 +19,20 @@ return [ 'default' => env('LOG_CHANNEL', 'stack'), + /* + |-------------------------------------------------------------------------- + | Deprecations Log Channel + |-------------------------------------------------------------------------- + | + | This option controls the log channel that should be used to log warnings + | regarding deprecated PHP and library features. This allows you to get + | your application ready for upcoming major versions of dependencies. + | + */ + + 'deprecations' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), + + /* |-------------------------------------------------------------------------- | Log Channels diff --git a/config/mail.php b/config/mail.php index 6731a0191..61f230d60 100644 --- a/config/mail.php +++ b/config/mail.php @@ -29,7 +29,7 @@ return [ | mailers below. You are free to add additional mailers as required. | | Supported: "smtp", "sendmail", "mailgun", "ses", - | "postmark", "log", "array", "mail" + | "postmark", "log", "array", "mail", "failover" | */ @@ -42,7 +42,6 @@ return [ 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => env('MAIL_TIMEOUT'), - 'auth_mode' => env('MAIL_AUTH_MODE'), ], 'ses' => [ @@ -63,7 +62,7 @@ return [ 'sendmail' => [ 'transport' => 'sendmail', - 'path' => '/usr/sbin/sendmail -bs', + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -t -i'), ], 'log' => [ diff --git a/config/menu.php b/config/menu.php index 8958f4108..ff8da3659 100644 --- a/config/menu.php +++ b/config/menu.php @@ -3,7 +3,7 @@ return [ 'styles' => [ - 'argon' => \Akaunting\Menu\Presenters\Admin\Argon::class, + 'tailwind' => \App\View\Presenters\Menu::class, ], 'home_urls' => [ diff --git a/config/read-only.php b/config/read-only.php index 6e1040424..9f31db095 100644 --- a/config/read-only.php +++ b/config/read-only.php @@ -45,6 +45,6 @@ return [ | Skip livewire paths |-------------------------------------------------------------------------- */ - 'livewire' => explode(',', env('READ_ONLY_LIVEWIRE', 'common.search')), + 'livewire' => explode(',', env('READ_ONLY_LIVEWIRE', 'menu.notifications,menu.settings,menu.neww')), ]; diff --git a/config/sanctum.php b/config/sanctum.php new file mode 100644 index 000000000..529cfdc99 --- /dev/null +++ b/config/sanctum.php @@ -0,0 +1,67 @@ + explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf( + '%s%s', + 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1', + Sanctum::currentApplicationUrlWithPort() + ))), + + /* + |-------------------------------------------------------------------------- + | Sanctum Guards + |-------------------------------------------------------------------------- + | + | This array contains the authentication guards that will be checked when + | Sanctum is trying to authenticate a request. If none of these guards + | are able to authenticate the request, Sanctum will use the bearer + | token that's present on an incoming request for authentication. + | + */ + + 'guard' => ['web'], + + /* + |-------------------------------------------------------------------------- + | Expiration Minutes + |-------------------------------------------------------------------------- + | + | This value controls the number of minutes until an issued token will be + | considered expired. If this value is null, personal access tokens do + | not expire. This won't tweak the lifetime of first-party sessions. + | + */ + + 'expiration' => null, + + /* + |-------------------------------------------------------------------------- + | Sanctum Middleware + |-------------------------------------------------------------------------- + | + | When authenticating your first-party SPA with Sanctum you may need to + | customize some of the middleware Sanctum uses while processing the + | request. You may change the middleware listed below as required. + | + */ + + 'middleware' => [ + 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class, + 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class, + ], + +]; diff --git a/config/search-string.php b/config/search-string.php index 1c9276edf..3360dcb79 100644 --- a/config/search-string.php +++ b/config/search-string.php @@ -94,7 +94,12 @@ return [ App\Models\Banking\Transaction::class => [ 'columns' => [ 'id', - 'type', + 'type' => [ + 'values' => [ + 'income' => 'general.incomes', + 'expense' => 'general.expenses', + ], + ], 'account_id' => [ 'route' => ['accounts.index', 'search=enabled:1'], ], @@ -109,7 +114,7 @@ return [ 'payment_method', 'reference', 'category_id' => [ - 'route' => ['categories.index', 'search=enabled:1'], + 'route' => ['categories.index', 'search=type:income,expense enabled:1'] ], 'parent_id', 'recurring' => [ @@ -117,7 +122,7 @@ return [ 'foreign_key' => '', 'relationship' => true, 'boolean' => true, - ] + ], ], ], @@ -161,7 +166,7 @@ return [ 'category_id' => [ 'route' => ['categories.index', 'search=type:item enabled:1'] ], - 'sales_price', + 'sale_price', 'purchase_price', ], ], @@ -185,6 +190,44 @@ return [ ], ], + 'App\Models\Purchase\Vendor' => [ + 'columns' => [ + 'id', + 'type', + 'name' => ['searchable' => true], + 'email' => ['searchable' => true], + 'tax_number' => ['searchable' => true], + 'phone' => ['searchable' => true], + 'address' => ['searchable' => true], + 'website' => ['searchable' => true], + 'currency_code' => [ + 'route' => ['currencies.index', 'search=enabled:1'], + ], + 'reference', + 'user_id', + 'enabled' => ['boolean' => true], + ], + ], + + 'App\Models\Sale\Customer' => [ + 'columns' => [ + 'id', + 'type', + 'name' => ['searchable' => true], + 'email' => ['searchable' => true], + 'tax_number' => ['searchable' => true], + 'phone' => ['searchable' => true], + 'address' => ['searchable' => true], + 'website' => ['searchable' => true], + 'currency_code' => [ + 'route' => ['currencies.index', 'search=enabled:1'], + ], + 'reference', + 'user_id', + 'enabled' => ['boolean' => true], + ], + ], + App\Models\Document\Document::class => [ 'columns' => [ 'id', @@ -208,14 +251,14 @@ return [ 'contact_phone' => ['searchable' => true], 'contact_address' => ['searchable' => true], 'category_id' => [ - 'route' => ['categories.index', 'search=enabled:1'], + 'route' => ['categories.index', 'search=type:income,expense enabled:1'] ], 'parent_id', 'recurring' => [ 'key' => 'recurring', 'relationship' => true, 'boolean' => true, - ] + ], ], ], @@ -256,42 +299,9 @@ return [ 'parent_id', 'recurring' => [ 'key' => 'recurring', - 'foreign_key' => '', 'relationship' => true, 'boolean' => true, - ] - ], - ], - - 'App\Models\Purchase\Payment' => [ - 'columns' => [ - 'id', - 'type', - 'account_id' => [ - 'route' => ['accounts.index', 'search=enabled:1'], ], - 'paid_at' => ['date' => true], - 'amount', - 'currency_code' => [ - 'route' => ['currencies.index', 'search=enabled:1'], - ], - 'document_id', - 'contact_id' => [ - 'route' => ['vendors.index', 'search=enabled:1'], - ], - 'description' => ['searchable' => true], - 'payment_method', - 'reference', - 'category_id' => [ - 'route' => ['categories.index', 'search=type:expense enabled:1'] - ], - 'parent_id', - 'recurring' => [ - 'key' => 'recurring', - 'foreign_key' => '', - 'relationship' => true, - 'boolean' => true, - ] ], ], @@ -333,42 +343,9 @@ return [ 'parent_id', 'recurring' => [ 'key' => 'recurring', - 'foreign_key' => '', 'relationship' => true, 'boolean' => true, - ] - ], - ], - - 'App\Models\Sale\Revenue' => [ - 'columns' => [ - 'id', - 'type', - 'account_id' => [ - 'route' => ['accounts.index', 'search=enabled:1'], ], - 'paid_at' => ['date' => true], - 'amount', - 'currency_code' => [ - 'route' => ['currencies.index', 'search=enabled:1'], - ], - 'document_id', - 'contact_id' => [ - 'route' => ['customers.index', 'search=enabled:1'], - ], - 'description' => ['searchable' => true], - 'payment_method', - 'reference', - 'category_id' => [ - 'route' => ['categories.index', 'search=type:income enabled:1'], - ], - 'parent_id', - 'recurring' => [ - 'key' => 'recurring', - 'foreign_key' => '', - 'relationship' => true, - 'boolean' => true, - ] ], ], @@ -402,6 +379,14 @@ return [ ], ], + App\Models\Setting\EmailTemplate::class => [ + 'columns' => [ + 'id', + 'name' => ['searchable' => true], + 'subject' => ['searchable' => true], + ], + ], + App\Models\Setting\Tax::class => [ 'columns' => [ 'id', diff --git a/config/session.php b/config/session.php index 53fb21b17..2830e3f88 100644 --- a/config/session.php +++ b/config/session.php @@ -72,7 +72,7 @@ return [ | */ - 'connection' => env('SESSION_CONNECTION', null), + 'connection' => env('SESSION_CONNECTION'), /* |-------------------------------------------------------------------------- @@ -100,7 +100,7 @@ return [ | */ - 'store' => env('SESSION_STORE', null), + 'store' => env('SESSION_STORE'), /* |-------------------------------------------------------------------------- @@ -152,7 +152,7 @@ return [ | */ - 'domain' => env('SESSION_DOMAIN', null), + 'domain' => env('SESSION_DOMAIN'), /* |-------------------------------------------------------------------------- diff --git a/config/setting.php b/config/setting.php index 937957947..e234fa46f 100644 --- a/config/setting.php +++ b/config/setting.php @@ -124,18 +124,28 @@ return [ 'logo_size_height' => env('SETTING_FALLBACK_INVOICE_LOGO_SIZE_HEIGHT', 128), 'item_search_char_limit' => env('SETTING_FALLBACK_INVOICE_ITEM_SEARCH_CHAR_LIMIT', 3), ], + 'invoice-recurring' => [ + 'number_prefix' => env('SETTING_FALLBACK_INVOICE_RECURRING_NUMBER_PREFIX', 'RCI-'), + 'number_digit' => env('SETTING_FALLBACK_INVOICE_RECURRING_NUMBER_DIGIT', '5'), + 'number_next' => env('SETTING_FALLBACK_INVOICE_RECURRING_NUMBER_NEXT', '1'), + ], 'bill' => [ 'number_prefix' => env('SETTING_FALLBACK_BILL_NUMBER_PREFIX', 'BILL-'), 'number_digit' => env('SETTING_FALLBACK_BILL_NUMBER_DIGIT', '5'), 'number_next' => env('SETTING_FALLBACK_BILL_NUMBER_NEXT', '1'), - 'item_name' => env('SETTING_FALLBACK_BILL_ITEM_NAME', 'settings.bill.item'), - 'price_name' => env('SETTING_FALLBACK_BILL_PRICE_NAME', 'settings.bill.price'), - 'quantity_name' => env('SETTING_FALLBACK_BILL_QUANTITY_NAME', 'settings.bill.quantity'), + 'item_name' => env('SETTING_FALLBACK_BILL_ITEM_NAME', 'settings.invoice.item'), + 'price_name' => env('SETTING_FALLBACK_BILL_PRICE_NAME', 'settings.invoice.price'), + 'quantity_name' => env('SETTING_FALLBACK_BILL_QUANTITY_NAME', 'settings.invoice.quantity'), 'payment_terms' => env('SETTING_FALLBACK_BILL_PAYMENT_TERMS', '0'), 'template' => env('SETTING_FALLBACK_BILL_TEMPLATE', 'default'), 'color' => env('SETTING_FALLBACK_BILL_COLOR', '#55588b'), 'item_search_char_limit' => env('SETTING_FALLBACK_BILL_ITEM_SEARCH_CHAR_LIMIT', 3), ], + 'bill-recurring' => [ + 'number_prefix' => env('SETTING_FALLBACK_BILL_RECURRING_NUMBER_PREFIX', 'RCB-'), + 'number_digit' => env('SETTING_FALLBACK_BILL_RECURRING_NUMBER_DIGIT', '5'), + 'number_next' => env('SETTING_FALLBACK_BILL_RECURRING_NUMBER_NEXT', '1'), + ], 'default' => [ 'currency' => env('SETTING_FALLBACK_DEFAULT_CURRENCY', 'USD'), 'locale' => env('SETTING_FALLBACK_DEFAULT_LOCALE', 'en-GB'), @@ -161,11 +171,19 @@ return [ ], ], 'transaction' => [ + 'number_prefix' => env('SETTING_FALLBACK_TRANSACTION_NUMBER_PREFIX', 'TRA-'), + 'number_digit' => env('SETTING_FALLBACK_TRANSACTION_NUMBER_DIGIT', '5'), + 'number_next' => env('SETTING_FALLBACK_TRANSACTION_NUMBER_NEXT', '1'), 'type' => [ 'income' => env('SETTING_FALLBACK_TRANSACTION_TYPE_INCOME', 'income'), 'expense' => env('SETTING_FALLBACK_TRANSACTION_TYPE_EXPENSE', 'expense'), ], ], + 'transaction-recurring' => [ + 'number_prefix' => env('SETTING_FALLBACK_TRANSACTION_RECURRING_NUMBER_PREFIX', 'RCT-'), + 'number_digit' => env('SETTING_FALLBACK_TRANSACTION_RECURRING_NUMBER_DIGIT', '5'), + 'number_next' => env('SETTING_FALLBACK_TRANSACTION_RECURRING_NUMBER_NEXT', '1'), + ], 'transfer' => [ 'template' => env('SETTING_FALLBACK_BANKING_TEMPLATE', 'default'), ], diff --git a/config/sortable.php b/config/sortable.php new file mode 100644 index 000000000..59cd571a1 --- /dev/null +++ b/config/sortable.php @@ -0,0 +1,79 @@ + [ + 'alpha' => [ + 'fields' => ['name', 'contact_name', 'customer_name', 'vendor_name', 'display_name', 'company_name', 'domain', 'email', 'description', 'code', 'type', 'status', 'vendor', 'account', 'category'], + 'icon' => 'arrow_drop', + ], + 'amount' => [ + 'fields' => ['amount', 'price', 'sale_price', 'purchase_price', 'total_price', 'current_balance', 'total_price', 'opening_balance'], + 'icon' => 'arrow_drop', + ], + 'numeric' => [ + 'fields' => ['created_at', 'updated_at', 'paid_at', 'issued_at', 'due_at', 'id', 'quantity', 'rate', 'number', 'document_number'], + 'icon' => 'arrow_drop', + ], + ], + + 'icons' => [ + 'enabled' => true, + + 'wrapper' => '{icon}', + + 'default' => 'arrow_drop', + + // Icon that shows when generating sortable link for columns not sorted by, not applied if value is null + 'sortable' => null, + + 'clickable' => false, + + 'prefix' => ' ', + + 'suffix' => '', + + 'asc_suffix' => '_down', + + 'desc_suffix' => '_up', + ], + + // Default anchor class, not applied if value is null + 'anchor_class' => null, + + // Default active anchor class, not applied if value is null + 'active_anchor_class' => null, + + // Default sort direction anchor class, not applied if value is null + 'direction_anchor_class_prefix' => null, + + // Relation - column separator ex: author.name means relation "author" and column "name" + 'relation_column_separator' => '.', + + // Formatting function applied to name of column, use null to turn formatting off + 'formatting_function' => 'ucfirst', + + // Apply formatting function to custom titles as well as column names + 'format_custom_titles' => true, + + // Inject title parameter in query strings, use null to turn injection off + // Example: 'inject_title' => 't' will result in ..user/?t="formatted title of sorted column" + 'inject_title_as' => null, + + // Allow request modification, when default sorting is set but is not in URI (first load) + 'allow_request_modification' => true, + + // Default direction for: $user->sortable('id') usage + 'default_direction' => 'asc', + + // Default direction for non-sorted columns + 'default_direction_unsorted' => 'asc', + + // Use the first defined sortable column (Model::$sortable) as default + // Also applies if sorting parameters are invalid for example: 'sort' => 'name', 'direction' => '' + 'default_first_column' => false, + + // Join type: join vs leftJoin + 'join_type' => 'leftJoin', + +]; diff --git a/config/type.php b/config/type.php index 89bb4621f..fe2a1bacf 100644 --- a/config/type.php +++ b/config/type.php @@ -1,152 +1,393 @@ [ - 'alias' => '', // core empty but module write own alias - 'group' => 'sales', // controller folder name for permission and route - 'route' => [ - 'prefix' => 'invoices', // core use with group + prefix, module ex. estimates - 'parameter' => 'invoice', // sales/invoices/{parameter}/edit - //'create' => 'invoices.create', // if you change route, you can write full path + // Categories + 'category' => [ + Category::INCOME_TYPE => [ + 'alias' => '', + 'translation' => [ + 'prefix' => 'general', + ], ], - 'permission' => [ - 'prefix' => 'invoices', // this controller file name. - //'create' => 'create-sales-invoices', // if you change action permission key, you can write full permission - ], - 'translation' => [ - 'prefix' => 'invoices', // this translation file name. - 'add_contact' => 'general.customers', // - 'issued_at' => 'invoices.invoice_date', - 'due_at' => 'invoices.due_date', - ], - 'setting' => [ - 'prefix' => 'invoice', - ], - 'category_type' => 'income', - 'transaction_type' => 'income', - 'contact_type' => 'customer', // use contact type - 'hide' => [], // for document items - 'class' => [], - 'notification' => [ - 'class' => 'App\Notifications\Sale\Invoice', - 'notify_contact' => true, - 'notify_user' => true, - ], - ], - Document::BILL_TYPE => [ - 'alias' => '', - 'group' => 'purchases', - 'route' => [ - 'prefix' => 'bills', - 'parameter' => 'bill', - //'create' => 'bilss.create', + Category::EXPENSE_TYPE => [ + 'alias' => '', + 'translation' => [ + 'prefix' => 'general', + ], ], - 'permission' => [ - 'prefix' => 'bills', - //'create' => 'create-purchases-bills', + + Category::ITEM_TYPE => [ + 'alias' => '', + 'translation' => [ + 'prefix' => 'general', + ], ], - 'translation' => [ - 'prefix' => 'bills', - 'issued_at' => 'bills.bill_date', - 'due_at' => 'bills.due_date', - ], - 'setting' => [ - 'prefix' => 'bill', - ], - 'category_type' => 'expense', - 'transaction_type' => 'expense', - 'contact_type' => 'vendor', - 'hide' => [], - 'notification' => [ - 'class' => 'App\Notifications\Purchase\Bill', - 'notify_contact' => false, - 'notify_user' => true, + + Category::OTHER_TYPE => [ + 'alias' => '', + 'translation' => [ + 'prefix' => 'general', + ], ], ], // Contacts - 'customer' => [ - 'group' => 'sales', - 'permission' => [ - 'prefix' => 'customers', - //'create' => 'create-sales-customers', + 'contact' => [ + Contact::CUSTOMER_TYPE => [ + 'group' => 'sales', + 'route' => [ + 'prefix' => 'customers', // core use with group + prefix, module ex. estimates + 'parameter' => 'customer', // sales/customers/{parameter}/edit + //'create' => 'customers.create', // if you change route, you can write full path + ], + 'permission' => [ + 'prefix' => 'customers', + //'create' => 'create-sales-customers', + ], + 'translation' => [ + 'prefix' => 'customers', // this translation file name. + 'section_general_description' => 'customers.form_description.general', + 'section_billing_description' => 'customers.form_description.billing', + 'section_address_description' => 'customers.form_description.address', + ], + 'category_type' => 'income', + 'document_type' => 'invoice', + 'transaction_type' => 'income', + 'hide' => [], + 'class' => [], + 'script' => [ + 'folder' => 'common', + 'file' => 'contacts', + ], + ], + + Contact::VENDOR_TYPE => [ + 'group' => 'purchases', + 'route' => [ + 'prefix' => 'vendors', // core use with group + prefix, module ex. estimates + 'parameter' => 'vendor', // sales/vendors/{parameter}/edit + //'create' => 'vendors.create', // if you change route, you can write full path + ], + 'permission' => [ + 'prefix' => 'vendors', + //'create' => 'create-purchases-vendors', + ], + 'translation' => [ + 'prefix' => 'vendors', // this translation file name. + 'section_general_description' => 'vendors.form_description.general', + 'section_billing_description' => 'vendors.form_description.billing', + 'section_address_description' => 'vendors.form_description.address', + ], + 'category_type' => 'expense', + 'document_type' => 'bill', + 'transaction_type' => 'expense', + 'hide' => [], + 'class' => [], + 'script' => [ + 'folder' => 'common', + 'file' => 'contacts', + ], ], ], - 'vendor' => [ - 'group' => 'purchases', - 'permission' => [ - 'prefix' => 'vendors', - //'create' => 'create-purchases-vendors', + // Documents + 'document' => [ + Document::INVOICE_TYPE => [ + 'alias' => '', // core empty but module write own alias + 'group' => 'sales', // controller folder name for permission and route + 'route' => [ + 'prefix' => 'invoices', // core use with group + prefix, module ex. estimates + 'parameter' => 'invoice', // sales/invoices/{parameter}/edit + 'document' => 'invoices.index', + 'recurring' => 'recurring-invoices.index', + //'create' => 'invoices.create', // if you change route, you can write full path + ], + 'permission' => [ + 'prefix' => 'invoices', // this controller file name. + //'create' => 'create-sales-invoices', // if you change action permission key, you can write full permission + ], + 'translation' => [ + 'prefix' => 'invoices', // this translation file name. + 'add_contact' => 'general.customers', // + 'issued_at' => 'invoices.invoice_date', + 'due_at' => 'invoices.due_date', + 'section_billing_description' => 'invoices.form_description.billing', + ], + 'setting' => [ + 'prefix' => 'invoice', + ], + 'category_type' => 'income', + 'transaction_type' => 'income', + 'contact_type' => 'customer', // use contact type + 'hide' => [], // for document items + 'class' => [], + 'notification' => [ + 'class' => 'App\Notifications\Sale\Invoice', + 'notify_contact' => true, + 'notify_user' => true, + ], + 'script' => [ + 'folder' => 'common', + 'file' => 'documents', + ], + 'status_workflow' => [ + 'draft' => 'send', + 'sent' => 'get-paid', + 'viewed' => 'get-paid', + 'partial' => 'get-paid', + 'paid' => 'get-paid', + 'cancelled' => 'restore', + ], + ], + + Document::INVOICE_RECURRING_TYPE => [ + 'alias' => '', // core empty but module write own alias + 'group' => 'sales', // controller folder name for permission and route + 'route' => [ + 'prefix' => 'recurring-invoices', // core use with group + prefix, module ex. estimates + 'parameter' => 'recurring_invoice', // sales/invoices/{parameter}/edit + 'document' => 'invoices.index', + 'recurring' => 'recurring-invoices.index', + 'end' => 'recurring-invoices.end', + //'create' => 'invoices.create', // if you change route, you can write full path + ], + 'permission' => [ + 'prefix' => 'invoices', // this controller file name. + //'create' => 'create-sales-invoices', // if you change action permission key, you can write full permission + ], + 'translation' => [ + 'prefix' => 'invoices', // this translation file name. + 'add_contact' => 'general.customers', // + 'issued_at' => 'invoices.invoice_date', + 'due_at' => 'invoices.due_date', + 'tab_document' => 'general.invoices', + 'section_billing_description' => 'invoices.form_description.billing', + ], + 'setting' => [ + 'prefix' => 'invoice', + ], + 'category_type' => 'income', + 'transaction_type' => 'income', + 'contact_type' => 'customer', // use contact type + 'hide' => [], // for document items + 'class' => [], + 'notification' => [ + + ], + 'image_empty_page' => 'public/img/empty_pages/recurring_templates.png', + 'script' => [ + 'folder' => 'common', + 'file' => 'documents', + ], + 'status_workflow' => [ + 'draft' => 'schedule', + 'active' => 'schedule', + 'end' => 'schedule', + ], + ], + + Document::BILL_TYPE => [ + 'alias' => '', + 'group' => 'purchases', + 'route' => [ + 'prefix' => 'bills', + 'parameter' => 'bill', + 'document' => 'bills.index', + 'recurring' => 'recurring-bills.index', + //'create' => 'bilss.create', + ], + 'permission' => [ + 'prefix' => 'bills', + //'create' => 'create-purchases-bills', + ], + 'translation' => [ + 'prefix' => 'bills', + 'issued_at' => 'bills.bill_date', + 'due_at' => 'bills.due_date', + 'section_billing_description' => 'bills.form_description.billing', + ], + 'setting' => [ + 'prefix' => 'bill', + ], + 'category_type' => 'expense', + 'transaction_type' => 'expense', + 'contact_type' => 'vendor', + 'hide' => [], + 'notification' => [ + 'class' => 'App\Notifications\Purchase\Bill', + 'notify_contact' => false, + 'notify_user' => true, + ], + 'script' => [ + 'folder' => 'common', + 'file' => 'documents', + ], + 'status_workflow' => [ + 'draft' => 'receive', + 'received' => 'make-payment', + 'viewed' => 'make-payment', + 'partial' => 'make-payment', + 'paid' => 'make-payment', + 'cancelled' => 'restore', + ], + ], + + Document::BILL_RECURRING_TYPE => [ + 'alias' => '', + 'group' => 'purchases', + 'route' => [ + 'prefix' => 'recurring-bills', + 'parameter' => 'recurring_bill', + 'document' => 'bills.index', + 'recurring' => 'recurring-bills.index', + 'end' => 'recurring-bills.end', + //'create' => 'bilss.create', + ], + 'permission' => [ + 'prefix' => 'bills', + //'create' => 'create-purchases-bills', + ], + 'translation' => [ + 'prefix' => 'bills', + 'issued_at' => 'bills.bill_date', + 'due_at' => 'bills.due_date', + 'tab_document' => 'general.bills', + 'section_billing_description' => 'bills.form_description.billing', + ], + 'setting' => [ + 'prefix' => 'bill', + ], + 'category_type' => 'expense', + 'transaction_type' => 'expense', + 'contact_type' => 'vendor', + 'hide' => [], + 'notification' => [ + + ], + 'image_empty_page' => 'public/img/empty_pages/recurring_templates.png', + 'script' => [ + 'folder' => 'common', + 'file' => 'documents', + ], + 'status_workflow' => [ + 'draft' => 'schedule', + 'active' => 'schedule', + 'end' => 'schedule', + ], ], ], // Transactions - 'income' => [ - 'group' => 'sales', - 'route' => [ - 'prefix' => 'revenues', // core use with group + prefix, module ex. estimates - 'parameter' => 'revenue', // sales/invoices/{parameter}/edit - //'create' => 'invoices.create', // if you change route, you can write full path + 'transaction' => [ + Transaction::INCOME_TYPE => [ + 'group' => 'banking', + 'route' => [ + 'prefix' => 'transactions', // core use with group + prefix, module ex. estimates + 'parameter' => 'income', // sales/invoices/{parameter}/edit + //'create' => 'invoices.create', // if you change route, you can write full path + ], + 'permission' => [ + 'prefix' => 'transactions', + //'create' => 'create-banking-transactions', + ], + 'translation' => [ + 'prefix' => 'transactions', // this translation file name. + 'related_document_amount' => 'invoices.invoice_amount', + 'transactions' => 'general.incomes', + ], + 'contact_type' => 'customer', + 'document_type' => 'invoice', + 'split_type' => Transaction::INCOME_SPLIT_TYPE, + 'email_template' => 'payment_received_customer', + 'script' => [ + 'folder' => 'banking', + 'file' => 'transactions', + ], ], - 'permission' => [ - 'prefix' => 'revenues', - //'create' => 'create-sales-revenues', - ], - 'translation' => [ - 'prefix' => 'revenues', // this translation file name. - 'related_document_amount' => 'invoices.invoice_amount', - ], - 'contact_type' => 'customer', - ], - 'expense' => [ - 'group' => 'purchases', - 'route' => [ - 'prefix' => 'payments', // core use with group + prefix, module ex. estimates - 'parameter' => 'payment', // sales/invoices/{parameter}/edit - //'create' => 'invoices.create', // if you change route, you can write full path + Transaction::INCOME_RECURRING_TYPE => [ + 'group' => 'banking', + 'route' => [ + 'prefix' => 'recurring-transactions', // core use with group + prefix, module ex. estimates + 'parameter' => 'recurring_transaction', // sales/invoices/{parameter}/edit + //'create' => 'invoices.create', // if you change route, you can write full path + ], + 'permission' => [ + 'prefix' => 'transactions', + //'create' => 'create-banking-transactions', + ], + 'translation' => [ + 'prefix' => 'transactions', // this translation file name. + 'new' => 'general.recurring_incomes', + 'transactions' => 'general.expenses', + ], + 'image_empty_page' => 'public/img/empty_pages/recurring_templates.png', + 'script' => [ + 'folder' => 'banking', + 'file' => 'transactions', + ], + 'status_workflow' => [ + 'draft' => 'schedule', + 'active' => 'schedule', + 'end' => 'schedule', + ], ], - 'permission' => [ - 'prefix' => 'payments', - //'create' => 'create-purchases-payments', - ], - 'translation' => [ - 'prefix' => 'payments', // this translation file name. - 'related_document_amount' => 'bills.bill_amount', - ], - 'contact_type' => 'vendor', - ], - // Categories - 'category' => [ - 'income' => [ - 'alias' => '', + Transaction::EXPENSE_TYPE => [ + 'group' => 'banking', + 'route' => [ + 'prefix' => 'transactions', // core use with group + prefix, module ex. estimates + 'parameter' => 'expense', // sales/invoices/{parameter}/edit + //'create' => 'invoices.create', // if you change route, you can write full path + ], + 'permission' => [ + 'prefix' => 'transactions', + //'create' => 'create-banking-transactions', + ], 'translation' => [ - 'prefix' => 'general', + 'prefix' => 'transactions', // this translation file name. + 'related_document_amount' => 'bills.bill_amount', + ], + 'contact_type' => 'vendor', + 'document_type' => 'bill', + 'split_type' => Transaction::EXPENSE_SPLIT_TYPE, + 'email_template' => 'payment_made_vendor', + 'script' => [ + 'folder' => 'banking', + 'file' => 'transactions', ], ], - 'expense' => [ - 'alias' => '', - 'translation' => [ - 'prefix' => 'general', + + Transaction::EXPENSE_RECURRING_TYPE => [ + 'group' => 'banking', + 'route' => [ + 'prefix' => 'recurring-transactions', // core use with group + prefix, module ex. estimates + 'parameter' => 'recurring_transaction', // sales/invoices/{parameter}/edit + //'create' => 'invoices.create', // if you change route, you can write full path ], - ], - 'item' => [ - 'alias' => '', - 'translation' => [ - 'prefix' => 'general', + 'permission' => [ + 'prefix' => 'transactions', + //'create' => 'create-banking-transactions', ], - ], - 'other' => [ - 'alias' => '', 'translation' => [ - 'prefix' => 'general', + 'new' => 'general.recurring_expenses', + ], + 'image_empty_page' => 'public/img/empty_pages/recurring_templates.png', + 'script' => [ + 'folder' => 'banking', + 'file' => 'transactions', + ], + 'status_workflow' => [ + 'draft' => 'schedule', + 'active' => 'schedule', + 'end' => 'schedule', ], ], ], diff --git a/config/version.php b/config/version.php index 38a81f0b3..459c056e4 100644 --- a/config/version.php +++ b/config/version.php @@ -4,21 +4,21 @@ return [ 'name' => 'Akaunting', - 'code' => 'Document', + 'code' => 'Tailwind', - 'major' => '2', + 'major' => '3', - 'minor' => '1', + 'minor' => '0', - 'patch' => '35', + 'patch' => '0', 'build' => '', 'status' => 'Stable', - 'date' => '27-April-2021', + 'date' => '1-June-2022', - 'time' => '14:00', + 'time' => '10:00', 'zone' => 'GMT +3', diff --git a/database/factories/Account.php b/database/factories/Account.php index dd745d1a2..b7b3c30e6 100644 --- a/database/factories/Account.php +++ b/database/factories/Account.php @@ -21,8 +21,11 @@ class Account extends Factory */ public function definition() { + $types = ['bank', 'credit_card']; + return [ 'company_id' => $this->company->id, + 'type' => $this->faker->randomElement($types), 'name' => $this->faker->text(15), 'number' => (string) $this->faker->iban(), 'currency_code' => $this->company->currencies()->enabled()->get()->random(1)->pluck('code')->first(), diff --git a/database/factories/Company.php b/database/factories/Company.php new file mode 100644 index 000000000..ad51d0e75 --- /dev/null +++ b/database/factories/Company.php @@ -0,0 +1,95 @@ + $this->faker->boolean ? 1 : 0, + 'created_from' => 'core::factory', + ]; + } + + /** + * Indicate that the model is enabled. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + public function enabled() + { + return $this->state([ + 'enabled' => 1, + ]); + } + + /** + * Indicate that the model is disabled. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + public function disabled() + { + return $this->state([ + 'enabled' => 0, + ]); + } + + /** + * Configure the model factory. + * + * @return $this + */ + public function configure() + { + return $this->afterCreating(function (Model $company) { + $company->makeCurrent(); + + app()->setLocale('en-GB'); + + // Company seeds + Artisan::call('company:seed', [ + 'company' => $company->id + ]); + + $user = User::first(); + + $user->companies()->attach($company->id); + + // User seeds + Artisan::call('user:seed', [ + 'user' => $user->id, + 'company' => $company->id, + ]); + + setting()->set([ + 'company.name' => $this->faker->text(15), + 'company.address' => 'New Street 1254', + 'company.city' => 'London', + 'company.country' => $this->faker->countryCode, + 'default.currency' => 'USD', + 'default.locale' => 'en-GB', + ]); + + setting()->save(); + }); + } +} diff --git a/database/factories/Contact.php b/database/factories/Contact.php index fb02128df..0631f1e53 100644 --- a/database/factories/Contact.php +++ b/database/factories/Contact.php @@ -25,16 +25,18 @@ class Contact extends Factory public function definition() { $types = array_merge($this->getCustomerTypes(), $this->getVendorTypes()); + $countries = array_keys(trans('countries')); return [ 'company_id' => $this->company->id, 'type' => $this->faker->randomElement($types), 'name' => $this->faker->name, - 'email' => $this->faker->unique()->safeEmail, + 'email' => $this->faker->freeEmail, 'user_id' => null, 'tax_number' => $this->faker->randomNumber(9), 'phone' => $this->faker->phoneNumber, 'address' => $this->faker->address, + 'country' => $this->faker->randomElement($countries), 'website' => 'https://akaunting.com', 'currency_code' => setting('default.currency'), 'reference' => $this->faker->text(5), diff --git a/database/factories/Document.php b/database/factories/Document.php index 470fd60c4..504754ae3 100644 --- a/database/factories/Document.php +++ b/database/factories/Document.php @@ -14,12 +14,15 @@ use App\Models\Common\Contact; use App\Models\Common\Item; use App\Models\Document\Document as Model; use App\Models\Setting\Tax; +use App\Traits\Documents; use App\Utilities\Date; use App\Utilities\Overrider; use Illuminate\Database\Eloquent\Factories\Factory; class Document extends AbstractFactory { + use Documents; + /** * The name of the factory's corresponding model. * @@ -35,7 +38,7 @@ class Document extends AbstractFactory public function definition() { $issued_at = $this->faker->dateTimeBetween(now()->startOfYear(), now()->endOfYear())->format('Y-m-d H:i:s'); - $due_at = Date::parse($issued_at)->addDays($this->faker->randomNumber(3))->format('Y-m-d H:i:s'); + $due_at = Date::parse($issued_at)->addDays($this->faker->randomNumber(2))->format('Y-m-d H:i:s'); return [ 'company_id' => $this->company->id, @@ -54,30 +57,28 @@ class Document extends AbstractFactory */ public function invoice(): Factory { - return $this->state(function (array $attributes): array { - $contacts = Contact::customer()->enabled()->get(); + $contacts = Contact::customer()->enabled()->get(); - if ($contacts->count()) { - $contact = $contacts->random(1)->first(); - } else { - $contact = Contact::factory()->customer()->enabled()->create(); - } + if ($contacts->count()) { + $contact = $contacts->random(1)->first(); + } else { + $contact = Contact::factory()->customer()->enabled()->create(); + } - $statuses = ['draft', 'sent', 'viewed', 'partial', 'paid', 'cancelled']; + $statuses = ['draft', 'sent', 'viewed', 'partial', 'paid', 'cancelled']; - return [ - 'type' => Model::INVOICE_TYPE, - 'document_number' => setting('invoice.number_prefix') . $this->faker->randomNumber(setting('invoice.number_digit')), - 'category_id' => $this->company->categories()->income()->get()->random(1)->pluck('id')->first(), - 'contact_id' => $contact->id, - 'contact_name' => $contact->name, - 'contact_email' => $contact->email, - 'contact_tax_number' => $contact->tax_number, - 'contact_phone' => $contact->phone, - 'contact_address' => $contact->address, - 'status' => $this->faker->randomElement($statuses), - ]; - }); + return $this->state([ + 'type' => Model::INVOICE_TYPE, + 'document_number' => $this->getNextDocumentNumber(Model::INVOICE_TYPE), + 'category_id' => $this->company->categories()->income()->get()->random(1)->pluck('id')->first(), + 'contact_id' => $contact->id, + 'contact_name' => $contact->name, + 'contact_email' => $contact->email, + 'contact_tax_number' => $contact->tax_number, + 'contact_phone' => $contact->phone, + 'contact_address' => $contact->address, + 'status' => $this->faker->randomElement($statuses), + ]); } /** @@ -85,30 +86,28 @@ class Document extends AbstractFactory */ public function bill(): Factory { - return $this->state(function (array $attributes): array { - $contacts = Contact::vendor()->enabled()->get(); + $contacts = Contact::vendor()->enabled()->get(); - if ($contacts->count()) { - $contact = $contacts->random(1)->first(); - } else { - $contact = Contact::factory()->vendor()->enabled()->create(); - } + if ($contacts->count()) { + $contact = $contacts->random(1)->first(); + } else { + $contact = Contact::factory()->vendor()->enabled()->create(); + } - $statuses = ['draft', 'received', 'partial', 'paid', 'cancelled']; + $statuses = ['draft', 'received', 'partial', 'paid', 'cancelled']; - return [ - 'type' => Model::BILL_TYPE, - 'document_number' => setting('bill.number_prefix') . $this->faker->randomNumber(setting('bill.number_digit')), - 'category_id' => $this->company->categories()->expense()->get()->random(1)->pluck('id')->first(), - 'contact_id' => $contact->id, - 'contact_name' => $contact->name, - 'contact_email' => $contact->email, - 'contact_tax_number' => $contact->tax_number, - 'contact_phone' => $contact->phone, - 'contact_address' => $contact->address, - 'status' => $this->faker->randomElement($statuses), - ]; - }); + return $this->state([ + 'type' => Model::BILL_TYPE, + 'document_number' => $this->getNextDocumentNumber(Model::BILL_TYPE), + 'category_id' => $this->company->categories()->expense()->get()->random(1)->pluck('id')->first(), + 'contact_id' => $contact->id, + 'contact_name' => $contact->name, + 'contact_email' => $contact->email, + 'contact_tax_number' => $contact->tax_number, + 'contact_phone' => $contact->phone, + 'contact_address' => $contact->address, + 'status' => $this->faker->randomElement($statuses), + ]); } /** @@ -202,10 +201,15 @@ class Document extends AbstractFactory */ public function recurring() { + $type = $this->getRawAttribute('type') . '-recurring'; + return $this->state([ + 'type' => $type, + 'document_number' => $this->getNextDocumentNumber($type), + 'recurring_started_at' => $this->getRawAttribute('issued_at'), 'recurring_frequency' => 'daily', 'recurring_interval' => '1', - 'recurring_count' => '7', + 'recurring_limit_count' => '7', ]); } @@ -216,43 +220,41 @@ class Document extends AbstractFactory */ public function items() { - return $this->state(function (array $attributes) { - $amount = $this->faker->randomFloat(2, 1, 1000); + $amount = $this->faker->randomFloat(2, 1, 1000); - $taxes = Tax::enabled()->get(); + $taxes = Tax::enabled()->get(); - if ($taxes->count()) { - $tax = $taxes->random(1)->first(); - } else { - $tax = Tax::factory()->enabled()->create(); - } + if ($taxes->count()) { + $tax = $taxes->random(1)->first(); + } else { + $tax = Tax::factory()->enabled()->create(); + } - $items = Item::enabled()->get(); + $items = Item::enabled()->get(); - if ($items->count()) { - $item = $items->random(1)->first(); - } else { - $item = Item::factory()->enabled()->create(); - } + if ($items->count()) { + $item = $items->random(1)->first(); + } else { + $item = Item::factory()->enabled()->create(); + } - $items = [ - [ - 'type' => $attributes['type'], - 'name' => $item->name, - 'description' => $this->faker->text, - 'item_id' => $item->id, - 'tax_ids' => [$tax->id], - 'quantity' => '1', - 'price' => $amount, - 'currency' => setting('default.currency'), - ], - ]; + $items = [ + [ + 'type' => $this->getRawAttribute('type'), + 'name' => $item->name, + 'description' => $this->faker->text, + 'item_id' => $item->id, + 'tax_ids' => [$tax->id], + 'quantity' => '1', + 'price' => $amount, + 'currency' => setting('default.currency'), + ], + ]; - return [ - 'items' => $items, - 'recurring_frequency' => 'no', - ]; - }); + return $this->state([ + 'items' => $items, + 'recurring_frequency' => 'no', + ]); } /** @@ -291,6 +293,7 @@ class Document extends AbstractFactory $items = [ [ + 'type' => $document->type, 'name' => $item->name, 'description' => $this->faker->text, 'item_id' => $item->id, @@ -327,7 +330,7 @@ class Document extends AbstractFactory case 'paid': $payment_request = [ 'paid_at' => $updated_document->due_at, - 'type' => config('type.' . $document->type . '.transaction_type'), + 'type' => config('type.document.' . $document->type . '.transaction_type'), ]; if ($init_status === 'partial') { diff --git a/database/factories/Item.php b/database/factories/Item.php index 3ce7f6f4b..64e006c00 100644 --- a/database/factories/Item.php +++ b/database/factories/Item.php @@ -21,8 +21,11 @@ class Item extends Factory */ public function definition() { + $types = ['product', 'service']; + return [ 'company_id' => $this->company->id, + 'type' => $this->faker->randomElement($types), 'name' => $this->faker->text(15), 'description' => $this->faker->text(100), 'purchase_price' => $this->faker->randomFloat(2, 10, 20), diff --git a/database/factories/Permission.php b/database/factories/Permission.php deleted file mode 100644 index c2b313a18..000000000 --- a/database/factories/Permission.php +++ /dev/null @@ -1,36 +0,0 @@ -faker->randomElement($map); - $word_1 = $this->faker->word; - $word_2 = $this->faker->word; - - return [ - 'name' => strtolower($prefix) . '-' . strtolower($word_1) . '-' . strtolower($word_2), - 'display_name' => $prefix . ' ' . $word_1 . ' ' . $word_2, - 'description' => $prefix . ' ' . $word_1 . ' ' . $word_2, - ]; - } -} diff --git a/database/factories/Role.php b/database/factories/Role.php deleted file mode 100644 index 2cce819b5..000000000 --- a/database/factories/Role.php +++ /dev/null @@ -1,63 +0,0 @@ -faker->word; - - return [ - 'name' => strtolower($name), - 'display_name' => $name, - 'description' => $name, - 'created_from' => 'core::factory', - ]; - } - - /** - * Indicate the model permissions. - * - * @return \Illuminate\Database\Eloquent\Factories\Factory - */ - public function permissions() - { - return $this->state([ - 'permissions' => $this->getPermissions(), - ]); - } - - /** - * Configure the model factory. - * - * @return $this - */ - public function configure() - { - return $this->afterCreating(function (Model $role) { - $role->permissions()->attach($this->getPermissions()); - }); - } - - protected function getPermissions() - { - return Permission::take(50)->pluck('id')->toArray(); - } -} diff --git a/database/factories/Transaction.php b/database/factories/Transaction.php index 45723a14c..d351708fd 100644 --- a/database/factories/Transaction.php +++ b/database/factories/Transaction.php @@ -5,6 +5,7 @@ namespace Database\Factories; use App\Abstracts\Factory; use App\Models\Banking\Transaction as Model; use App\Traits\Transactions; +use App\Utilities\Date; class Transaction extends Factory { @@ -17,6 +18,13 @@ class Transaction extends Factory */ protected $model = Model::class; + /** + * The type of the model. + * + * @var string + */ + protected $type = 'income'; + /** * Define the model's default state. * @@ -25,13 +33,14 @@ class Transaction extends Factory public function definition() { $types = array_merge($this->getIncomeTypes(), $this->getExpenseTypes()); - $type = $this->faker->randomElement($types); + $this->type = $this->faker->randomElement($types); - $category_type = in_array($type, $this->getIncomeTypes()) ? 'income' : 'expense'; + $category_type = in_array($this->type, $this->getIncomeTypes()) ? 'income' : 'expense'; return [ 'company_id' => $this->company->id, - 'type' => $type, + 'type' => $this->type, + 'number' => $this->getNextTransactionNumber(), 'account_id' => setting('default.account'), 'paid_at' => $this->faker->dateTimeBetween(now()->startOfYear(), now()->endOfYear())->format('Y-m-d H:i:s'), 'amount' => $this->faker->randomFloat(2, 1, 1000), @@ -70,4 +79,26 @@ class Transaction extends Factory 'category_id' => $this->company->categories()->expense()->get()->random(1)->pluck('id')->first(), ]); } + + /** + * Indicate that the model is recurring. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + public function recurring() + { + return $this->state([ + 'type' => $this->getRawAttribute('type') . '-recurring', + 'number' => $this->getNextTransactionNumber('-recurring'), + 'recurring_started_at' => $this->getRawAttribute('paid_at'), + 'recurring_frequency' => 'daily', + 'recurring_custom_frequency' => 'daily', + 'recurring_interval' => '1', + 'recurring_limit' => 'date', + 'recurring_limit_date' => Date::now()->addDay(7)->format('Y-m-d'), + 'disabled_transaction_paid' => "Auto-generated", + 'disabled_transaction_number' => "Auto-generated", + 'real_type' => $this->getRawAttribute('type'), + ]); + } } diff --git a/database/factories/User.php b/database/factories/User.php index 2ba3475b1..41b85ab5d 100644 --- a/database/factories/User.php +++ b/database/factories/User.php @@ -26,13 +26,13 @@ class User extends Factory return [ 'name' => $this->faker->name, - 'email' => $this->faker->unique()->safeEmail, + 'email' => $this->faker->freeEmail, 'password' => $password, 'password_confirmation' => $password, 'remember_token' => Str::random(10), 'locale' => 'en-GB', 'companies' => ['1'], - 'roles' => ['1'], + 'roles' => '1', 'enabled' => $this->faker->boolean ? 1 : 0, 'created_from' => 'core::factory', ]; diff --git a/database/factories/Widget.php b/database/factories/Widget.php index 25ec87d2b..cf7cad553 100644 --- a/database/factories/Widget.php +++ b/database/factories/Widget.php @@ -5,6 +5,7 @@ namespace Database\Factories; use App\Abstracts\Factory; use App\Models\Common\Dashboard; use App\Models\Common\Widget as Model; +use App\Utilities\Widgets; class Widget extends Factory { @@ -15,19 +16,6 @@ class Widget extends Factory */ protected $model = Model::class; - public $classes = [ - 'App\Widgets\TotalIncome', - 'App\Widgets\TotalExpenses', - 'App\Widgets\TotalProfit', - 'App\Widgets\CashFlow', - 'App\Widgets\IncomeByCategory', - 'App\Widgets\ExpensesByCategory', - 'App\Widgets\AccountBalance', - 'App\Widgets\LatestIncome', - 'App\Widgets\LatestExpenses', - 'App\Widgets\Currencies', - ]; - /** * Define the model's default state. * @@ -41,7 +29,7 @@ class Widget extends Factory 'company_id' => $this->company->id, 'dashboard_id' => $dashboard->id, 'name' => $this->faker->text(15), - 'class' => $this->faker->randomElement($this->classes), + 'class' => $this->faker->randomElement(Widgets::$core_widgets), 'created_from' => 'core::factory', ]; } diff --git a/database/migrations/2017_09_14_000000_core_v1.php b/database/migrations/2017_09_14_000000_core_v1.php index 613eb8e28..3525b6ba4 100644 --- a/database/migrations/2017_09_14_000000_core_v1.php +++ b/database/migrations/2017_09_14_000000_core_v1.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CoreV1 extends Migration +return new class extends Migration { /** * Run the migrations. @@ -465,6 +465,8 @@ class CoreV1 extends Migration $table->string('key'); $table->text('value')->nullable(); + $table->softDeletes(); + $table->index('company_id'); $table->unique(['company_id', 'key']); }); @@ -514,9 +516,8 @@ class CoreV1 extends Migration Schema::create('user_companies', function (Blueprint $table) { $table->integer('user_id')->unsigned(); $table->integer('company_id')->unsigned(); - $table->string('user_type'); - $table->primary(['user_id', 'company_id', 'user_type']); + $table->primary(['user_id', 'company_id']); }); } @@ -527,44 +528,6 @@ class CoreV1 extends Migration */ public function down() { - Schema::drop('accounts'); - Schema::drop('bills'); - Schema::drop('bill_histories'); - Schema::drop('bill_items'); - Schema::drop('bill_item_taxes'); - Schema::drop('bill_totals'); - Schema::drop('categories'); - Schema::drop('companies'); - Schema::drop('currencies'); - Schema::drop('invoices'); - Schema::drop('invoice_histories'); - Schema::drop('invoice_items'); - Schema::drop('invoice_item_taxes'); - Schema::drop('invoice_totals'); - Schema::drop('items'); - Schema::drop('jobs'); - Schema::drop('failed_jobs'); - Schema::drop('mediables'); - Schema::drop('media'); - Schema::drop('modules'); - Schema::drop('module_histories'); - Schema::drop('notifications'); - Schema::drop('password_resets'); - - // Cascade table first - Schema::drop('user_permissions'); - Schema::drop('role_permissions'); - Schema::drop('permissions'); - Schema::drop('user_roles'); - Schema::drop('roles'); - - Schema::drop('reconciliations'); - Schema::drop('recurring'); - Schema::drop('sessions'); - Schema::drop('settings'); - Schema::drop('taxes'); - Schema::drop('transfers'); - Schema::drop('users'); - Schema::drop('user_companies'); + // } -} +}; diff --git a/database/migrations/2019_11_16_000000_core_v2.php b/database/migrations/2019_11_16_000000_core_v2.php new file mode 100644 index 000000000..25adf7436 --- /dev/null +++ b/database/migrations/2019_11_16_000000_core_v2.php @@ -0,0 +1,460 @@ +unsignedInteger('created_by')->nullable()->after('enabled'); + $table->string('created_from', 100)->nullable()->after('enabled'); + }); + + // Categories + Schema::table('categories', function (Blueprint $table) { + $table->unsignedInteger('created_by')->nullable()->after('enabled'); + $table->string('created_from', 100)->nullable()->after('enabled'); + }); + + // Companies + Schema::table('companies', function (Blueprint $table) { + $table->string('domain')->nullable()->change(); + $table->unsignedInteger('created_by')->nullable()->after('enabled'); + $table->string('created_from', 100)->nullable()->after('enabled'); + }); + + // Contacts + Schema::create('contacts', function (Blueprint $table) { + $table->increments('id'); + $table->integer('company_id'); + $table->string('type'); + $table->string('name'); + $table->string('email')->nullable(); + $table->integer('user_id')->nullable(); + $table->string('tax_number')->nullable(); + $table->string('phone')->nullable(); + $table->text('address')->nullable(); + $table->string('city')->nullable(); + $table->string('zip_code')->nullable(); + $table->string('state')->nullable(); + $table->string('country')->nullable(); + $table->string('website')->nullable(); + $table->string('currency_code'); + $table->boolean('enabled')->default(1); + $table->string('reference')->nullable(); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index(['company_id', 'type']); + $table->unique(['company_id', 'type', 'email', 'deleted_at']); + }); + + // Currencies + Schema::table('currencies', function (Blueprint $table) { + $table->unsignedInteger('created_by')->nullable()->after('enabled'); + $table->string('created_from', 100)->nullable()->after('enabled'); + }); + + // Dashboards & Widgets + Schema::create('dashboards', function (Blueprint $table) { + $table->increments('id'); + $table->integer('company_id'); + $table->string('name'); + $table->boolean('enabled')->default(1); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index(['company_id']); + }); + + Schema::create('user_dashboards', function (Blueprint $table) { + $table->integer('user_id')->unsigned(); + $table->integer('dashboard_id')->unsigned(); + + $table->primary(['user_id', 'dashboard_id']); + }); + + Schema::create('widgets', function (Blueprint $table) { + $table->increments('id'); + $table->integer('company_id'); + $table->integer('dashboard_id'); + $table->string('class'); + $table->string('name'); + $table->integer('sort')->default(0); + $table->text('settings')->nullable(); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index(['company_id', 'dashboard_id']); + $table->index('class'); + }); + + // Documents + Schema::create('documents', function (Blueprint $table) { + $table->increments('id'); + $table->unsignedInteger('company_id'); + $table->string('type'); + $table->string('document_number'); + $table->string('order_number')->nullable(); + $table->string('status'); + $table->dateTime('issued_at'); + $table->dateTime('due_at'); + $table->double('amount', 15, 4); + $table->string('currency_code'); + $table->double('currency_rate', 15, 8); + $table->unsignedInteger('category_id')->default(1); + $table->unsignedInteger('contact_id'); + $table->string('contact_name'); + $table->string('contact_email')->nullable(); + $table->string('contact_tax_number')->nullable(); + $table->string('contact_phone')->nullable(); + $table->text('contact_address')->nullable(); + $table->string('contact_city')->nullable(); + $table->string('contact_zip_code')->nullable(); + $table->string('contact_state')->nullable(); + $table->string('contact_country')->nullable(); + $table->text('notes')->nullable(); + $table->text('footer')->nullable(); + $table->unsignedInteger('parent_id')->default(0); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index('company_id'); + $table->index('type'); + $table->unique(['document_number', 'deleted_at', 'company_id', 'type']); + }); + + Schema::create('document_histories', function (Blueprint $table) { + $table->increments('id'); + $table->integer('company_id'); + $table->string('type'); + $table->unsignedInteger('document_id'); + $table->string('status'); + $table->boolean('notify'); + $table->text('description')->nullable(); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index('company_id'); + $table->index('type'); + $table->index('document_id'); + }); + + Schema::create('document_items', function (Blueprint $table) { + $table->increments('id'); + $table->unsignedInteger('company_id'); + $table->string('type'); + $table->unsignedInteger('document_id'); + $table->unsignedInteger('item_id')->nullable(); + $table->string('name'); + $table->text('description')->nullable(); + $table->string('sku')->nullable(); + $table->double('quantity', 7, 2); + $table->double('price', 15, 4); + $table->float('tax', 15, 4)->default('0.0000'); + $table->string('discount_type')->default('normal'); + $table->double('discount_rate', 15, 4)->default('0.0000'); + $table->double('total', 15, 4); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index('company_id'); + $table->index('type'); + $table->index('document_id'); + }); + + Schema::create('document_item_taxes', function (Blueprint $table) { + $table->increments('id'); + $table->unsignedInteger('company_id'); + $table->string('type'); + $table->unsignedInteger('document_id'); + $table->unsignedInteger('document_item_id'); + $table->unsignedInteger('tax_id'); + $table->string('name'); + $table->double('amount', 15, 4)->default('0.0000'); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index('company_id'); + $table->index('type'); + $table->index('document_id'); + }); + + Schema::create('document_totals', function (Blueprint $table) { + $table->increments('id'); + $table->unsignedInteger('company_id'); + $table->string('type'); + $table->unsignedInteger('document_id'); + $table->string('code')->nullable(); + $table->string('name'); + $table->double('amount', 15, 4); + $table->integer('sort_order'); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index('company_id'); + $table->index('type'); + $table->index('document_id'); + }); + + // Email templates + Schema::create('email_templates', function (Blueprint $table) { + $table->increments('id'); + $table->integer('company_id'); + $table->string('alias'); + $table->string('class'); + $table->string('name'); + $table->string('subject'); + $table->text('body'); + $table->text('params')->nullable(); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index('company_id'); + $table->unique(['company_id', 'alias', 'deleted_at']); + }); + + // Jobs + Schema::table('failed_jobs', function (Blueprint $table) { + $table->string('uuid')->after('id')->nullable()->unique(); + }); + + // Firewall + Schema::create('firewall_ips', function (Blueprint $table) { + $table->increments('id'); + $table->string('ip'); + $table->integer('log_id')->nullable(); + $table->boolean('blocked')->default(1); + $table->timestamps(); + $table->softDeletes(); + + $table->index('ip'); + $table->unique(['ip', 'deleted_at']); + }); + + Schema::create('firewall_logs', function (Blueprint $table) { + $table->increments('id'); + $table->string('ip'); + $table->string('level')->default('medium'); + $table->string('middleware'); + $table->integer('user_id')->nullable(); + $table->string('url')->nullable(); + $table->string('referrer')->nullable(); + $table->text('request')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index('ip'); + }); + + // Items + Schema::table('items', function (Blueprint $table) { + $table->string('sku')->nullable()->change(); + $table->integer('quantity')->default(1)->change(); + $table->unsignedInteger('created_by')->nullable()->after('enabled'); + $table->string('created_from', 100)->nullable()->after('enabled'); + + $connection = Schema::getConnection(); + $d_table = $connection->getDoctrineSchemaManager()->listTableDetails($connection->getTablePrefix() . 'items'); + + if ($d_table->hasIndex('items_company_id_sku_deleted_at_unique')) { + // 1.3 update + $table->dropUnique('items_company_id_sku_deleted_at_unique'); + } else { + // 2.0 install + $table->dropUnique(['company_id', 'sku', 'deleted_at']); + } + }); + + Schema::create('item_taxes', function (Blueprint $table) { + $table->increments('id'); + $table->integer('company_id'); + $table->integer('item_id'); + $table->integer('tax_id')->nullable(); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index(['company_id', 'item_id']); + }); + + // Media + Schema::table('media', function (Blueprint $table) { + $table->unsignedInteger('company_id')->default(0)->after('id'); + $table->unsignedInteger('created_by')->nullable()->after('size'); + $table->string('created_from', 100)->nullable()->after('size'); + + $table->index('company_id'); + }); + + Schema::table('mediables', function (Blueprint $table) { + $table->unsignedInteger('company_id')->default(0)->after('media_id'); + $table->unsignedInteger('created_by')->nullable()->after('order'); + $table->string('created_from', 100)->nullable()->after('order'); + + $table->index('company_id'); + }); + + // Modules + Schema::table('modules', function (Blueprint $table) { + $table->renameColumn('status', 'enabled'); + }); + + Schema::table('modules', function (Blueprint $table) { + $table->unsignedInteger('created_by')->nullable()->after('enabled'); + $table->string('created_from', 100)->nullable()->after('enabled'); + }); + + Schema::table('module_histories', function (Blueprint $table) { + $table->dropColumn('category'); + }); + + Schema::table('module_histories', function (Blueprint $table) { + $table->unsignedInteger('created_by')->nullable()->after('description'); + $table->string('created_from', 100)->nullable()->after('description'); + }); + + // Reconciliations + Schema::table('reconciliations', function (Blueprint $table) { + $table->unsignedInteger('created_by')->nullable()->after('reconciled'); + $table->string('created_from', 100)->nullable()->after('reconciled'); + }); + + // Recurring + Schema::table('recurring', function (Blueprint $table) { + $table->unsignedInteger('created_by')->nullable()->after('count'); + $table->string('created_from', 100)->nullable()->after('count'); + }); + + // Reports + Schema::create('reports', function (Blueprint $table) { + $table->increments('id'); + $table->integer('company_id'); + $table->string('class'); + $table->string('name'); + $table->text('description'); + $table->text('settings')->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->string('created_from', 100)->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index('company_id'); + $table->index('class'); + }); + + // Roles + Schema::table('roles', function (Blueprint $table) { + $table->unsignedInteger('created_by')->nullable()->after('description'); + $table->string('created_from', 100)->nullable()->after('description'); + }); + + // Taxes + Schema::table('taxes', function (Blueprint $table) { + $table->unsignedInteger('created_by')->nullable()->after('enabled'); + $table->string('created_from', 100)->nullable()->after('enabled'); + }); + + // Transactions + Schema::create('transactions', function (Blueprint $table) { + $table->increments('id'); + $table->integer('company_id'); + $table->string('type'); + $table->dateTime('paid_at'); + $table->double('amount', 15, 4); + $table->string('currency_code'); + $table->double('currency_rate', 15, 8); + $table->integer('account_id'); + $table->integer('document_id')->nullable(); + $table->integer('contact_id')->nullable(); + $table->integer('category_id')->default(1); + $table->text('description')->nullable(); + $table->string('payment_method'); + $table->string('reference')->nullable(); + $table->integer('parent_id')->default(0); + $table->boolean('reconciled')->default(0); + $table->string('created_from', 100)->nullable(); + $table->unsignedInteger('created_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index(['company_id', 'type']); + $table->index('account_id'); + $table->index('category_id'); + $table->index('contact_id'); + $table->index('document_id'); + }); + + // Transfers + Schema::table('transfers', function (Blueprint $table) { + $table->renameColumn('payment_id', 'expense_transaction_id'); + }); + + Schema::table('transfers', function (Blueprint $table) { + $table->renameColumn('revenue_id', 'income_transaction_id'); + }); + + Schema::table('transfers', function (Blueprint $table) { + $table->unsignedInteger('created_by')->nullable()->after('income_transaction_id'); + $table->string('created_from', 100)->nullable()->after('income_transaction_id'); + }); + + // Users + Schema::table('users', function (Blueprint $table) { + $table->string('landing_page', 70)->nullable()->default('dashboard')->after('locale'); + $table->unsignedInteger('created_by')->nullable()->after('enabled'); + $table->string('created_from', 100)->nullable()->after('enabled'); + }); + + Schema::dropIfExists('invoices'); + Schema::dropIfExists('invoice_histories'); + Schema::dropIfExists('invoice_items'); + Schema::dropIfExists('invoice_item_taxes'); + Schema::dropIfExists('invoice_statuses'); + Schema::dropIfExists('invoice_totals'); + Schema::dropIfExists('bills'); + Schema::dropIfExists('bill_histories'); + Schema::dropIfExists('bill_items'); + Schema::dropIfExists('bill_item_taxes'); + Schema::dropIfExists('bill_statuses'); + Schema::dropIfExists('bill_totals'); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}; diff --git a/database/migrations/2020_01_08_000000_core_v200.php b/database/migrations/2020_01_08_000000_core_v200.php deleted file mode 100644 index 6602dcb4e..000000000 --- a/database/migrations/2020_01_08_000000_core_v200.php +++ /dev/null @@ -1,280 +0,0 @@ -text('footer')->nullable()->after('notes'); - }); - - // Contacts - Schema::create('contacts', function (Blueprint $table) { - $table->increments('id'); - $table->integer('company_id'); - $table->string('type'); - $table->string('name'); - $table->string('email')->nullable(); - $table->integer('user_id')->nullable(); - $table->string('tax_number')->nullable(); - $table->string('phone')->nullable(); - $table->text('address')->nullable(); - $table->string('website')->nullable(); - $table->string('currency_code', 3); - $table->boolean('enabled'); - $table->string('reference')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index(['company_id', 'type']); - $table->unique(['company_id', 'type', 'email', 'deleted_at']); - }); - - $rename_bills = [ - 'bill_status_code' => 'status', - 'vendor_id' => 'contact_id', - 'vendor_name' => 'contact_name', - 'vendor_email' => 'contact_email', - 'vendor_tax_number' => 'contact_tax_number', - 'vendor_phone' => 'contact_phone', - 'vendor_address' => 'contact_address', - ]; - - foreach ($rename_bills as $from => $to) { - Schema::table('bills', function (Blueprint $table) use ($from, $to) { - $table->renameColumn($from, $to); - }); - } - - Schema::table('bill_histories', function (Blueprint $table) { - $table->renameColumn('status_code', 'status'); - }); - - Schema::drop('bill_statuses'); - - $rename_invoices = [ - 'invoice_status_code' => 'status', - 'customer_id' => 'contact_id', - 'customer_name' => 'contact_name', - 'customer_email' => 'contact_email', - 'customer_tax_number' => 'contact_tax_number', - 'customer_phone' => 'contact_phone', - 'customer_address' => 'contact_address', - ]; - - foreach ($rename_invoices as $from => $to) { - Schema::table('invoices', function (Blueprint $table) use ($from, $to) { - $table->renameColumn($from, $to); - }); - } - - Schema::table('invoice_histories', function (Blueprint $table) { - $table->renameColumn('status_code', 'status'); - }); - - Schema::drop('invoice_statuses'); - - // Dashboards - Schema::create('dashboards', function (Blueprint $table) { - $table->increments('id'); - $table->integer('company_id'); - $table->string('name'); - $table->boolean('enabled')->default(1); - $table->timestamps(); - $table->softDeletes(); - - $table->index(['company_id']); - }); - - Schema::create('user_dashboards', function (Blueprint $table) { - $table->integer('user_id')->unsigned(); - $table->integer('dashboard_id')->unsigned(); - $table->string('user_type', 20); - - $table->primary(['user_id', 'dashboard_id', 'user_type']); - }); - - Schema::create('widgets', function (Blueprint $table) { - $table->increments('id'); - $table->integer('company_id'); - $table->integer('dashboard_id'); - $table->string('class'); - $table->string('name'); - $table->integer('sort')->default(0); - $table->text('settings')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index(['company_id', 'dashboard_id']); - }); - - // Email templates - Schema::create('email_templates', function (Blueprint $table) { - $table->increments('id'); - $table->integer('company_id'); - $table->string('alias'); - $table->string('class'); - $table->string('name'); - $table->string('subject'); - $table->text('body'); - $table->text('params')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index('company_id'); - $table->unique(['company_id', 'alias', 'deleted_at']); - }); - - // Firewall - Schema::create('firewall_ips', function (Blueprint $table) { - $table->increments('id'); - $table->string('ip'); - $table->integer('log_id')->nullable(); - $table->boolean('blocked')->default(1); - $table->timestamps(); - $table->softDeletes(); - - $table->index('ip'); - $table->unique(['ip', 'deleted_at']); - }); - - Schema::create('firewall_logs', function (Blueprint $table) { - $table->increments('id'); - $table->string('ip'); - $table->string('level')->default('medium'); - $table->string('middleware'); - $table->integer('user_id')->nullable(); - $table->string('url')->nullable(); - $table->string('referrer')->nullable(); - $table->text('request')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index('ip'); - }); - - // Reports - Schema::create('reports', function (Blueprint $table) { - $table->increments('id'); - $table->integer('company_id'); - $table->string('class'); - $table->string('name'); - $table->text('description'); - $table->text('settings')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index('company_id'); - }); - - // Transactions - Schema::create('transactions', function (Blueprint $table) { - $table->increments('id'); - $table->integer('company_id'); - $table->string('type'); - $table->dateTime('paid_at'); - $table->double('amount', 15, 4); - $table->string('currency_code', 3); - $table->double('currency_rate', 15, 8); - $table->integer('account_id'); - $table->integer('document_id')->nullable(); - $table->integer('contact_id')->nullable(); - $table->integer('category_id')->default(1); - $table->text('description')->nullable(); - $table->string('payment_method'); - $table->string('reference')->nullable(); - $table->integer('parent_id')->default(0); - $table->boolean('reconciled')->default(0); - $table->timestamps(); - $table->softDeletes(); - - $table->index(['company_id', 'type']); - }); - - Schema::table('transfers', function (Blueprint $table) { - $table->renameColumn('payment_id', 'expense_transaction_id'); - }); - - Schema::table('transfers', function (Blueprint $table) { - $table->renameColumn('revenue_id', 'income_transaction_id'); - }); - - // Domain column - Schema::table('companies', function (Blueprint $table) { - $table->string('domain')->nullable()->change(); - }); - - // Status column - Schema::table('modules', function (Blueprint $table) { - $table->renameColumn('status', 'enabled'); - }); - - // Sku and quantity columns - Schema::table('items', function (Blueprint $table) { - $table->string('sku')->nullable()->change(); - $table->integer('quantity')->default(1)->change(); - - $connection = Schema::getConnection(); - $d_table = $connection->getDoctrineSchemaManager()->listTableDetails($connection->getTablePrefix() . 'items'); - - if ($d_table->hasIndex('items_company_id_sku_deleted_at_unique')) { - // 1.3 update - $table->dropUnique('items_company_id_sku_deleted_at_unique'); - } else { - // 2.0 install - $table->dropUnique(['company_id', 'sku', 'deleted_at']); - } - }); - - // Landing page column - Schema::table('users', function (Blueprint $table) { - $table->string('landing_page', 70)->nullable()->default('dashboard')->after('locale'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('invoices', function (Blueprint $table) { - $table->dropColumn('footer'); - }); - - Schema::drop('contacts'); - Schema::drop('dashboards'); - Schema::drop('user_dashboards'); - Schema::drop('widgets'); - Schema::drop('email_templates'); - Schema::drop('firewall_ips'); - Schema::drop('firewall_logs'); - Schema::drop('reports'); - Schema::drop('transactions'); - - Schema::table('companies', function (Blueprint $table) { - $table->string('domain')->change(); - }); - - Schema::table('modules', function (Blueprint $table) { - $table->renameColumn('enabled', 'status'); - }); - - Schema::table('items', function (Blueprint $table) { - $table->string('sku')->change(); - $table->integer('quantity')->change(); - $table->unique(['company_id', 'sku', 'deleted_at']); - }); - } -} diff --git a/database/migrations/2020_03_20_183732_core_v208.php b/database/migrations/2020_03_20_183732_core_v208.php deleted file mode 100644 index 7e4c586db..000000000 --- a/database/migrations/2020_03_20_183732_core_v208.php +++ /dev/null @@ -1,42 +0,0 @@ -double('discount_rate', 15, 4)->default('0.0000')->after('tax'); - $table->string('discount_type')->default('normal')->after('discount_rate'); - }); - - Schema::table('bill_items', function (Blueprint $table) { - $table->double('discount_rate', 15, 4)->default('0.0000')->after('tax'); - $table->string('discount_type')->default('normal')->after('discount_rate'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('invoice_items', function (Blueprint $table) { - $table->dropColumn(['discount_rate', 'discount_type']); - }); - - Schema::table('bill_items', function (Blueprint $table) { - $table->dropColumn(['discount_rate', 'discount_type']); - }); - } -} diff --git a/database/migrations/2020_06_09_000000_core_v2014.php b/database/migrations/2020_06_09_000000_core_v2014.php deleted file mode 100644 index 6d144b955..000000000 --- a/database/migrations/2020_06_09_000000_core_v2014.php +++ /dev/null @@ -1,44 +0,0 @@ -index($doc_type . '_id'); - }); - } - } - - Schema::table('transactions', function (Blueprint $table) { - $table->index('account_id'); - $table->index('category_id'); - $table->index('contact_id'); - $table->index('document_id'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/database/migrations/2020_07_20_000000_core_v2017.php b/database/migrations/2020_07_20_000000_core_v2017.php deleted file mode 100644 index 48d82fc4c..000000000 --- a/database/migrations/2020_07_20_000000_core_v2017.php +++ /dev/null @@ -1,30 +0,0 @@ -dropColumn('category'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/database/migrations/2020_10_13_000000_core_v210.php b/database/migrations/2020_10_13_000000_core_v210.php deleted file mode 100644 index 477cc5c30..000000000 --- a/database/migrations/2020_10_13_000000_core_v210.php +++ /dev/null @@ -1,154 +0,0 @@ -string('uuid')->after('id')->nullable()->unique(); - }); - - Schema::create('documents', function (Blueprint $table) { - $table->increments('id'); - $table->unsignedInteger('company_id'); - $table->string('type'); - $table->string('document_number'); - $table->string('order_number')->nullable(); - $table->string('status'); - $table->dateTime('issued_at'); - $table->dateTime('due_at'); - $table->double('amount', 15, 4); - $table->string('currency_code'); - $table->double('currency_rate', 15, 8); - $table->unsignedInteger('category_id')->default(1); - $table->unsignedInteger('contact_id'); - $table->string('contact_name'); - $table->string('contact_email')->nullable(); - $table->string('contact_tax_number')->nullable(); - $table->string('contact_phone')->nullable(); - $table->text('contact_address')->nullable(); - $table->text('notes')->nullable(); - $table->text('footer')->nullable(); - $table->unsignedInteger('parent_id')->default(0); - - $table->timestamps(); - $table->softDeletes(); - - $table->index('company_id'); - $table->index('type'); - $table->unique(['document_number', 'deleted_at', 'company_id', 'type']); - }); - - Schema::create('document_histories', function (Blueprint $table) { - $table->increments('id'); - $table->integer('company_id'); - $table->string('type'); - $table->unsignedInteger('document_id'); - $table->string('status'); - $table->boolean('notify'); - $table->text('description')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index('company_id'); - $table->index('type'); - $table->index('document_id'); - }); - - Schema::create('document_items', function (Blueprint $table) { - $table->increments('id'); - $table->unsignedInteger('company_id'); - $table->string('type'); - $table->unsignedInteger('document_id'); - $table->unsignedInteger('item_id')->nullable(); - $table->string('name'); - $table->text('description')->nullable(); - $table->string('sku')->nullable(); - $table->double('quantity', 7, 2); - $table->double('price', 15, 4); - $table->float('tax', 15, 4)->default('0.0000'); - $table->string('discount_type')->default('normal'); - $table->double('discount_rate', 15, 4)->default('0.0000'); - $table->double('total', 15, 4); - $table->timestamps(); - $table->softDeletes(); - - $table->index('company_id'); - $table->index('type'); - $table->index('document_id'); - }); - - Schema::create('document_item_taxes', function (Blueprint $table) { - $table->increments('id'); - $table->unsignedInteger('company_id'); - $table->string('type'); - $table->unsignedInteger('document_id'); - $table->unsignedInteger('document_item_id'); - $table->unsignedInteger('tax_id'); - $table->string('name'); - $table->double('amount', 15, 4)->default('0.0000'); - $table->timestamps(); - $table->softDeletes(); - - $table->index('company_id'); - $table->index('type'); - $table->index('document_id'); - }); - - Schema::create('document_totals', function (Blueprint $table) { - $table->increments('id'); - $table->unsignedInteger('company_id'); - $table->string('type'); - $table->unsignedInteger('document_id'); - $table->string('code')->nullable(); - $table->string('name'); - $table->double('amount', 15, 4); - $table->integer('sort_order'); - $table->timestamps(); - $table->softDeletes(); - - $table->index('company_id'); - $table->index('type'); - $table->index('document_id'); - }); - - Schema::create('item_taxes', function (Blueprint $table) { - $table->increments('id'); - $table->integer('company_id'); - $table->integer('item_id'); - $table->integer('tax_id')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index(['company_id', 'item_id']); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('failed_jobs', function (Blueprint $table) { - $table->dropColumn('uuid'); - }); - - Schema::drop('documents'); - Schema::drop('document_histories'); - Schema::drop('document_items'); - Schema::drop('document_item_taxes'); - Schema::drop('document_totals'); - Schema::drop('item_taxes'); - } -} diff --git a/database/migrations/2021_04_01_000000_core_v219.php b/database/migrations/2021_04_01_000000_core_v219.php deleted file mode 100644 index 735a51e77..000000000 --- a/database/migrations/2021_04_01_000000_core_v219.php +++ /dev/null @@ -1,34 +0,0 @@ -index('class'); - }); - - Schema::table('widgets', function (Blueprint $table) { - $table->index('class'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/database/migrations/2021_05_17_000000_core_v2114.php b/database/migrations/2021_05_17_000000_core_v2114.php deleted file mode 100644 index 90d5de76b..000000000 --- a/database/migrations/2021_05_17_000000_core_v2114.php +++ /dev/null @@ -1,44 +0,0 @@ -unsignedInteger('company_id')->default(0)->after('id'); - - $table->index('company_id'); - }); - - Schema::table('mediables', function (Blueprint $table) { - $table->unsignedInteger('company_id')->default(0)->after('media_id'); - - $table->index('company_id'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('media', function (Blueprint $table) { - $table->dropColumn('company_id'); - }); - - Schema::table('mediables', function (Blueprint $table) { - $table->dropColumn('company_id'); - }); - } -} diff --git a/database/migrations/2021_06_17_000000_core_v2117.php b/database/migrations/2021_06_17_000000_core_v2117.php deleted file mode 100644 index 76483b596..000000000 --- a/database/migrations/2021_06_17_000000_core_v2117.php +++ /dev/null @@ -1,82 +0,0 @@ -unsignedInteger('created_by')->nullable()->after('enabled'); - }); - - Schema::table('categories', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('enabled'); - }); - - Schema::table('companies', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('enabled'); - }); - - Schema::table('contacts', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('reference'); - }); - - Schema::table('currencies', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('enabled'); - }); - - Schema::table('dashboards', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('enabled'); - }); - - Schema::table('documents', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('parent_id'); - }); - - Schema::table('items', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('enabled'); - }); - - Schema::table('reconciliations', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('reconciled'); - }); - - Schema::table('reports', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('settings'); - }); - - Schema::table('taxes', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('enabled'); - }); - - Schema::table('transactions', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('parent_id'); - }); - - Schema::table('transfers', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('income_transaction_id'); - }); - - Schema::table('widgets', function (Blueprint $table) { - $table->unsignedInteger('created_by')->nullable()->after('settings'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/database/migrations/2021_09_01_000000_core_v2124.php b/database/migrations/2021_09_01_000000_core_v2124.php deleted file mode 100644 index a2eedd413..000000000 --- a/database/migrations/2021_09_01_000000_core_v2124.php +++ /dev/null @@ -1,154 +0,0 @@ -string('country')->nullable()->after('address'); - $table->string('state')->nullable()->after('address'); - $table->string('zip_code')->nullable()->after('address'); - $table->string('city')->nullable()->after('address'); - }); - - Schema::table('accounts', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('enabled'); - }); - - Schema::table('categories', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('enabled'); - }); - - Schema::table('companies', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('enabled'); - }); - - Schema::table('contacts', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('reference'); - }); - - Schema::table('currencies', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('enabled'); - }); - - Schema::table('dashboards', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('enabled'); - }); - - Schema::table('documents', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('parent_id'); - }); - - Schema::table('document_histories', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('description'); - $table->string('created_from', 30)->nullable()->after('description'); - }); - - Schema::table('document_items', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('total'); - $table->string('created_from', 30)->nullable()->after('total'); - }); - - Schema::table('document_item_taxes', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('amount'); - $table->string('created_from', 30)->nullable()->after('amount'); - }); - - Schema::table('document_totals', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('sort_order'); - $table->string('created_from', 30)->nullable()->after('sort_order'); - }); - - Schema::table('email_templates', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('params'); - $table->string('created_from', 30)->nullable()->after('params'); - }); - - Schema::table('items', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('enabled'); - }); - - Schema::table('item_taxes', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('tax_id'); - $table->string('created_from', 30)->nullable()->after('tax_id'); - }); - - Schema::table('media', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('original_media_id'); - $table->string('created_from', 30)->nullable()->after('original_media_id'); - }); - - Schema::table('mediables', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('order'); - $table->string('created_from', 30)->nullable()->after('order'); - }); - - Schema::table('modules', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('enabled'); - $table->string('created_from', 30)->nullable()->after('enabled'); - }); - - Schema::table('module_histories', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('description'); - $table->string('created_from', 30)->nullable()->after('description'); - }); - - Schema::table('reconciliations', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('reconciled'); - }); - - Schema::table('recurring', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('count'); - $table->string('created_from', 30)->nullable()->after('count'); - }); - - Schema::table('reports', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('settings'); - }); - - Schema::table('roles', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('description'); - $table->string('created_from', 30)->nullable()->after('description'); - }); - - Schema::table('taxes', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('enabled'); - }); - - Schema::table('transactions', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('parent_id'); - }); - - Schema::table('transfers', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('income_transaction_id'); - }); - - Schema::table('users', function (Blueprint $table) { - $table->string('created_by', 30)->nullable()->after('enabled'); - $table->string('created_from', 30)->nullable()->after('enabled'); - }); - - Schema::table('widgets', function (Blueprint $table) { - $table->string('created_from', 30)->nullable()->after('settings'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/database/migrations/2021_09_10_000000_core_v2125.php b/database/migrations/2021_09_10_000000_core_v2125.php deleted file mode 100644 index d6d6c691b..000000000 --- a/database/migrations/2021_09_10_000000_core_v2125.php +++ /dev/null @@ -1,134 +0,0 @@ -string('created_from', 100)->change(); - }); - - Schema::table('categories', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('companies', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('contacts', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('currencies', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('dashboards', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('documents', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('document_histories', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('document_items', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('document_item_taxes', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('document_totals', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('email_templates', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('items', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('item_taxes', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('media', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('mediables', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('modules', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('module_histories', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('reconciliations', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('recurring', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('reports', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('roles', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('taxes', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('transactions', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('transfers', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('users', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - - Schema::table('widgets', function (Blueprint $table) { - $table->string('created_from', 100)->change(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/database/migrations/2021_09_10_000000_core_v2126.php b/database/migrations/2021_09_10_000000_core_v2126.php deleted file mode 100644 index a03da73fe..000000000 --- a/database/migrations/2021_09_10_000000_core_v2126.php +++ /dev/null @@ -1,30 +0,0 @@ -boolean('enabled')->default(1)->change(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/database/migrations/2021_09_10_000000_core_v2127.php b/database/migrations/2021_09_10_000000_core_v2127.php deleted file mode 100644 index 7626be040..000000000 --- a/database/migrations/2021_09_10_000000_core_v2127.php +++ /dev/null @@ -1,33 +0,0 @@ -string('contact_country')->nullable()->after('contact_address'); - $table->string('contact_state')->nullable()->after('contact_address'); - $table->string('contact_zip_code')->nullable()->after('contact_address'); - $table->string('contact_city')->nullable()->after('contact_address'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/database/migrations/2022_03_02_000000_core_v2133.php b/database/migrations/2022_03_02_000000_core_v2133.php deleted file mode 100644 index 595dbb52f..000000000 --- a/database/migrations/2022_03_02_000000_core_v2133.php +++ /dev/null @@ -1,48 +0,0 @@ -softDeletes(); - }); - - Schema::table('user_companies', function (Blueprint $table) { - $table->dropPrimary(['user_id', 'company_id', 'user_type']); - $table->primary(['user_id', 'company_id']); - }); - - Schema::table('user_companies', function (Blueprint $table) { - $table->dropColumn('user_type'); - }); - - Schema::table('user_dashboards', function (Blueprint $table) { - $table->dropPrimary(['user_id', 'dashboard_id', 'user_type']); - $table->primary(['user_id', 'dashboard_id']); - }); - - Schema::table('user_dashboards', function (Blueprint $table) { - $table->dropColumn('user_type'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -}; diff --git a/database/migrations/2022_03_23_000000_core_v2134.php b/database/migrations/2022_03_23_000000_core_v2134.php deleted file mode 100644 index 3cb64b37d..000000000 --- a/database/migrations/2022_03_23_000000_core_v2134.php +++ /dev/null @@ -1,34 +0,0 @@ -string('currency_code')->change(); - }); - - Schema::table('transactions', function (Blueprint $table) { - $table->string('currency_code')->change(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -}; diff --git a/database/migrations/2022_05_10_000000_core_v300.php b/database/migrations/2022_05_10_000000_core_v300.php new file mode 100644 index 000000000..d6229e67f --- /dev/null +++ b/database/migrations/2022_05_10_000000_core_v300.php @@ -0,0 +1,105 @@ +unsignedInteger('split_id')->nullable()->after('parent_id'); + + $table->foreign('split_id')->references('id')->on('transactions'); + }); + + Schema::table('categories', function (Blueprint $table) { + $table->unsignedInteger('parent_id')->nullable()->after('enabled'); + + $table->foreign('parent_id')->references('id')->on('categories'); + }); + + Schema::table('items', function(Blueprint $table) { + $table->dropColumn('tax_id'); + }); + + Schema::table('items', function(Blueprint $table) { + $table->dropColumn('quantity'); + }); + + Schema::table('items', function(Blueprint $table) { + $table->string('type')->default('product')->after('company_id'); + $table->double('sale_price', 15, 4)->nullable()->change(); + $table->double('purchase_price', 15, 4)->nullable()->change(); + }); + + Schema::table('recurring', function(Blueprint $table) { + $table->renameColumn('count', 'limit_count')->nullable(); + }); + + Schema::table('recurring', function (Blueprint $table) { + $table->string('status')->default('active')->after('started_at'); + $table->string('limit_by')->default('count')->after('status'); + $table->dateTime('limit_date')->nullable()->after('limit_count'); + $table->boolean('auto_send')->default(1)->after('limit_date'); + }); + + Schema::table('transactions', function (Blueprint $table) { + $number = $table->string('number')->after('type'); + + if ($this->databaseDriverIs('sqlite')) { + $number->nullable(); + } + }); + + Schema::table('accounts', function(Blueprint $table) { + $table->string('type')->default('bank')->after('company_id'); + }); + + if (! Schema::hasTable('personal_access_tokens')) { + Schema::create('personal_access_tokens', function (Blueprint $table) { + $table->id(); + $table->morphs('tokenable'); + $table->string('name'); + $table->string('token', 64)->unique(); + $table->text('abilities')->nullable(); + $table->timestamp('last_used_at')->nullable(); + $table->timestamps(); + }); + } + + Schema::create('user_invitations', function (Blueprint $table) { + $table->id(); + $table->integer('user_id')->unsigned(); + $table->integer('company_id')->unsigned(); + $table->string('token'); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}; diff --git a/database/seeds/Currencies.php b/database/seeds/Currencies.php index 783b1d71a..44e9946ae 100644 --- a/database/seeds/Currencies.php +++ b/database/seeds/Currencies.php @@ -42,39 +42,6 @@ class Currencies extends Seeder 'decimal_mark' => config('money.USD.decimal_mark'), 'thousands_separator' => config('money.USD.thousands_separator'), ], - [ - 'company_id' => $company_id, - 'name' => trans('demo.currencies.eur'), - 'code' => 'EUR', - 'rate' => '1.25', - 'precision' => config('money.EUR.precision'), - 'symbol' => config('money.EUR.symbol'), - 'symbol_first' => config('money.EUR.symbol_first'), - 'decimal_mark' => config('money.EUR.decimal_mark'), - 'thousands_separator' => config('money.EUR.thousands_separator'), - ], - [ - 'company_id' => $company_id, - 'name' => trans('demo.currencies.gbp'), - 'code' => 'GBP', - 'rate' => '1.60', - 'precision' => config('money.GBP.precision'), - 'symbol' => config('money.GBP.symbol'), - 'symbol_first' => config('money.GBP.symbol_first'), - 'decimal_mark' => config('money.GBP.decimal_mark'), - 'thousands_separator' => config('money.GBP.thousands_separator'), - ], - [ - 'company_id' => $company_id, - 'name' => trans('demo.currencies.try'), - 'code' => 'TRY', - 'rate' => '0.80', - 'precision' => config('money.TRY.precision'), - 'symbol' => config('money.TRY.symbol'), - 'symbol_first' => config('money.TRY.symbol_first'), - 'decimal_mark' => config('money.TRY.decimal_mark'), - 'thousands_separator' => config('money.TRY.thousands_separator'), - ], ]; foreach ($rows as $row) { diff --git a/database/seeds/Dashboards.php b/database/seeds/Dashboards.php index 927804747..066345788 100644 --- a/database/seeds/Dashboards.php +++ b/database/seeds/Dashboards.php @@ -34,15 +34,13 @@ class Dashboards extends Seeder 'company_id' => $company_id, 'name' => trans_choice('general.dashboards', 1), 'custom_widgets' => [ - 'App\Widgets\TotalIncome', - 'App\Widgets\TotalExpenses', - 'App\Widgets\TotalProfit', + 'App\Widgets\Receivables', + 'App\Widgets\Payables', 'App\Widgets\CashFlow', - 'App\Widgets\IncomeByCategory', + 'App\Widgets\ProfitLoss', 'App\Widgets\ExpensesByCategory', 'App\Widgets\AccountBalance', - 'App\Widgets\LatestIncome', - 'App\Widgets\LatestExpenses', + 'App\Widgets\BankFeeds', ], 'users' => $user_id, 'created_from' => 'core::seed', diff --git a/database/seeds/EmailTemplates.php b/database/seeds/EmailTemplates.php index c47c0142a..ca4b010c0 100644 --- a/database/seeds/EmailTemplates.php +++ b/database/seeds/EmailTemplates.php @@ -55,6 +55,11 @@ class EmailTemplates extends Seeder 'class' => 'App\Notifications\Sale\Invoice', 'name' => 'settings.email.templates.invoice_recur_admin', ], + [ + 'alias' => 'invoice_view_admin', + 'class' => 'App\Notifications\Sale\Invoice', + 'name' => 'settings.email.templates.invoice_view_admin', + ], [ 'alias' => 'invoice_payment_customer', 'class' => 'App\Notifications\Portal\PaymentReceived', @@ -76,9 +81,14 @@ class EmailTemplates extends Seeder 'name' => 'settings.email.templates.bill_recur_admin', ], [ - 'alias' => 'revenue_new_customer', - 'class' => 'App\Notifications\Sale\Revenue', - 'name' => 'settings.email.templates.revenue_new_customer', + 'alias' => 'payment_received_customer', + 'class' => 'App\Notifications\Banking\Transaction', + 'name' => 'settings.email.templates.payment_received_customer', + ], + [ + 'alias' => 'payment_made_vendor', + 'class' => 'App\Notifications\Banking\Transaction', + 'name' => 'settings.email.templates.payment_made_vendor', ], ]; diff --git a/database/seeds/Permissions.php b/database/seeds/Permissions.php index 0fe1e7170..1161bfec9 100644 --- a/database/seeds/Permissions.php +++ b/database/seeds/Permissions.php @@ -29,9 +29,7 @@ class Permissions extends Seeder 'admin' => [ 'admin-panel' => 'r', 'api' => 'r', - 'auth-permissions' => 'c,r,u,d', 'auth-profile' => 'r,u', - 'auth-roles' => 'c,r,u,d', 'auth-users' => 'c,r,u,d', 'banking-accounts' => 'c,r,u,d', 'banking-reconciliations' => 'c,r,u,d', @@ -41,17 +39,14 @@ class Permissions extends Seeder 'common-dashboards' => 'c,r,u,d', 'common-import' => 'c', 'common-items' => 'c,r,u,d', - 'common-notifications' => 'c,r,u,d', 'common-reports' => 'c,r,u,d', 'common-search' => 'r', 'common-uploads' => 'r,d', 'common-widgets' => 'c,r,u,d', 'purchases-bills' => 'c,r,u,d', - 'purchases-payments' => 'c,r,u,d', 'purchases-vendors' => 'c,r,u,d', 'sales-customers' => 'c,r,u,d', 'sales-invoices' => 'c,r,u,d', - 'sales-revenues' => 'c,r,u,d', 'install-updates' => 'r,u', 'modules-api-key' => 'c,u', 'modules-home' => 'r', @@ -65,26 +60,24 @@ class Permissions extends Seeder 'reports-profit-loss' => 'r', 'reports-tax-summary' => 'r', 'settings-categories' => 'c,r,u,d', - 'settings-company' => 'r', + 'settings-company' => 'r,u', 'settings-currencies' => 'c,r,u,d', - 'settings-defaults' => 'r', - 'settings-email' => 'r', - 'settings-invoice' => 'r', - 'settings-localisation' => 'r', + 'settings-defaults' => 'r,u', + 'settings-email' => 'r,u', + 'settings-email-templates' => 'r,u', + 'settings-invoice' => 'r,u', + 'settings-localisation' => 'r,u', 'settings-modules' => 'r,u', - 'settings-settings' => 'r,u', - 'settings-schedule' => 'r', + 'settings-schedule' => 'r,u', 'settings-taxes' => 'c,r,u,d', 'widgets-account-balance' => 'r', + 'widgets-bank-feeds' => 'r', 'widgets-cash-flow' => 'r', - 'widgets-expenses-by-category' => 'r', - 'widgets-income-by-category' => 'r', - 'widgets-latest-expenses' => 'r', - 'widgets-latest-income' => 'r', - 'widgets-total-expenses' => 'r', - 'widgets-total-income' => 'r', - 'widgets-total-profit' => 'r', 'widgets-currencies' => 'r', + 'widgets-expenses-by-category' => 'r', + 'widgets-payables' => 'r', + 'widgets-profit-loss' => 'r', + 'widgets-receivables' => 'r', ], 'manager' => [ 'admin-panel' => 'r', @@ -97,17 +90,14 @@ class Permissions extends Seeder 'common-dashboards' => 'c,r,u,d', 'common-import' => 'c', 'common-items' => 'c,r,u,d', - 'common-notifications' => 'c,r,u,d', 'common-reports' => 'c,r,u,d', 'common-search' => 'r', 'common-uploads' => 'r', 'common-widgets' => 'c,r,u,d', 'purchases-bills' => 'c,r,u,d', - 'purchases-payments' => 'c,r,u,d', 'purchases-vendors' => 'c,r,u,d', 'sales-customers' => 'c,r,u,d', 'sales-invoices' => 'c,r,u,d', - 'sales-revenues' => 'c,r,u,d', 'install-updates' => 'r,u', 'notifications' => 'r,u', 'reports-expense-summary' => 'r', @@ -116,33 +106,54 @@ class Permissions extends Seeder 'reports-profit-loss' => 'r', 'reports-tax-summary' => 'r', 'settings-categories' => 'c,r,u,d', - 'settings-company' => 'r', + 'settings-company' => 'r,u', 'settings-currencies' => 'c,r,u,d', - 'settings-defaults' => 'r', - 'settings-email' => 'r', - 'settings-invoice' => 'r', - 'settings-localisation' => 'r', + 'settings-defaults' => 'r,u', + 'settings-email' => 'r,u', + 'settings-email-templates' => 'r,u', + 'settings-invoice' => 'r,u', + 'settings-localisation' => 'r,u', 'settings-modules' => 'r,u', - 'settings-settings' => 'r,u', - 'settings-schedule' => 'r', + 'settings-schedule' => 'r,u', 'settings-taxes' => 'c,r,u,d', 'widgets-account-balance' => 'r', + 'widgets-bank-feeds' => 'r', 'widgets-cash-flow' => 'r', - 'widgets-expenses-by-category' => 'r', - 'widgets-income-by-category' => 'r', - 'widgets-latest-expenses' => 'r', - 'widgets-latest-income' => 'r', - 'widgets-total-expenses' => 'r', - 'widgets-total-income' => 'r', - 'widgets-total-profit' => 'r', 'widgets-currencies' => 'r', + 'widgets-expenses-by-category' => 'r', + 'widgets-payables' => 'r', + 'widgets-profit-loss' => 'r', + 'widgets-receivables' => 'r', ], 'customer' => [ 'client-portal' => 'r', 'portal-invoices' => 'r,u', 'portal-payments' => 'r,u', 'portal-profile' => 'r,u', - ] + ], + 'accountant' => [ + 'admin-panel' => 'r', + 'api' => 'r', + 'common-dashboards' => 'r', + 'common-items' => 'r', + 'purchases-bills' => 'r', + 'purchases-vendors' => 'r', + 'sales-customers' => 'r', + 'sales-invoices' => 'r', + 'banking-accounts' => 'r', + 'banking-reconciliations' => 'r', + 'banking-transactions' => 'r', + 'banking-transfers' => 'r', + 'reports-expense-summary' => 'r', + 'reports-income-summary' => 'r', + 'reports-income-expense-summary' => 'r', + 'reports-profit-loss' => 'r', + 'reports-tax-summary' => 'r', + 'modules-home' => 'r', + 'modules-item' => 'r', + 'modules-my' => 'r', + 'modules-tiles' => 'r', + ], ]; $this->attachPermissionsByRoleNames($rows); diff --git a/database/seeds/Reports.php b/database/seeds/Reports.php index 1a85f9096..38891b705 100644 --- a/database/seeds/Reports.php +++ b/database/seeds/Reports.php @@ -33,23 +33,23 @@ class Reports extends Seeder [ 'company_id' => $company_id, 'class' => 'App\Reports\IncomeSummary', - 'name' => trans('reports.summary.income'), + 'name' => trans('reports.income_summary'), 'description' => trans('demo.reports.income'), - 'settings' => ['group' => 'category', 'period' => 'monthly', 'basis' => 'accrual', 'chart' => 'line'], + 'settings' => ['group' => 'category', 'period' => 'monthly', 'basis' => 'accrual'], ], [ 'company_id' => $company_id, 'class' => 'App\Reports\ExpenseSummary', - 'name' => trans('reports.summary.expense'), + 'name' => trans('reports.expense_summary'), 'description' => trans('demo.reports.expense'), - 'settings' => ['group' => 'category', 'period' => 'monthly', 'basis' => 'accrual', 'chart' => 'line'], + 'settings' => ['group' => 'category', 'period' => 'monthly', 'basis' => 'accrual'], ], [ 'company_id' => $company_id, 'class' => 'App\Reports\IncomeExpenseSummary', - 'name' => trans('reports.summary.income_expense'), + 'name' => trans('reports.income_expense_summary'), 'description' => trans('demo.reports.income_expense'), - 'settings' => ['group' => 'category', 'period' => 'monthly', 'basis' => 'accrual', 'chart' => 'line'], + 'settings' => ['group' => 'category', 'period' => 'monthly', 'basis' => 'accrual'], ], [ 'company_id' => $company_id, @@ -61,7 +61,7 @@ class Reports extends Seeder [ 'company_id' => $company_id, 'class' => 'App\Reports\TaxSummary', - 'name' => trans('reports.summary.tax'), + 'name' => trans('reports.tax_summary'), 'description' => trans('demo.reports.tax'), 'settings' => ['period' => 'quarterly', 'basis' => 'accrual'], ], diff --git a/database/seeds/SampleData.php b/database/seeds/SampleData.php old mode 100755 new mode 100644 index b79c21f78..f2ee6c8e9 --- a/database/seeds/SampleData.php +++ b/database/seeds/SampleData.php @@ -27,6 +27,8 @@ class SampleData extends Seeder $count = (int) $this->command->option('count'); $small_count = ($count <= 10) ? $count : 10; + $company = (int) $this->command->option('company'); + $this->command->info('Creating sample data...'); $bar = $this->command->getOutput()->createProgressBar(7); @@ -34,25 +36,25 @@ class SampleData extends Seeder $bar->start(); - Contact::factory()->count($count)->create(); + Contact::factory()->company($company)->count($count)->create(); $bar->advance(); - Category::factory()->count($count)->create(); + Category::factory()->company($company)->count($count)->create(); $bar->advance(); - Tax::factory()->count($small_count)->enabled()->create(); + Tax::factory()->company($company)->count($small_count)->enabled()->create(); $bar->advance(); - Item::factory()->count($count)->create(); + Item::factory()->company($company)->count($count)->create(); $bar->advance(); - Account::factory()->count($small_count)->create(); + Account::factory()->company($company)->count($small_count)->create(); $bar->advance(); - Document::factory()->bill()->count($count)->create(); + Document::factory()->company($company)->bill()->count($count)->create(); $bar->advance(); - Document::factory()->invoice()->count($count)->create(); + Document::factory()->company($company)->invoice()->count($count)->create(); $bar->advance(); $bar->finish(); diff --git a/database/seeds/TestCompany.php b/database/seeds/TestCompany.php index 4a5a1bece..995273a69 100644 --- a/database/seeds/TestCompany.php +++ b/database/seeds/TestCompany.php @@ -57,6 +57,9 @@ class TestCompany extends Seeder $company->makeCurrent(true); + setting()->set('email.protocol', 'log'); + config(['mail.default' => setting('email.protocol')]); + $this->command->info('Test company created.'); } diff --git a/overrides/livewire/LivewireServiceProvider.php b/overrides/livewire/LivewireServiceProvider.php index 4fd2f9321..37831154e 100644 --- a/overrides/livewire/LivewireServiceProvider.php +++ b/overrides/livewire/LivewireServiceProvider.php @@ -3,6 +3,7 @@ namespace Livewire; use Illuminate\View\View; +use Illuminate\Testing\TestView; use Illuminate\Testing\TestResponse; use Illuminate\Filesystem\Filesystem; use Illuminate\Support\Facades\Blade; @@ -31,6 +32,7 @@ use Livewire\Commands\{ S3CleanupCommand, MakeLivewireCommand, }; +use Livewire\Macros\ViewMacros; use Livewire\HydrationMiddleware\{ RenderView, PerformActionCalls, @@ -44,7 +46,6 @@ use Livewire\HydrationMiddleware\{ NormalizeServerMemoSansDataForJavaScript, NormalizeComponentPropertiesForJavaScript, }; -use Livewire\Macros\ViewMacros; class LivewireServiceProvider extends ServiceProvider { @@ -61,28 +62,33 @@ class LivewireServiceProvider extends ServiceProvider $this->registerViews(); $this->registerRoutes(); $this->registerCommands(); - $this->registerRenameMes(); + $this->registerFeatures(); $this->registerViewMacros(); $this->registerTagCompiler(); $this->registerPublishables(); $this->registerBladeDirectives(); $this->registerViewCompilerEngine(); $this->registerHydrationMiddleware(); + $this->registerDisableBrowserCacheMiddleware(); // Bypass specific middlewares during Livewire requests. // These are usually helpful during a typical request, but // during Livewire requests, they can damage data properties. - $this->bypassTheseMiddlewaresDuringLivewireRequests([ - TrimStrings::class, - ConvertEmptyStringsToNull::class, - // If the app overrode "TrimStrings". - \App\Http\Middleware\TrimStrings::class, - ]); + if (! $this->attemptToBypassRequestModifyingMiddlewareViaCallbacks()) { + $this->bypassTheseMiddlewaresDuringLivewireRequests([ + TrimStrings::class, + ConvertEmptyStringsToNull::class, + // If the app overrode "TrimStrings". + \App\Http\Middleware\TrimStrings::class, + ]); + } } protected function registerLivewireSingleton() { - $this->app->singleton('livewire', LivewireManager::class); + $this->app->singleton(LivewireManager::class); + + $this->app->alias(LivewireManager::class, 'livewire'); } protected function registerComponentAutoDiscovery() @@ -92,7 +98,7 @@ class LivewireServiceProvider extends ServiceProvider // alias. For instance: 'examples.foo' => App\Http\Livewire\Examples\Foo // We will generate a manifest file so we don't have to do the lookup every time. - $defaultManifestPath = $this->app['livewire']->isOnVapor() + $defaultManifestPath = $this->app['livewire']->isRunningServerless() ? '/tmp/storage/bootstrap/cache/livewire-components.php' : app()->bootstrapPath('cache/livewire-components.php'); @@ -165,6 +171,10 @@ class LivewireServiceProvider extends ServiceProvider { // Usage: $this->assertSeeLivewire('counter'); TestResponse::macro('assertSeeLivewire', function ($component) { + if (is_subclass_of($component, Component::class)) { + $component = $component::getName(); + } + $escapedComponentName = trim(htmlspecialchars(json_encode(['name' => $component])), '{}'); \PHPUnit\Framework\Assert::assertStringContainsString( @@ -178,6 +188,10 @@ class LivewireServiceProvider extends ServiceProvider // Usage: $this->assertDontSeeLivewire('counter'); TestResponse::macro('assertDontSeeLivewire', function ($component) { + if (is_subclass_of($component, Component::class)) { + $component = $component::getName(); + } + $escapedComponentName = trim(htmlspecialchars(json_encode(['name' => $component])), '{}'); \PHPUnit\Framework\Assert::assertStringNotContainsString( @@ -188,6 +202,40 @@ class LivewireServiceProvider extends ServiceProvider return $this; }); + + if (class_exists(TestView::class)) { + TestView::macro('assertSeeLivewire', function ($component) { + if (is_subclass_of($component, Component::class)) { + $component = $component::getName(); + } + + $escapedComponentName = trim(htmlspecialchars(json_encode(['name' => $component])), '{}'); + + \PHPUnit\Framework\Assert::assertStringContainsString( + $escapedComponentName, + $this->rendered, + 'Cannot find Livewire component ['.$component.'] rendered on page.' + ); + + return $this; + }); + + TestView::macro('assertDontSeeLivewire', function ($component) { + if (is_subclass_of($component, Component::class)) { + $component = $component::getName(); + } + + $escapedComponentName = trim(htmlspecialchars(json_encode(['name' => $component])), '{}'); + + \PHPUnit\Framework\Assert::assertStringNotContainsString( + $escapedComponentName, + $this->rendered, + 'Found Livewire component ['.$component.'] rendered on page.' + ); + + return $this; + }); + } } protected function registerViewMacros() @@ -195,7 +243,7 @@ class LivewireServiceProvider extends ServiceProvider // Early versions of Laravel 7.x don't have this method. if (method_exists(ComponentAttributeBag::class, 'macro')) { ComponentAttributeBag::macro('wire', function ($name) { - $entries = head($this->whereStartsWith('wire:'.$name)); + $entries = head((array) $this->whereStartsWith('wire:'.$name)); $directive = head(array_keys($entries)); $value = head(array_values($entries)); @@ -233,11 +281,21 @@ class LivewireServiceProvider extends ServiceProvider protected function registerBladeDirectives() { + Blade::directive('js', [LivewireBladeDirectives::class, 'js']); Blade::directive('this', [LivewireBladeDirectives::class, 'this']); Blade::directive('entangle', [LivewireBladeDirectives::class, 'entangle']); Blade::directive('livewire', [LivewireBladeDirectives::class, 'livewire']); Blade::directive('livewireStyles', [LivewireBladeDirectives::class, 'livewireStyles']); Blade::directive('livewireScripts', [LivewireBladeDirectives::class, 'livewireScripts']); + + // Uncomment to get @stacks working in Livewire. + // Blade::directive('stack', [LivewireBladeDirectives::class, 'stack']); + // Blade::directive('once', [LivewireBladeDirectives::class, 'once']); + // Blade::directive('endonce', [LivewireBladeDirectives::class, 'endonce']); + // Blade::directive('push', [LivewireBladeDirectives::class, 'push']); + // Blade::directive('endpush', [LivewireBladeDirectives::class, 'endpush']); + // Blade::directive('prepend', [LivewireBladeDirectives::class, 'prepend']); + // Blade::directive('endprepend', [LivewireBladeDirectives::class, 'endprepend']); } protected function registerViewCompilerEngine() @@ -250,7 +308,7 @@ class LivewireServiceProvider extends ServiceProvider // If the application is using Ignition, make sure Livewire's view compiler // uses a version that extends Ignition's so it can continue to report errors // correctly. Don't change this class without first submitting a PR to Ignition. - if (class_exists(\Facade\Ignition\IgnitionServiceProvider::class)) { + if (class_exists('Facade\Ignition\IgnitionServiceProvider')) { return new CompilerEngineForIgnition($this->app['blade.compiler']); } @@ -258,19 +316,23 @@ class LivewireServiceProvider extends ServiceProvider }); } - protected function registerRenameMes() + protected function registerFeatures() { - RenameMe\SupportEvents::init(); - RenameMe\SupportLocales::init(); - RenameMe\SupportChildren::init(); - RenameMe\SupportRedirects::init(); - RenameMe\SupportValidation::init(); - RenameMe\SupportFileUploads::init(); - RenameMe\OptimizeRenderedDom::init(); - RenameMe\SupportFileDownloads::init(); - RenameMe\SupportActionReturns::init(); - RenameMe\SupportBrowserHistory::init(); - RenameMe\SupportComponentTraits::init(); + Features\SupportEvents::init(); + Features\SupportStacks::init(); + Features\SupportLocales::init(); + Features\SupportChildren::init(); + Features\SupportRedirects::init(); + Features\SupportValidation::init(); + Features\SupportBootMethod::init(); + Features\SupportFileUploads::init(); + Features\OptimizeRenderedDom::init(); + Features\SupportFileDownloads::init(); + Features\SupportActionReturns::init(); + Features\SupportBrowserHistory::init(); + Features\SupportComponentTraits::init(); + Features\SupportRootElementTracking::init(); + Features\SupportPostDeploymentInvalidation::init(); } protected function registerHydrationMiddleware() @@ -324,17 +386,45 @@ class LivewireServiceProvider extends ServiceProvider ]); } + protected function registerDisableBrowserCacheMiddleware() + { + $kernel = $this->app->make(\Illuminate\Contracts\Http\Kernel::class); + + if ($kernel->hasMiddleware(DisableBrowserCache::class)) { + return; + } + + $kernel->pushMiddleware(DisableBrowserCache::class); + } + + protected function attemptToBypassRequestModifyingMiddlewareViaCallbacks() + { + if (method_exists(TrimStrings::class, 'skipWhen') && + method_exists(ConvertEmptyStringsToNull::class, 'skipWhen')) { + TrimStrings::skipWhen(function () { + return Livewire::isProbablyLivewireRequest(); + }); + + ConvertEmptyStringsToNull::skipWhen(function () { + return Livewire::isProbablyLivewireRequest(); + }); + + return true; + } + + return false; + } + protected function bypassTheseMiddlewaresDuringLivewireRequests(array $middlewareToExclude) { if (! Livewire::isProbablyLivewireRequest()) return; $kernel = $this->app->make(\Illuminate\Contracts\Http\Kernel::class); - $openKernel = new ObjectPrybar($kernel); - - $middleware = $openKernel->getProperty('middleware'); - - $openKernel->setProperty('middleware', array_diff($middleware, $middlewareToExclude)); + invade($kernel)->middleware = array_diff( + invade($kernel)->middleware, + $middlewareToExclude + ); } protected function publishesToGroups(array $paths, $groups = null) diff --git a/overrides/symfony/process/PhpExecutableFinder.php b/overrides/symfony/process/PhpExecutableFinder.php index bbd2e2e74..433f21b54 100644 --- a/overrides/symfony/process/PhpExecutableFinder.php +++ b/overrides/symfony/process/PhpExecutableFinder.php @@ -29,10 +29,34 @@ class PhpExecutableFinder public function getPhpPath() { + $php_path = getenv('APP_PHP_PATH'); + + if (! empty($php_path)) { + return $php_path; + } + if ($this->isCpanel()) { return '/usr/local/bin/php'; } + if ($this->isPlesk()) { + $php_80 = '/opt/plesk/php/8.0/bin/php'; + $php_81 = '/opt/plesk/php/8.1/bin/php'; + $php_82 = '/opt/plesk/php/8.2/bin/php'; + + if (@is_executable($php_80)) { + return $php_80; + } + + if (@is_executable($php_81)) { + return $php_81; + } + + if (@is_executable($php_82)) { + return $php_82; + } + } + return 'php'; } diff --git a/package-lock.json b/package-lock.json index 0ceb3e4ac..87c5e384f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,8 +14,10 @@ "@fullcalendar/interaction": "^4.3.0", "@fullcalendar/timegrid": "^4.3.0", "@fullcalendar/vue": "^4.3.1", + "@popperjs/core": "^2.11.0", + "@tailwindcss/forms": "^0.3.4", + "@themesberg/flowbite": "^1.2.0", "axios": "^0.21", - "bootstrap": "^4.3.1", "chart.js": "^2.7.1", "d3": "^5.12.0", "datamaps": "^0.5.9", @@ -25,114 +27,104 @@ "es6-promise": "^4.1.1", "flatpickr": "^4.6.3", "fuse.js": "^3.2.0", + "glightbox": "^3.1.0", "google-maps": "^3.2.1", "jquery": "^3.4.1", "json-schema": ">=0.4.0", + "laravel-mix-tailwind": "^0.1.2", "lodash": "^4.17.15", - "node-forge": ">=1.3.0", "nouislider": "^12.1.0", "nprogress": "^0.2.0", "perfect-scrollbar": "^1.3.0", - "popper.js": "^1.12", - "quill": "^1.3.7", + "popper.js": "^1.16.1", "sweetalert2": "^7.29.2", + "swiper": "^7.3.1", + "tailwindcss": "^2.2.16", "v-money": "^0.8.1", "vee-validate": "^2.2.15", "vue": "^2.6.10", "vue-chartjs": "^3.4.0", "vue-clipboard2": "^0.3.1", "vue-flatpickr-component": "^8.1.3", - "vue-image-lightbox": "^7.1.3", "vue-loading-overlay": "^3.2.0", "vue-router": "^3.1.3", + "vue2-editor": "^2.10.3", "vue2-transitions": "^0.3.0" }, "devDependencies": { + "@babel/core": "^7.15.5", + "@babel/preset-env": "^7.3.4", + "@fullhuman/postcss-purgecss": "^4.1.3", "@vue/cli-plugin-babel": "^3.11.0", "@vue/cli-plugin-eslint": "^3.11.0", "@vue/cli-service": "^3.11.0", "@vue/eslint-config-prettier": "^4.0.1", - "ajv": ">=6.12.3", - "ansi-regex": ">=5.0.1", - "async": ">=2.6.4", + "autoprefixer": "^10.0.2", "babel-plugin-component": "^1.1.0", + "babel-preset-es2015": "^6.24.1", "cross-env": "^5.2.1", - "follow-redirects": ">=1.14.8", - "glob-parent": ">=5.1.2", - "is-svg": "^4.3.2", + "css-loader": "^5.2.7", "laravel-mix": "^6.0.39", - "minimist": ">=1.2.6", - "moment": ">=2.29.2", - "nanoid": ">=3.1.31", - "node-forge": ">=1.3.0", - "node-sass": ">=7.0.0", - "nth-check": ">=2.0.1", - "object-path": ">=0.11.8", - "postcss": ">=7.0.36", - "resolve-url-loader": "^2.3.1", - "sass": "^1.44.0", + "mini-css-extract-plugin": "^1.6.2", + "node-sass": "^6.0.1", + "postcss": "^8.3.8", + "postcss-import": "^14.0.2", + "postcss-loader": "^6.1.1", + "postcss-preset-env": "^6.7.0", + "resolve-url-loader": "^2.3.2", "sass-loader": "^12.3.0", - "serialize-javascript": ">=3.1.0", - "ssri": ">=6.0.2", - "tar": ">=4.4.18", - "trim-newlines": ">=3.0.1", - "url-parse": ">=1.5.9", + "sass-resources-loader": "^2.2.4", + "style-loader": "^2.0.0", + "tailwindcss-dir": "^4.0.0", + "url-loader": "^4.1.1", "vue-loader": "^15.9.8", + "vue-style-loader": "^4.1.3", "vue-template-compiler": "^2.6.10", "webpack": "^5.64.4", "webpack-cli": "^4.9.1" } }, - "node_modules/@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.14.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", - "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", - "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", + "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", + "dev": true, "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helpers": "^7.17.9", - "@babel/parser": "^7.17.9", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/code-frame": "^7.15.8", + "@babel/generator": "^7.15.8", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.8", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.8", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" }, "engines": { "node": ">=6.9.0" @@ -142,12 +134,31 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "dev": true, "dependencies": { - "@babel/types": "^7.17.0", + "@babel/types": "^7.15.6", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -155,39 +166,49 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", + "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-explode-assignable-expression": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", - "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", "semver": "^6.3.0" }, "engines": { @@ -197,19 +218,27 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", - "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-member-expression-to-functions": "^7.17.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" }, "engines": { "node": ">=6.9.0" @@ -219,13 +248,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", - "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^5.0.1" + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" }, "engines": { "node": ">=6.9.0" @@ -235,9 +264,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", @@ -253,227 +282,245 @@ "@babel/core": "^7.4.0-0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", + "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, "dependencies": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", - "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", "dev": true, "dependencies": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", - "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", + "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", + "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-wrap-function": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", - "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dev": true, "dependencies": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", + "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" + "@babel/helper-function-name": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", - "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dev": true, "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0" + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -482,9 +529,10 @@ } }, "node_modules/@babel/parser": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", - "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", + "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -492,30 +540,15 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", + "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -525,13 +558,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", + "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.15.4", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -542,13 +575,13 @@ } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -558,13 +591,13 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", - "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", + "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.17.6", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -575,32 +608,23 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.9.tgz", - "integrity": "sha512-EfH2LZ/vPa2wuPwJ26j+kYRkaubf89UlwxKXtxqEm57HrgSEYDB8t4swFP+p8LcI9yiP9ZRJJjo/58hS6BnaDA==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.12.tgz", + "integrity": "sha512-fhkE9lJYpw2mjHelBpM2zCbaA11aov2GJs7q4cFaXNrWx0H3bW58H9Esy2rdtYOghFBEYUDRIpvlgi+ZD+AvvQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.17.9", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/plugin-syntax-decorators": "^7.17.0", - "charcodes": "^0.2.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-decorators": "^7.12.1" } }, "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", - "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -611,12 +635,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -627,12 +651,12 @@ } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -643,12 +667,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -659,12 +683,12 @@ } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -675,12 +699,12 @@ } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", - "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -691,16 +715,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", - "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", + "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.0", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" + "@babel/plugin-transform-parameters": "^7.15.4" }, "engines": { "node": ">=6.9.0" @@ -710,12 +734,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -726,13 +750,13 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -743,13 +767,13 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", - "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.10", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -759,14 +783,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", + "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -777,13 +801,13 @@ } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=4" @@ -799,9 +823,6 @@ "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-class-properties": { @@ -832,18 +853,12 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz", - "integrity": "sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", + "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/helper-plugin-utils": "^7.10.4" } }, "node_modules/@babel/plugin-syntax-dynamic-import": { @@ -852,9 +867,6 @@ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-export-namespace-from": { @@ -876,24 +888,15 @@ "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", - "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/helper-plugin-utils": "^7.10.4" } }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { @@ -939,9 +942,6 @@ "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { @@ -951,9 +951,6 @@ "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-optional-chaining": { @@ -999,12 +996,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1014,14 +1011,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1031,12 +1028,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1046,12 +1043,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1061,18 +1058,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", + "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", "globals": "^11.1.0" }, "engines": { @@ -1083,12 +1079,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1098,12 +1094,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", - "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1113,13 +1109,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1129,12 +1125,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1144,13 +1140,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1160,12 +1156,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", + "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1175,14 +1171,13 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1192,12 +1187,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1207,12 +1202,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1222,13 +1217,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1239,14 +1234,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", - "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.15.4", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1257,15 +1252,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", - "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", + "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1276,13 +1271,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1292,12 +1287,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1307,12 +1302,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1322,13 +1317,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1338,12 +1333,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", + "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1353,12 +1348,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1368,12 +1363,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", - "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", "dev": true, "dependencies": { - "regenerator-transform": "^0.15.0" + "regenerator-transform": "^0.14.2" }, "engines": { "node": ">=6.9.0" @@ -1383,12 +1378,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1398,16 +1393,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz", - "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.8.tgz", + "integrity": "sha512-+6zsde91jMzzvkzuEA3k63zCw+tm/GvuuabkpisgbDMTPQsIMHllE3XczJFFtEHLjjhKQFZmGQVRdELetlWpVw==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", + "babel-plugin-polyfill-regenerator": "^0.2.2", "semver": "^6.3.0" }, "engines": { @@ -1417,13 +1412,22 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1433,13 +1437,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", + "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" }, "engines": { "node": ">=6.9.0" @@ -1449,12 +1453,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1464,12 +1468,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1479,12 +1483,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1494,12 +1498,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1509,13 +1513,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1573,24 +1577,12 @@ "invariant": "^2.2.2", "js-levenshtein": "^1.1.3", "semver": "^5.3.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" } }, "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1604,56 +1596,63 @@ } }, "node_modules/@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/runtime-corejs2": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.17.9.tgz", - "integrity": "sha512-+QThIsnjVY12uURTvmnW33risFZ7ulq6OWw0VJL08UwiYiWVp9PM63s+W1L2ppajYyKAYKb7afcGYSHzA0k04Q==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.12.5.tgz", + "integrity": "sha512-kt5YpZ7F5A05LOgQuaMXXmcxakK/qttf5C/E1BJPA3Kf5PanbjPzDoXN+PIslUnjUxpuKblCsXyP0QfMiqyKqA==", "dev": true, "dependencies": { "core-js": "^2.6.5", "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" } }, + "node_modules/@babel/runtime-corejs2/node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", - "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1662,204 +1661,36 @@ } }, "node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "node_modules/@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", "dev": true, - "optional": true, "engines": { - "node": ">=0.1.90" + "node": ">=4.0.0" } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true, "engines": { "node": ">=10.0.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", - "dev": true, - "peer": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "peer": true - }, - "node_modules/@eslint/eslintrc/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "peer": true, - "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", - "dev": true, - "peer": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "peer": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "peer": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@fullcalendar/core": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-4.4.2.tgz", @@ -1868,18 +1699,12 @@ "node_modules/@fullcalendar/daygrid": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-4.4.2.tgz", - "integrity": "sha512-axjfMhxEXHShV3r2TZjf+2niJ1C6LdAxkHKmg7mVq4jXtUQHOldU5XsjV0v2lUAt1urJBFi2zajfK8798ukL3Q==", - "peerDependencies": { - "@fullcalendar/core": "~4.4.0" - } + "integrity": "sha512-axjfMhxEXHShV3r2TZjf+2niJ1C6LdAxkHKmg7mVq4jXtUQHOldU5XsjV0v2lUAt1urJBFi2zajfK8798ukL3Q==" }, "node_modules/@fullcalendar/interaction": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-4.4.2.tgz", - "integrity": "sha512-3ItpGFnxcYQT4NClqhq93QTQwOI8x3mlMf5M4DgK5avVaSzpv9g8p+opqeotK2yzpFeINps06cuQyB1h7vcv1Q==", - "peerDependencies": { - "@fullcalendar/core": "~4.4.0" - } + "integrity": "sha512-3ItpGFnxcYQT4NClqhq93QTQwOI8x3mlMf5M4DgK5avVaSzpv9g8p+opqeotK2yzpFeINps06cuQyB1h7vcv1Q==" }, "node_modules/@fullcalendar/timegrid": { "version": "4.4.2", @@ -1887,9 +1712,6 @@ "integrity": "sha512-M5an7qii8OUmI4ogY47k5pn2j/qUbLp6sa6Vo0gO182HR5pb9YtrEZnoQhnScok+I0BkDkLFzMQoiAMTjBm2PQ==", "dependencies": { "@fullcalendar/daygrid": "~4.4.0" - }, - "peerDependencies": { - "@fullcalendar/core": "~4.4.0" } }, "node_modules/@fullcalendar/vue": { @@ -1899,43 +1721,42 @@ "dependencies": { "@fullcalendar/core": "~4.4.0", "fast-deep-equal": "^2.0.1" - }, - "peerDependencies": { - "vue": "^2.6.6" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true + "node_modules/@fullhuman/postcss-purgecss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-4.1.3.tgz", + "integrity": "sha512-jqcsyfvq09VOsMXxJMPLRF6Fhg/NNltzWKnC9qtzva+QKTxerCO4esG6je7hbnmkpZtaDyPTwMBj9bzfWorsrw==", + "dev": true, + "dependencies": { + "purgecss": "^4.1.3" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } }, "node_modules/@hapi/address": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", - "deprecated": "Moved to 'npm install @sideway/address'", "dev": true }, "node_modules/@hapi/bourne": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", - "deprecated": "This version has been deprecated and is no longer supported or maintained", "dev": true }, "node_modules/@hapi/hoek": { "version": "8.5.1", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", - "deprecated": "This version has been deprecated and is no longer supported or maintained", "dev": true }, "node_modules/@hapi/joi": { "version": "15.1.1", "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "deprecated": "Switch to 'npm install joi'", "dev": true, "dependencies": { "@hapi/address": "2.x.x", @@ -1948,62 +1769,39 @@ "version": "3.1.6", "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "deprecated": "This version has been deprecated and is no longer supported or maintained", "dev": true, "dependencies": { "@hapi/hoek": "^8.3.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "node_modules/@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", "dev": true, - "peer": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + } + }, + "node_modules/@intervolga/optimize-cssnano-plugin/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true, - "peer": true - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", - "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==", "engines": { "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz", - "integrity": "sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==", - "dev": true - }, "node_modules/@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -2021,7 +1819,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2034,7 +1831,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -2052,7 +1848,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2061,175 +1856,48 @@ "node": ">= 8" } }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dev": true, - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/fs/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/fs/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, + "node_modules/@popperjs/core": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz", + "integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==", "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/popperjs" } }, "node_modules/@soda/friendly-errors-webpack-plugin": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", - "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.0.tgz", + "integrity": "sha512-RLotfx6k1+nfLacwNCenj7VnTMPxVwYKoGOcffMFoJDKM8tXzBiCN0hMHFJNnoAojduYAsxuiMm0EOMixgiRow==", "dev": true, "dependencies": { - "chalk": "^3.0.0", - "error-stack-parser": "^2.0.6", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" + "chalk": "^2.4.2", + "error-stack-parser": "^2.0.2", + "string-width": "^2.0.0", + "strip-ansi": "^5" }, "engines": { "node": ">=8.0.0" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.3.4.tgz", + "integrity": "sha512-vlAoBifNJUkagB+PAdW4aHMe4pKmSLroH398UPgIogBFc91D2VlHUxe4pjxQhiJl0Nfw53sHSJSQBSTQBZP3vA==", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "tailwindcss": ">=2.0.0" } }, - "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, + "node_modules/@themesberg/flowbite": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@themesberg/flowbite/-/flowbite-1.2.0.tgz", + "integrity": "sha512-8o70vUnxZHQhrVEmRahYK0pv+RC2NByABll0W7vT17krpfWMKxVhTpKeuQtirgqKuzXlMFeNocx4GVbA0OKkog==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" + "@popperjs/core": "^2.9.3", + "mini-svg-data-uri": "^1.4.3" } }, "node_modules/@trysound/sax": { @@ -2242,9 +1910,9 @@ } }, "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", + "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -2255,9 +1923,9 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", + "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", "dev": true, "dependencies": { "@babel/types": "^7.0.0" @@ -2274,37 +1942,18 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.0.tgz", - "integrity": "sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==", + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", "dev": true, "dependencies": { "@babel/types": "^7.3.0" } }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/chart.js": { - "version": "2.9.37", - "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.37.tgz", - "integrity": "sha512-9bosRfHhkXxKYfrw94EmyDQcdjMaQPkU1fH2tDxu8DWXxf1mjzWQAV4laJF51ZbC2ycYwNDvIm1rGez8Bug0vg==", + "version": "2.9.30", + "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.30.tgz", + "integrity": "sha512-EgjxUUZFvf6ls3kW2CwyrnSJhgyKxgwrlp/W5G9wqyPEO9iFatO63zAA7L24YqgMxiDjQ+tG7ODU+2yWH91lPg==", "dependencies": { "moment": "^2.10.2" } @@ -2319,43 +1968,15 @@ "source-map": "^0.6.0" } }, - "node_modules/@types/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, "node_modules/@types/d3": { "version": "3.5.38", "resolved": "https://registry.npmjs.org/@types/d3/-/d3-3.5.38.tgz", "integrity": "sha1-dvjy6RWa5WKWWy+g5vvuGqZDobw=" }, "node_modules/@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "7.28.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.1.tgz", + "integrity": "sha512-XhZKznR3i/W5dXqUhgU9fFdJekufbeBd5DALmkuXoeFcjbQcPk+2cL+WLHf6Q81HWAnM2vrslIHpGVyCAviRwg==", "dev": true, "dependencies": { "@types/estree": "*", @@ -2363,9 +1984,9 @@ } }, "node_modules/@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", "dev": true, "dependencies": { "@types/eslint": "*", @@ -2373,38 +1994,15 @@ } }, "node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", "dev": true }, - "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", "dev": true, "dependencies": { "@types/minimatch": "*", @@ -2467,21 +2065,15 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "dev": true }, "node_modules/@types/minimist": { @@ -2491,39 +2083,26 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.27.tgz", - "integrity": "sha512-4/Ke7bbWOasuT3kceBZFGakP1dYN2XFd8v2l9bqF2LNWrmeU07JLpp56aEeG6+Q3olqO5TvXpW0yaiYnZJ5CXg==", + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", "dev": true }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, "node_modules/@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", "dev": true }, "node_modules/@types/retry": { @@ -2532,49 +2111,12 @@ "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/svgo": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.6.tgz", "integrity": "sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug==", "dev": true }, - "node_modules/@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@vue/babel-helper-vue-jsx-merge-props": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", @@ -2593,9 +2135,6 @@ "html-tags": "^2.0.0", "lodash.kebabcase": "^4.1.1", "svg-tags": "^1.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/babel-preset-app": { @@ -2633,9 +2172,6 @@ "@vue/babel-sugar-inject-h": "^1.2.2", "@vue/babel-sugar-v-model": "^1.2.3", "@vue/babel-sugar-v-on": "^1.2.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/babel-sugar-composition-api-inject-h": { @@ -2645,9 +2181,6 @@ "dev": true, "dependencies": { "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/babel-sugar-composition-api-render-instance": { @@ -2657,9 +2190,6 @@ "dev": true, "dependencies": { "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/babel-sugar-functional-vue": { @@ -2669,9 +2199,6 @@ "dev": true, "dependencies": { "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/babel-sugar-inject-h": { @@ -2681,9 +2208,6 @@ "dev": true, "dependencies": { "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/babel-sugar-v-model": { @@ -2698,9 +2222,6 @@ "camelcase": "^5.0.0", "html-tags": "^2.0.0", "svg-tags": "^1.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/babel-sugar-v-on": { @@ -2712,9 +2233,6 @@ "@babel/plugin-syntax-jsx": "^7.2.0", "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", "camelcase": "^5.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/cli-overlay": { @@ -2867,27 +2385,16 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@vue/cli-plugin-babel/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "node_modules/@vue/cli-plugin-babel/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, "node_modules/@vue/cli-plugin-babel/node_modules/enhanced-resolve": { @@ -2930,171 +2437,6 @@ "node": ">=4.0.0" } }, - "node_modules/@vue/cli-plugin-babel/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@vue/cli-plugin-babel/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -3109,91 +2451,6 @@ "node": ">= 4" } }, - "node_modules/@vue/cli-plugin-babel/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@vue/cli-plugin-babel/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, "node_modules/@vue/cli-plugin-babel/node_modules/watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -3406,27 +2663,16 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@vue/cli-plugin-eslint/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "node_modules/@vue/cli-plugin-eslint/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, "node_modules/@vue/cli-plugin-eslint/node_modules/enhanced-resolve": { @@ -3456,24 +2702,6 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", - "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", - "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", - "dev": true, - "dependencies": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - }, - "peerDependencies": { - "eslint": ">=1.6.0 <7.0.0", - "webpack": ">=2.0.0 <5.0.0" - } - }, "node_modules/@vue/cli-plugin-eslint/node_modules/eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", @@ -3487,171 +2715,6 @@ "node": ">=4.0.0" } }, - "node_modules/@vue/cli-plugin-eslint/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@vue/cli-plugin-eslint/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -3666,91 +2729,6 @@ "node": ">= 4" } }, - "node_modules/@vue/cli-plugin-eslint/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@vue/cli-plugin-eslint/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, "node_modules/@vue/cli-plugin-eslint/node_modules/watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -3882,36 +2860,6 @@ }, "engines": { "node": ">=8" - }, - "peerDependencies": { - "vue-template-compiler": "^2.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/@intervolga/optimize-cssnano-plugin": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", - "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", - "dev": true, - "dependencies": { - "cssnano": "^4.0.0", - "cssnano-preset-default": "^4.0.0", - "postcss": "^7.0.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/@vue/preload-webpack-plugin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", - "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", - "dev": true, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "html-webpack-plugin": ">=2.26.0", - "webpack": ">=4.0.0" } }, "node_modules/@vue/cli-service/node_modules/@webassemblyjs/ast": { @@ -4045,46 +2993,38 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@vue/cli-service/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "node_modules/@vue/cli-service/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/cache-loader": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-2.0.1.tgz", - "integrity": "sha512-V99T3FOynmGx26Zom+JrVBytLBsmUCzVG2/4NnUKgvXN4bEV42R1ERl1IyiH/cvFIDA1Ytq2lPZ9tXDSahcQpQ==", - "dev": true, - "dependencies": { - "loader-utils": "^1.1.0", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.0", - "normalize-path": "^3.0.0", - "schema-utils": "^1.0.0" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 6.9.0" + "node": ">=0.4.0" + } + }, + "node_modules/@vue/cli-service/node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" }, - "peerDependencies": { - "webpack": "^4.0.0" + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" } }, "node_modules/@vue/cli-service/node_modules/css-loader": { @@ -4127,6 +3067,12 @@ "node": ">=4.0.0" } }, + "node_modules/@vue/cli-service/node_modules/css-loader/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, "node_modules/@vue/cli-service/node_modules/enhanced-resolve": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", @@ -4167,109 +3113,6 @@ "node": ">=4.0.0" } }, - "node_modules/@vue/cli-service/node_modules/file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", - "dev": true, - "dependencies": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-service/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-service/node_modules/html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "deprecated": "3.x is no longer supported", - "dev": true, - "dependencies": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "engines": { - "node": ">=6.9" - }, - "peerDependencies": { - "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/html-webpack-plugin/node_modules/big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/@vue/cli-service/node_modules/html-webpack-plugin/node_modules/emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/@vue/cli-service/node_modules/html-webpack-plugin/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/@vue/cli-service/node_modules/html-webpack-plugin/node_modules/loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "dependencies": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, "node_modules/@vue/cli-service/node_modules/icss-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", @@ -4293,95 +3136,28 @@ "node": ">=4.0.0" } }, - "node_modules/@vue/cli-service/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "node_modules/@vue/cli-service/node_modules/import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", "dev": true, + "dependencies": { + "import-from": "^2.1.0" + }, "engines": { "node": ">=4" } }, - "node_modules/@vue/cli-service/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/@vue/cli-service/node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/@vue/cli-service/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-service/node_modules/make-dir": { + "node_modules/@vue/cli-service/node_modules/import-from": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "resolve-from": "^3.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-service/node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@vue/cli-service/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" + "node": ">=4" } }, "node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin": { @@ -4402,27 +3178,6 @@ "webpack": "^4.4.0" } }, - "node_modules/@vue/cli-service/node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/@vue/cli-service/node_modules/normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", @@ -4438,54 +3193,6 @@ "node": ">=4" } }, - "node_modules/@vue/cli-service/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vue/cli-service/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-service/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-service/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@vue/cli-service/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", @@ -4503,6 +3210,38 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/@vue/cli-service/node_modules/postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "dependencies": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/@vue/cli-service/node_modules/postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/@vue/cli-service/node_modules/postcss-modules-extract-imports": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", @@ -4598,11 +3337,14 @@ "node": ">=4.0.0" } }, - "node_modules/@vue/cli-service/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "node_modules/@vue/cli-service/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } }, "node_modules/@vue/cli-service/node_modules/schema-utils": { "version": "1.0.0", @@ -4618,97 +3360,13 @@ "node": ">= 4" } }, - "node_modules/@vue/cli-service/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "node_modules/@vue/cli-service/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/@vue/cli-service/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@vue/cli-service/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/@vue/cli-service/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-service/node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/thread-loader": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", - "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", - "dev": true, - "dependencies": { - "loader-runner": "^2.3.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.0" - }, - "engines": { - "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" - }, - "peerDependencies": { - "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + "semver": "bin/semver.js" } }, "node_modules/@vue/cli-service/node_modules/url-loader": { @@ -4728,16 +3386,6 @@ "webpack": "^3.0.0 || ^4.0.0" } }, - "node_modules/@vue/cli-service/node_modules/util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, "node_modules/@vue/cli-service/node_modules/watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -4821,23 +3469,30 @@ "string.prototype.padstart": "^3.0.0" } }, + "node_modules/@vue/cli-shared-utils/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@vue/component-compiler-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", - "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", + "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", "dev": true, "dependencies": { "consolidate": "^0.15.1", "hash-sum": "^1.0.2", "lru-cache": "^4.1.2", "merge-source-map": "^1.1.0", - "postcss": "^7.0.36", + "postcss": "^7.0.14", "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", "source-map": "~0.6.1", "vue-template-es2015-compiler": "^1.9.0" - }, - "optionalDependencies": { - "prettier": "^1.18.2 || ^2.0.0" } }, "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { @@ -4850,6 +3505,15 @@ "yallist": "^2.1.2" } }, + "node_modules/@vue/component-compiler-utils/node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, "node_modules/@vue/component-compiler-utils/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", @@ -4867,15 +3531,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/@vue/component-compiler-utils/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@vue/component-compiler-utils/node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", @@ -4893,573 +3548,19 @@ "prettier": "^1.15.2" } }, - "node_modules/@vue/eslint-config-prettier/node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "node_modules/@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", "dev": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "peer": true - }, - "node_modules/@vue/eslint-config-prettier/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "peer": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "peer": true, - "dependencies": { - "esutils": "^2.0.2" - }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@vue/eslint-config-prettier/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/eslint": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", - "dev": true, - "peer": true, - "dependencies": { - "@eslint/eslintrc": "^1.2.2", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=5.0.0", - "prettier": ">=1.13.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "peer": true, - "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "peer": true - }, - "node_modules/@vue/eslint-config-prettier/node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "peer": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "peer": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", - "dev": true, - "peer": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "peer": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "peer": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "peer": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "peer": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vue/eslint-config-prettier/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "peer": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/@vue/web-component-wrapper": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", - "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz", + "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==", "dev": true }, "node_modules/@webassemblyjs/ast": { @@ -5721,9 +3822,9 @@ } }, "node_modules/@webpack-cli/configtest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", - "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", "dev": true, "peerDependencies": { "webpack": "4.x.x || 5.x.x", @@ -5731,9 +3832,9 @@ } }, "node_modules/@webpack-cli/info": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", - "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", "dev": true, "dependencies": { "envinfo": "^7.7.3" @@ -5743,9 +3844,9 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", - "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", "dev": true, "peerDependencies": { "webpack-cli": "4.x.x" @@ -5775,23 +3876,22 @@ "dev": true }, "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" }, "engines": { "node": ">= 0.6" } }, "node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "bin": { "acorn": "bin/acorn" }, @@ -5804,6 +3904,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, + "optional": true, "dependencies": { "acorn": "^3.0.4" } @@ -5813,6 +3914,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true, + "optional": true, "bin": { "acorn": "bin/acorn" }, @@ -5820,6 +3922,24 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/acorn-walk": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", @@ -5862,32 +3982,6 @@ "node": ">=0.10.0" } }, - "node_modules/adjust-sourcemap-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/adjust-sourcemap-loader/node_modules/lodash.defaults": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", @@ -5909,41 +4003,6 @@ "lodash.keys": "^3.0.0" } }, - "node_modules/adjust-sourcemap-loader/node_modules/object-path": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -5967,20 +4026,13 @@ "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } + "dev": true }, "node_modules/ajv-formats": { "version": "2.1.1", @@ -6000,9 +4052,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -6031,10 +4083,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } + "dev": true }, "node_modules/ajv/node_modules/fast-deep-equal": { "version": "3.1.3", @@ -6048,6 +4097,15 @@ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", "dev": true }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "engines": { + "node": ">=0.4.2" + } + }, "node_modules/ansi-colors": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", @@ -6062,10 +4120,23 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, + "optional": true, "engines": { "node": ">=4" } }, + "node_modules/ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, "node_modules/ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -6079,15 +4150,12 @@ } }, "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=6" } }, "node_modules/ansi-styles": { @@ -6111,7 +4179,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -6130,48 +4197,22 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "dev": true, "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" + "readable-stream": "^2.0.6" } }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } + "node_modules/arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" }, "node_modules/argparse": { "version": "1.0.10", @@ -6255,9 +4296,9 @@ } }, "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "dependencies": { "safer-buffer": "~2.1.0" @@ -6276,9 +4317,9 @@ } }, "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true }, "node_modules/assert": { @@ -6325,10 +4366,13 @@ } }, "node_modules/async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } }, "node_modules/async-each": { "version": "1.0.3", @@ -6378,52 +4422,35 @@ } }, "node_modules/autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.1.tgz", + "integrity": "sha512-B3ZEG7wtzXDRCEFsan7HmR2AeNsxdJB0+sEC0Hc5/c2NbhJqPwuZm+tn233GBVw82L+6CtD6IPSfVruwKjfV3A==", "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001294", + "fraction.js": "^4.1.2", "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" }, "bin": { "autoprefixer": "bin/autoprefixer" }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/autoprefixer/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=6.0.0" + "node": "^10 || ^12 || >=14" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/autoprefixer/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/autoprefixer/node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/aws-sign2": { "version": "0.7.0", @@ -6441,11 +4468,11 @@ "dev": true }, "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "dependencies": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.10.0" } }, "node_modules/babel-code-frame": { @@ -6524,7 +4551,6 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", @@ -6536,9 +4562,98 @@ }, "engines": { "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "dependencies": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "dependencies": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "node_modules/babel-helper-vue-jsx-merge-props": { @@ -6547,13 +4662,13 @@ "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" }, "node_modules/babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", "dev": true, "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", + "loader-utils": "^1.4.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -6565,6 +4680,24 @@ "webpack": ">=2" } }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, "node_modules/babel-plugin-component": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz", @@ -6621,44 +4754,388 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/helper-define-polyfill-provider": "^0.2.2", "semver": "^6.1.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", - "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.16.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.2.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, + "node_modules/babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "dependencies": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "dependencies": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "dependencies": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "dependencies": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "dependencies": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.10.0" + } + }, + "node_modules/babel-plugin-transform-regenerator/node_modules/regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "node_modules/babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "deprecated": "🙌 Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!", + "dev": true, + "dependencies": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" + } + }, "node_modules/babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -6668,16 +5145,94 @@ "regenerator-runtime": "^0.11.0" } }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + } }, "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "node_modules/base": { "version": "0.11.2", @@ -6709,25 +5264,49 @@ "node": ">=0.10.0" } }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, "node_modules/batch": { "version": "0.6.1", @@ -6772,7 +5351,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -6794,33 +5372,30 @@ "dev": true }, "node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", "dev": true }, "node_modules/body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, "dependencies": { - "bytes": "3.1.2", + "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", + "depd": "~1.1.2", + "http-errors": "1.7.2", "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/debug": { @@ -6832,15 +5407,6 @@ "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -6848,18 +5414,12 @@ "dev": true }, "node_modules/body-parser/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, "engines": { "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/bonjour": { @@ -6876,55 +5436,6 @@ "multicast-dns-service-types": "^1.1.0" } }, - "node_modules/bonjour-service": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", - "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", - "dev": true, - "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.4" - } - }, - "node_modules/bonjour-service/node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "node_modules/bonjour-service/node_modules/dns-packet": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.3.1.tgz", - "integrity": "sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==", - "dev": true, - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bonjour-service/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/bonjour-service/node_modules/multicast-dns": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.4.tgz", - "integrity": "sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==", - "dev": true, - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, "node_modules/bonjour/node_modules/array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", @@ -6937,39 +5448,46 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "node_modules/bootstrap": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", - "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/bootstrap" - }, - "peerDependencies": { - "jquery": "1.9.1 - 3", - "popper.js": "^1.16.1" - } - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/brfs": { @@ -7074,21 +5592,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, "node_modules/browserify-zlib": { "version": "0.2.0", @@ -7100,24 +5604,14 @@ } }, "node_modules/browserslist": { - "version": "4.20.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", - "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "dependencies": { - "caniuse-lite": "^1.0.30001332", - "electron-to-chromium": "^1.4.118", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", - "node-releases": "^2.0.3", + "node-releases": "^2.0.1", "picocolors": "^1.0.0" }, "bin": { @@ -7125,6 +5619,10 @@ }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" } }, "node_modules/browserslist/node_modules/picocolors": { @@ -7152,9 +5650,9 @@ } }, "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "node_modules/buffer-indexof": { "version": "1.1.1", @@ -7175,60 +5673,36 @@ "dev": true }, "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "engines": { "node": ">= 0.8" } }, "node_modules/cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "dependencies": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", "y18n": "^4.0.0" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/cacache/node_modules/ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.1" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, "node_modules/cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -7249,6 +5723,36 @@ "node": ">=0.10.0" } }, + "node_modules/cache-loader": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-2.0.1.tgz", + "integrity": "sha512-V99T3FOynmGx26Zom+JrVBytLBsmUCzVG2/4NnUKgvXN4bEV42R1ERl1IyiH/cvFIDA1Ytq2lPZ9tXDSahcQpQ==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.0", + "normalize-path": "^3.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/cache-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -7256,9 +5760,6 @@ "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/call-me-maybe": { @@ -7279,19 +5780,7 @@ "node": ">=4" } }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { + "node_modules/caller-callsite/node_modules/callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", @@ -7300,14 +5789,37 @@ "node": ">=4" } }, + "node_modules/caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "optional": true, + "dependencies": { + "callsites": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, "node_modules/camelcase": { @@ -7319,6 +5831,14 @@ "node": ">=6" } }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, "node_modules/camelcase-keys": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", @@ -7336,6 +5856,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelcase-keys/node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -7349,24 +5878,18 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001332", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", - "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] + "version": "1.0.30001296", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001296.tgz", + "integrity": "sha512-WfrtPEoNSoeATDlf4y3QvkwiELl9GyPLISV5GejTbbQRtQx4LhsXmc9IQ6XCL2d7UxCyEzToEZNMeqR79OUw8Q==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } }, "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", "dev": true, "engines": { "node": ">=4" @@ -7391,20 +5914,12 @@ "node": ">=4" } }, - "node_modules/charcodes": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/charcodes/-/charcodes-0.2.0.tgz", - "integrity": "sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true + "dev": true, + "optional": true }, "node_modules/charenc": { "version": "0.0.2", @@ -7448,16 +5963,9 @@ "dev": true }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -7474,11 +5982,32 @@ "fsevents": "~2.3.2" } }, + "node_modules/chokidar/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -7486,6 +6015,25 @@ "node": ">= 6" } }, + "node_modules/chokidar/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/chokidar/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -7493,10 +6041,13 @@ "dev": true }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, "engines": { "node": ">=6.0" } @@ -7521,8 +6072,8 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", - "dev": true + "dev": true, + "optional": true }, "node_modules/class-utils": { "version": "0.3.6", @@ -7551,96 +6102,16 @@ "node": ">=0.10.0" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/clean-css": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.0.tgz", - "integrity": "sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", "dev": true, "dependencies": { "source-map": "~0.6.0" }, "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">= 4.0" } }, "node_modules/clean-stack": { @@ -7665,13 +6136,13 @@ } }, "node_modules/cli-highlight": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz", + "integrity": "sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "highlight.js": "^10.7.1", + "highlight.js": "^10.0.0", "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", @@ -7695,15 +6166,12 @@ }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/cli-highlight/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -7711,9 +6179,6 @@ }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/cli-highlight/node_modules/color-convert": { @@ -7750,42 +6215,85 @@ } }, "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", + "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", "dev": true, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-table3": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", - "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "dev": true, "dependencies": { + "object-assign": "^4.1.0", "string-width": "^4.2.0" }, "engines": { "node": "10.* || >= 12.*" }, "optionalDependencies": { - "@colors/colors": "1.5.0" + "colors": "^1.1.2" + } + }, + "node_modules/cli-table3/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/cli-width": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true + "dev": true, + "optional": true }, "node_modules/clipboard": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz", - "integrity": "sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", + "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", "dependencies": { "good-listener": "^1.2.2", "select": "^1.1.2", @@ -7806,6 +6314,18 @@ "node": ">=8" } }, + "node_modules/clipboardy/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -7817,30 +6337,12 @@ "wrap-ansi": "^5.1.0" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/cliui/node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/cliui/node_modules/string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -7855,13 +6357,15 @@ "node": ">=6" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "engines": { "node": ">=6" @@ -7894,6 +6398,7 @@ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true, + "optional": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -7913,10 +6418,19 @@ "node": ">= 4.0" } }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/collect.js": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.32.0.tgz", - "integrity": "sha512-Ro0fspulC0J325cgFdkzFEkRDs6MmclMy2Fy5adhdFKg5QqMv1nn1zLpCdAxiehlur6Ep08Wr1f7ldNv+fB6+Q==", + "version": "4.28.6", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.28.6.tgz", + "integrity": "sha512-NAyuk1DnCotRaDZIS5kJ4sptgkwOeYqElird10yziN5JBuwYOGkOTguhNcPn5g344IfylZecxNYZAVXgv19p5Q==", "dev": true }, "node_modules/collection-visit": { @@ -7933,13 +6447,13 @@ } }, "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "color-convert": "^1.9.1", + "color-string": "^1.5.4" } }, "node_modules/color-convert": { @@ -7961,28 +6475,18 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "bin": { - "color-support": "bin.js" - } - }, "node_modules/colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.8.0.tgz", + "integrity": "sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA==", "dev": true }, "node_modules/colorette": { @@ -7991,6 +6495,16 @@ "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -8092,8 +6606,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/concat-stream": { "version": "1.6.2", @@ -8155,37 +6668,17 @@ "dev": true }, "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", "dev": true, "dependencies": { - "safe-buffer": "5.2.1" + "safe-buffer": "5.1.2" }, "engines": { "node": ">= 0.6" } }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", @@ -8196,17 +6689,17 @@ } }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", "dev": true, "engines": { "node": ">= 0.6" @@ -8260,6 +6753,27 @@ "node": ">= 4" } }, + "node_modules/copy-webpack-plugin/node_modules/cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, "node_modules/copy-webpack-plugin/node_modules/find-cache-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", @@ -8274,18 +6788,6 @@ "node": ">=4" } }, - "node_modules/copy-webpack-plugin/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/copy-webpack-plugin/node_modules/globby": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", @@ -8303,43 +6805,14 @@ "node": ">=4" } }, - "node_modules/copy-webpack-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "node_modules/copy-webpack-plugin/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/copy-webpack-plugin/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "node_modules/copy-webpack-plugin/node_modules/make-dir": { @@ -8354,16 +6827,25 @@ "node": ">=4" } }, - "node_modules/copy-webpack-plugin/node_modules/p-locate": { + "node_modules/copy-webpack-plugin/node_modules/mississippi": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "dependencies": { - "p-limit": "^1.1.0" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=4.0.0" } }, "node_modules/copy-webpack-plugin/node_modules/pify": { @@ -8387,6 +6869,16 @@ "node": ">=4" } }, + "node_modules/copy-webpack-plugin/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/copy-webpack-plugin/node_modules/serialize-javascript": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", @@ -8402,20 +6894,34 @@ "node": ">=0.10.0" } }, + "node_modules/copy-webpack-plugin/node_modules/ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/copy-webpack-plugin/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, "node_modules/core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", "hasInstallScript": true }, "node_modules/core-js-compat": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", - "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.3.tgz", + "integrity": "sha512-4zP6/y0a2RTHN5bRGT7PTq9lVt3WzvffTNjqnTKsXhkAYNDTkdCLOIfAdOLcQ/7TDdyRj3c+NeHe1NmF1eDScw==", "dev": true, "dependencies": { - "browserslist": "^4.20.2", + "browserslist": "^4.17.3", "semver": "7.0.0" }, "funding": { @@ -8433,9 +6939,9 @@ } }, "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "node_modules/cosmiconfig": { "version": "5.2.1", @@ -8463,9 +6969,9 @@ } }, "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true }, "node_modules/create-hash": { @@ -8527,15 +7033,6 @@ "node": ">=4.8" } }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", @@ -8579,11 +7076,42 @@ "urix": "^0.1.0" } }, + "node_modules/css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "dev": true, + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-blank-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-blank-pseudo/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, "node_modules/css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true, "engines": { "node": "*" } @@ -8618,40 +7146,105 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/css-declaration-sorter/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", "dev": true, + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "bin": { + "css-has-pseudo": "cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, "node_modules/css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", "dev": true, - "peer": true, "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.7", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", "semver": "^7.3.5" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.0.0" + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/css-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" } }, "node_modules/css-loader/node_modules/lru-cache": { @@ -8659,7 +7252,6 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -8667,12 +7259,29 @@ "node": ">=10" } }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "node_modules/css-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -8687,8 +7296,39 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", "dev": true, - "peer": true + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-prefers-color-scheme": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-prefers-color-scheme/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } }, "node_modules/css-select": { "version": "2.1.0", @@ -8708,41 +7348,6 @@ "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", "dev": true }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/css-select/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/css-select/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "node_modules/css-select/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "dependencies": { - "boolbase": "~1.0.0" - } - }, "node_modules/css-selector-tokenizer": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", @@ -8766,14 +7371,10 @@ "node": ">=8.0.0" } }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" }, "node_modules/css-what": { "version": "3.4.2", @@ -8782,25 +7383,18 @@ "dev": true, "engines": { "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", + "dev": true }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, "bin": { "cssesc": "bin/cssesc" }, @@ -8809,13 +7403,13 @@ } }, "node_modules/cssnano": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", - "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", "dev": true, "dependencies": { "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.8", + "cssnano-preset-default": "^4.0.7", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" }, @@ -8824,9 +7418,9 @@ } }, "node_modules/cssnano-preset-default": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", - "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", "dev": true, "dependencies": { "css-declaration-sorter": "^4.0.1", @@ -8857,7 +7451,7 @@ "postcss-ordered-values": "^4.1.2", "postcss-reduce-initial": "^4.0.3", "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.3", + "postcss-svgo": "^4.0.2", "postcss-unique-selectors": "^4.0.1" }, "engines": { @@ -8881,15 +7475,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/cssnano-preset-default/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cssnano-util-get-arguments": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", @@ -8937,15 +7522,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/cssnano-util-raw-cache/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cssnano-util-same-parent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", @@ -8956,9 +7532,9 @@ } }, "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", + "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -8984,15 +7560,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/cssnano/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/csso": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", @@ -9006,9 +7573,9 @@ } }, "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", "dev": true, "dependencies": { "mdn-data": "2.0.14", @@ -9024,15 +7591,6 @@ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, - "node_modules/csso/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/current-script-polyfill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/current-script-polyfill/-/current-script-polyfill-1.0.0.tgz", @@ -9372,19 +7930,15 @@ "dev": true }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, "dependencies": { "ms": "2.1.2" }, "engines": { "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } } }, "node_modules/decamelize": { @@ -9438,15 +7992,12 @@ "object-is": "^1.0.1", "object-keys": "^1.1.1", "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "node_modules/deepmerge": { "version": "1.5.2", @@ -9513,21 +8064,15 @@ }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/default-gateway/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/default-gateway/node_modules/mimic-fn": { @@ -9561,9 +8106,6 @@ }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/default-gateway/node_modules/p-finally": { @@ -9648,18 +8190,14 @@ } }, "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "object-keys": "^1.0.12" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { @@ -9675,6 +8213,49 @@ "node": ">=0.10.0" } }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, "node_modules/del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", @@ -9758,21 +8339,52 @@ } }, "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, + "optional": true, + "peer": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=0.10" } }, "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", "dev": true }, + "node_modules/detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dependencies": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, "node_modules/diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -9785,9 +8397,9 @@ } }, "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true }, "node_modules/dir-glob": { @@ -9802,6 +8414,11 @@ "node": ">=4" } }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, "node_modules/dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -9809,9 +8426,9 @@ "dev": true }, "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "dev": true, "dependencies": { "ip": "^1.1.0", @@ -9832,6 +8449,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "optional": true, "dependencies": { "esutils": "^2.0.2" }, @@ -9849,32 +8467,27 @@ } }, "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dev": true, "dependencies": { "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/dom-serializer/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "dev": true + }, + "node_modules/dom7": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.1.tgz", + "integrity": "sha512-y/RWjw3gK3qQnZz6IqDaIoqH6+xBhcB3Wsh5HFwl0abwuO/NAgbSB31ZbxtBDcuDe8jAX5NYUNDLTx4Ul48sIw==", "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "ssr-window": "^4.0.0" } }, "node_modules/domain-browser": { @@ -9888,59 +8501,28 @@ } }, "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true }, "node_modules/domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "dependencies": { - "domelementtype": "^2.0.1" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "domelementtype": "1" } }, "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/domutils/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "dom-serializer": "0", + "domelementtype": "1" } }, "node_modules/dot-case": { @@ -9953,6 +8535,31 @@ "tslib": "^2.0.3" } }, + "node_modules/dot-case/node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/dot-case/node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-case/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -9981,9 +8588,9 @@ "dev": true }, "node_modules/dropzone": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.9.3.tgz", - "integrity": "sha512-Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.7.2.tgz", + "integrity": "sha512-m217bJHtf0J1IiKn4Tv6mnu1h5QvQNBnKZ39gma7hzGQhIZMxYq1vYEHs4AVd4ThFwmALys+52NAOD4zdLTG4w==" }, "node_modules/duplexer": { "version": "0.1.2", @@ -10047,14 +8654,14 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.121", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.121.tgz", - "integrity": "sha512-N7OXhMr1p2oa9EkOhmHpmOm43DHzs55dep2FF6M7y6px5QJBheqEE3nwwZ+xJowlff+AEmMOdg3ARYGB+0kzbA==" + "version": "1.4.33", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.33.tgz", + "integrity": "sha512-OVK1Ad3pHnmuXPhEfq85X8vUKr1UPNHryBnbKnyLcAfh8dPwoFjoDhDlP5KpPJIiymvSucZs48UBrE1250IxOw==" }, "node_modules/element-ui": { - "version": "2.15.8", - "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.8.tgz", - "integrity": "sha512-N54zxosRFqpYax3APY3GeRmtOZwIls6Z756WM0kdPZ5Q92PIeKHnZgF1StlamIg9bLxP1k+qdhTZvIeQlim09A==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.0.tgz", + "integrity": "sha512-9z/1+b7V8fvp08OnKUEW4/BZ72kT+IhuKR9cTMz3XoCTKmEsqLLb32XjbO/DznSFaaiFbOYU93G7WtkvrCAL9A==", "dependencies": { "async-validator": "~1.8.1", "babel-helper-vue-jsx-merge-props": "^2.0.0", @@ -10062,30 +8669,27 @@ "normalize-wheel": "^1.0.1", "resize-observer-polyfill": "^1.5.0", "throttle-debounce": "^1.0.1" - }, - "peerDependencies": { - "vue": "^2.5.17" } }, "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", "dev": true, "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", + "bn.js": "^4.4.0", + "brorand": "^1.0.1", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true }, "node_modules/emoji-regex": { @@ -10112,29 +8716,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -10145,9 +8726,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", - "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -10157,15 +8738,21 @@ "node": ">=10.13.0" } }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "node_modules/enhanced-resolve/node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "engines": { + "node": ">=6" } }, + "node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true + }, "node_modules/env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -10187,12 +8774,6 @@ "node": ">=4" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, "node_modules/errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -10209,54 +8790,50 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/error-stack-parser": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", - "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", "dev": true, "dependencies": { "stackframe": "^1.1.1" } }, "node_modules/es-abstract": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", - "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-abstract/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + }, "node_modules/es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", @@ -10275,9 +8852,6 @@ }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/es6-promise": { @@ -10315,7 +8889,8 @@ "esprima": "^3.1.3", "estraverse": "^4.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1" + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -10323,30 +8898,6 @@ }, "engines": { "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" } }, "node_modules/eslint": { @@ -10354,6 +8905,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, + "optional": true, "dependencies": { "ajv": "^5.3.0", "babel-code-frame": "^6.22.0", @@ -10411,9 +8963,31 @@ }, "bin": { "eslint-config-prettier-check": "bin/cli.js" + } + }, + "node_modules/eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "dev": true, + "dependencies": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" }, - "peerDependencies": { - "eslint": ">=3.14.1" + "engines": { + "node": ">=6.0.0" } }, "node_modules/eslint-plugin-vue": { @@ -10427,22 +9001,19 @@ }, "engines": { "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3.18.0 || ^4.0.0" } }, "node_modules/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=8.0.0" } }, "node_modules/eslint-visitor-keys": { @@ -10459,6 +9030,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, + "optional": true, "dependencies": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -10467,10 +9039,11 @@ } }, "node_modules/eslint/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true, + "optional": true, "engines": { "node": ">=4" } @@ -10480,6 +9053,7 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, + "optional": true, "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -10491,46 +9065,56 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "optional": true, "dependencies": { "ms": "^2.1.1" } }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "optional": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/eslint/node_modules/fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true + "dev": true, + "optional": true }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true + "dev": true, + "optional": true }, "node_modules/eslint/node_modules/lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, + "optional": true, "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, - "node_modules/eslint/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/eslint/node_modules/strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, + "optional": true, "dependencies": { "ansi-regex": "^3.0.0" }, @@ -10542,13 +9126,15 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "dev": true, + "optional": true }, "node_modules/espree": { "version": "3.5.4", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, + "optional": true, "dependencies": { "acorn": "^5.5.0", "acorn-jsx": "^3.0.0" @@ -10562,6 +9148,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true, + "optional": true, "bin": { "acorn": "bin/acorn" }, @@ -10570,9 +9157,9 @@ } }, "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -10582,10 +9169,11 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", "dev": true, + "optional": true, "dependencies": { "estraverse": "^5.1.0" }, @@ -10594,10 +9182,11 @@ } }, "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, + "optional": true, "engines": { "node": ">=4.0" } @@ -10615,9 +9204,9 @@ } }, "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, "engines": { "node": ">=4.0" @@ -10663,18 +9252,18 @@ "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" }, "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true, "engines": { "node": ">=0.8.x" } }, "node_modules/eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", "dev": true, "dependencies": { "original": "^1.0.0" @@ -10762,86 +9351,6 @@ "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -10849,39 +9358,38 @@ "dev": true }, "node_modules/express": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", - "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "dev": true, "dependencies": { - "accepts": "~1.3.8", + "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.20.0", - "content-disposition": "0.5.4", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "2.0.0", + "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "~1.1.2", "fresh": "0.5.2", - "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.10.3", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -10899,15 +9407,6 @@ "ms": "2.0.0" } }, - "node_modules/express/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -10915,40 +9414,14 @@ "dev": true }, "node_modules/express/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, "engines": { "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -10967,11 +9440,24 @@ "node": ">=0.10.0" } }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/external-editor": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, + "optional": true, "dependencies": { "chardet": "^0.4.0", "iconv-lite": "^0.4.17", @@ -11024,11 +9510,40 @@ "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, "engines": { "node": ">=0.10.0" } @@ -11056,17 +9571,6 @@ "node": ">=0.4.0" } }, - "node_modules/falafel/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/falafel/node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -11132,22 +9636,6 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, - "node_modules/fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "dev": true, - "dependencies": { - "strnum": "^1.0.4" - }, - "bin": { - "xml2js": "cli.js" - }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - }, "node_modules/fastest-levenshtein": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", @@ -11164,15 +9652,14 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } }, "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "dependencies": { "websocket-driver": ">=0.5.1" @@ -11181,6 +9668,21 @@ "node": ">=0.8.0" } }, + "node_modules/fibers": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-5.0.0.tgz", + "integrity": "sha512-UpGv/YAZp7mhKHxDvC1tColrroGRX90sSvh8RMZV9leo+e5+EkRVgCEZPlmXeo3BUNQTZxUaVdLskq1Q2FyCPg==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", @@ -11192,6 +9694,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, + "optional": true, "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -11204,6 +9707,7 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, + "optional": true, "dependencies": { "flat-cache": "^1.2.1", "object-assign": "^4.0.1" @@ -11213,41 +9717,30 @@ } }, "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "node": ">= 6.9.0" } }, "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">= 4" } }, "node_modules/file-type": { @@ -11276,29 +9769,44 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "2.4.1", + "on-finished": "~2.3.0", "parseurl": "~1.3.3", - "statuses": "2.0.1", + "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "engines": { @@ -11343,9 +9851,9 @@ } }, "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "dependencies": { "commondir": "^1.0.1", @@ -11354,31 +9862,18 @@ }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "locate-path": "^2.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/find-up/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/flat-cache": { @@ -11386,6 +9881,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", "dev": true, + "optional": true, "dependencies": { "circular-json": "^0.3.1", "graceful-fs": "^4.1.2", @@ -11401,6 +9897,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, + "optional": true, "dependencies": { "glob": "^7.1.3" }, @@ -11409,16 +9906,16 @@ } }, "node_modules/flatpickr": { - "version": "4.6.13", - "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.13.tgz", - "integrity": "sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==" + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.9.tgz", + "integrity": "sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==" }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true, - "peer": true + "node_modules/flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "deprecated": "flatten is deprecated in favor of utility frameworks such as lodash.", + "dev": true }, "node_modules/flush-write-stream": { "version": "1.1.1", @@ -11431,22 +9928,11 @@ } }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", "engines": { "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } } }, "node_modules/for-in": { @@ -11487,19 +9973,18 @@ } }, "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true, + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", + "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", "engines": { "node": "*" }, @@ -11586,14 +10071,12 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -11612,15 +10095,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true, + "optional": true }, "node_modules/fuse.js": { "version": "3.6.1", @@ -11631,23 +10107,66 @@ } }, "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", + "aproba": "^1.0.3", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/gauge/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/gaze": { @@ -11666,6 +10185,7 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -11680,16 +10200,13 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-stdin": { @@ -11713,22 +10230,6 @@ "node": ">=6" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -11747,11 +10248,15 @@ "assert-plus": "^1.0.0" } }, + "node_modules/glightbox": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glightbox/-/glightbox-3.1.0.tgz", + "integrity": "sha512-QVWU40Eao1+1yH7pb/knwbte0qSXxn2Rfrs7H30G/2+9fXW52woCTBA4kKLtoEHPZxXI+JECj+GBqtRGzfBILQ==" + }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11762,16 +10267,12 @@ }, "engines": { "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -11789,6 +10290,7 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, "engines": { "node": ">=4" } @@ -11822,9 +10324,9 @@ } }, "node_modules/globule": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", - "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", "dev": true, "dependencies": { "glob": "~7.1.1", @@ -11835,38 +10337,6 @@ "node": ">= 0.10" } }, - "node_modules/globule/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globule/node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/good-listener": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", @@ -11884,10 +10354,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "node_modules/growly": { "version": "1.3.0", @@ -11908,14 +10377,6 @@ "node": ">=6" } }, - "node_modules/hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", @@ -11935,7 +10396,6 @@ "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", "dev": true, "dependencies": { "ajv": "^6.12.3", @@ -11986,15 +10446,6 @@ "node": ">=0.10.0" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -12003,40 +10454,12 @@ "node": ">=4" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-unicode": { @@ -12116,21 +10539,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, "node_modules/hash-sum": { "version": "1.0.2", @@ -12160,13 +10569,12 @@ "node_modules/hex-color-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" }, "node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz", + "integrity": "sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==", "dev": true, "engines": { "node": "*" @@ -12193,33 +10601,9 @@ } }, "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, "node_modules/hpack.js": { @@ -12237,13 +10621,17 @@ "node_modules/hsl-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" }, "node_modules/hsla-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "node_modules/html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", "dev": true }, "node_modules/html-entities": { @@ -12274,6 +10662,117 @@ "webpack": "^4.0.0 || ^5.0.0" } }, + "node_modules/html-loader/node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/html-loader/node_modules/dom-serializer/node_modules/domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/html-loader/node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/html-loader/node_modules/domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/html-loader/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/html-loader/node_modules/domutils/node_modules/domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/html-loader/node_modules/htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "node_modules/html-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, "node_modules/html-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -12334,16 +10833,14 @@ "node": ">=6" } }, - "node_modules/html-minifier-terser/node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "node_modules/html-minifier-terser/node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, "node_modules/html-minifier-terser/node_modules/commander": { @@ -12355,99 +10852,28 @@ "node": ">= 6" } }, - "node_modules/html-minifier-terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/html-minifier-terser/node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "node_modules/html-minifier-terser/node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dev": true, "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "node_modules/html-minifier-terser/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, - "node_modules/html-minifier/node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "node_modules/html-minifier/node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, "node_modules/html-minifier/node_modules/commander": { "version": "2.17.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", "dev": true }, - "node_modules/html-minifier/node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "node_modules/html-minifier/node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "dependencies": { - "lower-case": "^1.1.1" - } - }, - "node_modules/html-minifier/node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "dependencies": { - "no-case": "^2.2.0" - } - }, - "node_modules/html-minifier/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/html-tags": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", @@ -12457,24 +10883,107 @@ "node": ">=4" } }, - "node_modules/htmlparser2": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", - "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "node_modules/html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^3.0.0", - "domutils": "^2.0.0", - "entities": "^2.0.0" + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "node_modules/html-webpack-plugin/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-webpack-plugin/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/html-webpack-plugin/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/html-webpack-plugin/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/html-webpack-plugin/node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, + "node_modules/htmlparser2/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -12482,34 +10991,31 @@ "dev": true }, "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/http-errors/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true }, "node_modules/http-parser-js": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", - "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", "dev": true }, "node_modules/http-proxy": { @@ -12526,20 +11032,6 @@ "node": ">=8.0.0" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/http-proxy-middleware": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", @@ -12582,19 +11074,6 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -12604,15 +11083,6 @@ "node": ">=8.12.0" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "dependencies": { - "ms": "^2.0.0" - } - }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -12646,21 +11116,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, "node_modules/iferr": { "version": "0.1.5", @@ -12710,6 +11166,18 @@ "node": ">=8" } }, + "node_modules/imagemin/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/imagemin/node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -12723,9 +11191,9 @@ } }, "node_modules/imagemin/node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -12735,7 +11203,19 @@ "micromatch": "^4.0.4" }, "engines": { - "node": ">=8.6.0" + "node": ">=8" + } + }, + "node_modules/imagemin/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/imagemin/node_modules/glob-parent": { @@ -12770,22 +11250,31 @@ } }, "node_modules/imagemin/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true, "engines": { "node": ">= 4" } }, + "node_modules/imagemin/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/imagemin/node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "braces": "^3.0.1", + "picomatch": "^2.2.3" }, "engines": { "node": ">=8.6" @@ -12809,6 +11298,18 @@ "node": ">=8" } }, + "node_modules/imagemin/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/img-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz", @@ -12824,48 +11325,15 @@ "imagemin": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/img-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/img-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", - "dev": true - }, "node_modules/import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", "dependencies": { - "import-from": "^2.1.0" + "import-from": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/import-fresh": { @@ -12881,35 +11349,130 @@ "node": ">=4" } }, - "node_modules/import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "node_modules/import-fresh/node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "dependencies": { - "resolve-from": "^3.0.0" + "caller-callsite": "^2.0.0" }, "engines": { "node": ">=4" } }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-from/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" }, "bin": { "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=8" + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/imurmurhash": { @@ -12946,7 +11509,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -12962,6 +11524,7 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, + "optional": true, "dependencies": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", @@ -12980,32 +11543,11 @@ } }, "node_modules/inquirer/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, + "optional": true, "engines": { "node": ">=4" } @@ -13015,6 +11557,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, + "optional": true, "dependencies": { "ansi-regex": "^3.0.0" }, @@ -13048,20 +11591,6 @@ "node": ">=6" } }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", @@ -13114,55 +11643,49 @@ } }, "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bind": "^1.0.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -13170,22 +11693,6 @@ "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -13193,15 +11700,12 @@ "dev": true }, "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", "dev": true, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-ci": { @@ -13220,7 +11724,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, "dependencies": { "css-color-names": "^0.0.4", "hex-color-regex": "^1.1.0", @@ -13231,9 +11734,9 @@ } }, "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", "dependencies": { "has": "^1.0.3" }, @@ -13242,45 +11745,60 @@ } }, "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", @@ -13291,28 +11809,22 @@ } }, "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", "dev": true, "bin": { "is-docker": "cli.js" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, "engines": { "node": ">=0.10.0" } @@ -13321,25 +11833,23 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -13347,22 +11857,34 @@ "node": ">=0.10.0" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", - "dev": true + "node_modules/is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "dev": true, + "dependencies": { + "ip-regex": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ip/node_modules/ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "dev": true, + "engines": { + "node": ">=8" + } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-number": { @@ -13377,21 +11899,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -13468,18 +11975,14 @@ } }, "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "has-symbols": "^1.0.1" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-resolvable": { @@ -13488,18 +11991,6 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -13509,49 +12000,28 @@ "node": ">=0.10.0" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-svg": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.2.tgz", - "integrity": "sha512-mM90duy00JGMyjqIVHu9gNTjywdZV+8qNasX8cm/EEYZ53PHDgajvbBwNVvty5dwSAxLUD3p3bdo+7sR/UMrpw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", "dev": true, "dependencies": { - "fast-xml-parser": "^3.19.0" + "html-comment-regex": "^1.1.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.1" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-typedarray": { @@ -13560,18 +12030,6 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -13582,15 +12040,12 @@ } }, "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/isarray": { @@ -13626,9 +12081,9 @@ "dev": true }, "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.5.tgz", + "integrity": "sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw==", "dev": true, "dependencies": { "@types/node": "*", @@ -13664,9 +12119,9 @@ } }, "node_modules/jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", + "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" }, "node_modules/js-base64": { "version": "2.6.4", @@ -13722,6 +12177,19 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", @@ -13732,6 +12200,7 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -13748,8 +12217,7 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema": { "version": "0.4.0", @@ -13766,7 +12234,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "dev": true, + "optional": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", @@ -13774,10 +12243,20 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, + "node_modules/json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, "bin": { "json5": "lib/cli.js" }, @@ -13790,25 +12269,31 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, - "optionalDependencies": { + "dependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, + "engines": [ + "node >=0.6.0" + ], "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.4.0", + "json-schema": "0.2.3", "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" } }, + "node_modules/jsprim/node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, "node_modules/junk": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", @@ -13834,18 +12319,18 @@ } }, "node_modules/klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/laravel-mix": { - "version": "6.0.43", - "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.43.tgz", - "integrity": "sha512-SOO+C1aOpVSAUs30DYc6k/e0QJxfyD42aav4IKJtE5UZKw9ROWcVzkVoek2J475jNeNnl7GkoLAC27gejZsQ8g==", + "version": "6.0.39", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.39.tgz", + "integrity": "sha512-ChTRKSNx9ViD3Xw1+BDQUZ0PLETcBrXlM7vNmomoDUZBXLUurVUJ9oaRUdGmH/WENNqL0qQ8FFxjq+6U368Nlg==", "dev": true, "dependencies": { "@babel/core": "^7.15.8", @@ -13864,7 +12349,7 @@ "babel-loader": "^8.2.3", "chalk": "^4.1.2", "chokidar": "^3.5.2", - "clean-css": "^5.2.4", + "clean-css": "^4.2.3 || ^5.1.2", "cli-table3": "^0.6.0", "collect.js": "^4.28.5", "commander": "^7.2.0", @@ -13893,7 +12378,7 @@ "vue-style-loader": "^4.1.3", "webpack": "^5.60.0", "webpack-cli": "^4.9.1", - "webpack-dev-server": "^4.7.3", + "webpack-dev-server": "4.4.0", "webpack-merge": "^5.8.0", "webpack-notifier": "^1.14.1", "webpackbar": "^5.0.0-3", @@ -13917,33 +12402,37 @@ "webpack-cli": "^4.9.1" } }, + "node_modules/laravel-mix-tailwind": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/laravel-mix-tailwind/-/laravel-mix-tailwind-0.1.2.tgz", + "integrity": "sha512-0a69bIZz9K0y2z/fZ+f1VXVswu7Ll49Y9IChKYp21MTQxgbMPDlC9d1srx0qfOj9tvg+pdOf750MSq4e6EVNhQ==" + }, "node_modules/laravel-mix/node_modules/@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", + "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.8", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.15.4", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.15.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -13958,44 +12447,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.15.3", + "@babel/plugin-transform-classes": "^7.15.4", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.15.4", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.4", + "@babel/plugin-transform-modules-systemjs": "^7.15.4", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.15.4", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.15.8", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.15.6", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", "semver": "^6.3.0" }, "engines": { @@ -14014,6 +12503,36 @@ "semver": "bin/semver.js" } }, + "node_modules/laravel-mix/node_modules/@babel/runtime": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/laravel-mix/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/laravel-mix/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/laravel-mix/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -14029,37 +12548,25 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/laravel-mix/node_modules/autoprefixer": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", - "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", + "node_modules/laravel-mix/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/laravel-mix/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], "dependencies": { - "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001332", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "fill-range": "^7.0.1" }, "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, "node_modules/laravel-mix/node_modules/chalk": { @@ -14110,22 +12617,6 @@ "node": ">= 10" } }, - "node_modules/laravel-mix/node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/laravel-mix/node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -14140,57 +12631,41 @@ "node": ">= 8" } }, - "node_modules/laravel-mix/node_modules/css-declaration-sorter": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", - "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", + "node_modules/laravel-mix/node_modules/css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", "dev": true, "engines": { - "node": "^10 || ^12 || >=14" + "node": "*" + } + }, + "node_modules/laravel-mix/node_modules/css-declaration-sorter": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", + "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", + "dev": true, + "dependencies": { + "timsort": "^0.3.0" + }, + "engines": { + "node": ">= 10" }, "peerDependencies": { "postcss": "^8.0.9" } }, - "node_modules/laravel-mix/node_modules/css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, "node_modules/laravel-mix/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "dev": true, "dependencies": { "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/fb55" @@ -14210,9 +12685,9 @@ } }, "node_modules/laravel-mix/node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "dev": true, "engines": { "node": ">= 6" @@ -14222,12 +12697,13 @@ } }, "node_modules/laravel-mix/node_modules/cssnano": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", - "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.8.tgz", + "integrity": "sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg==", "dev": true, "dependencies": { - "cssnano-preset-default": "^5.2.7", + "cssnano-preset-default": "^5.1.4", + "is-resolvable": "^1.1.0", "lilconfig": "^2.0.3", "yaml": "^1.10.2" }, @@ -14243,40 +12719,40 @@ } }, "node_modules/laravel-mix/node_modules/cssnano-preset-default": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", - "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz", + "integrity": "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==", "dev": true, "dependencies": { - "css-declaration-sorter": "^6.2.2", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.0", - "postcss-discard-comments": "^5.1.1", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.4", - "postcss-merge-rules": "^5.1.1", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.2", - "postcss-minify-selectors": "^5.2.0", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.0", - "postcss-normalize-repeat-style": "^5.1.0", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.0", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.1", - "postcss-reduce-initial": "^5.1.0", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.0", + "postcss-convert-values": "^5.0.1", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.2", + "postcss-merge-rules": "^5.0.2", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.2", + "postcss-minify-params": "^5.0.1", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.2", + "postcss-unique-selectors": "^5.0.1" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14297,10 +12773,70 @@ "node": ">= 10" } }, + "node_modules/laravel-mix/node_modules/del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/laravel-mix/node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/laravel-mix/node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/laravel-mix/node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, "node_modules/laravel-mix/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", "dev": true, "dependencies": { "domelementtype": "^2.2.0" @@ -14312,6 +12848,20 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/laravel-mix/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/laravel-mix/node_modules/dotenv": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", @@ -14350,10 +12900,58 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/laravel-mix/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/laravel-mix/node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/laravel-mix/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/laravel-mix/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -14376,6 +12974,58 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/laravel-mix/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/laravel-mix/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/laravel-mix/node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/laravel-mix/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14386,18 +13036,18 @@ } }, "node_modules/laravel-mix/node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", + "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", "dev": true }, "node_modules/laravel-mix/node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", + "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", "dev": true, "dependencies": { - "@types/http-proxy": "^1.17.8", + "@types/http-proxy": "^1.17.5", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", @@ -14405,14 +13055,6 @@ }, "engines": { "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } } }, "node_modules/laravel-mix/node_modules/human-signals": { @@ -14424,29 +13066,67 @@ "node": ">=10.17.0" } }, - "node_modules/laravel-mix/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/laravel-mix/node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 4" } }, - "node_modules/laravel-mix/node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "node_modules/laravel-mix/node_modules/internal-ip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", + "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", + "dev": true, + "dependencies": { + "default-gateway": "^6.0.0", + "ipaddr.js": "^1.9.1", + "is-ip": "^3.1.0", + "p-event": "^4.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" + } + }, + "node_modules/laravel-mix/node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", "dev": true, "engines": { - "node": ">= 10" + "node": ">=8" + } + }, + "node_modules/laravel-mix/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/laravel-mix/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/laravel-mix/node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/laravel-mix/node_modules/is-plain-obj": { @@ -14473,6 +13153,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/laravel-mix/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/laravel-mix/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -14491,6 +13183,20 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/laravel-mix/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, "node_modules/laravel-mix/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -14510,13 +13216,13 @@ "dev": true }, "node_modules/laravel-mix/node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "braces": "^3.0.1", + "picomatch": "^2.2.3" }, "engines": { "node": ">=8.6" @@ -14555,6 +13261,18 @@ "node": ">=8" } }, + "node_modules/laravel-mix/node_modules/nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/laravel-mix/node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -14587,6 +13305,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/laravel-mix/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/laravel-mix/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/laravel-mix/node_modules/p-retry": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", @@ -14600,24 +13348,6 @@ "node": ">=8" } }, - "node_modules/laravel-mix/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/laravel-mix/node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -14636,35 +13366,29 @@ "node": ">=8" } }, - "node_modules/laravel-mix/node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "node_modules/laravel-mix/node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" }, "peerDependencies": { "postcss": "^8.2.2" } }, "node_modules/laravel-mix/node_modules/postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", + "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", "dev": true, "dependencies": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" + "colord": "^2.0.1", + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14674,12 +13398,12 @@ } }, "node_modules/laravel-mix/node_modules/postcss-convert-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz", - "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", + "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14689,9 +13413,9 @@ } }, "node_modules/laravel-mix/node_modules/postcss-discard-comments": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", - "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14701,9 +13425,9 @@ } }, "node_modules/laravel-mix/node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14713,9 +13437,9 @@ } }, "node_modules/laravel-mix/node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14725,9 +13449,9 @@ } }, "node_modules/laravel-mix/node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14736,36 +13460,15 @@ "postcss": "^8.2.15" } }, - "node_modules/laravel-mix/node_modules/postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "dev": true, - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, "node_modules/laravel-mix/node_modules/postcss-merge-longhand": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", - "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", + "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.0" + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14775,15 +13478,16 @@ } }, "node_modules/laravel-mix/node_modules/postcss-merge-rules": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", - "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", + "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", "dev": true, "dependencies": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5", + "vendors": "^1.0.3" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14793,12 +13497,12 @@ } }, "node_modules/laravel-mix/node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14808,14 +13512,14 @@ } }, "node_modules/laravel-mix/node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz", + "integrity": "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==", "dev": true, "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "colord": "^2.6", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14825,14 +13529,16 @@ } }, "node_modules/laravel-mix/node_modules/postcss-minify-params": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", - "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", + "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14842,11 +13548,12 @@ } }, "node_modules/laravel-mix/node_modules/postcss-minify-selectors": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz", - "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", "dev": true, "dependencies": { + "alphanum-sort": "^1.0.2", "postcss-selector-parser": "^6.0.5" }, "engines": { @@ -14857,9 +13564,9 @@ } }, "node_modules/laravel-mix/node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14869,12 +13576,13 @@ } }, "node_modules/laravel-mix/node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14884,12 +13592,12 @@ } }, "node_modules/laravel-mix/node_modules/postcss-normalize-positions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", - "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14899,12 +13607,13 @@ } }, "node_modules/laravel-mix/node_modules/postcss-normalize-repeat-style": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", - "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14914,12 +13623,12 @@ } }, "node_modules/laravel-mix/node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14929,12 +13638,13 @@ } }, "node_modules/laravel-mix/node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14944,13 +13654,13 @@ } }, "node_modules/laravel-mix/node_modules/postcss-normalize-unicode": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", - "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14960,13 +13670,14 @@ } }, "node_modules/laravel-mix/node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", + "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", "dev": true, "dependencies": { + "is-absolute-url": "^3.0.3", "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14976,12 +13687,12 @@ } }, "node_modules/laravel-mix/node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -14991,13 +13702,13 @@ } }, "node_modules/laravel-mix/node_modules/postcss-ordered-values": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", - "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", + "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", "dev": true, "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -15007,12 +13718,12 @@ } }, "node_modules/laravel-mix/node_modules/postcss-reduce-initial": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", - "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", + "browserslist": "^4.16.0", "caniuse-api": "^3.0.0" }, "engines": { @@ -15023,12 +13734,13 @@ } }, "node_modules/laravel-mix/node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -15038,13 +13750,13 @@ } }, "node_modules/laravel-mix/node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", + "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" + "postcss-value-parser": "^4.1.0", + "svgo": "^2.3.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -15054,12 +13766,14 @@ } }, "node_modules/laravel-mix/node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", + "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.5" + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5", + "uniqs": "^2.0.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -15068,14 +13782,11 @@ "postcss": "^8.2.15" } }, - "node_modules/laravel-mix/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } + "node_modules/laravel-mix/node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true }, "node_modules/laravel-mix/node_modules/retry": { "version": "0.13.1", @@ -15119,22 +13830,10 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/laravel-mix/node_modules/selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", - "dev": true, - "dependencies": { - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/laravel-mix/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -15146,6 +13845,15 @@ "node": ">=10" } }, + "node_modules/laravel-mix/node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/laravel-mix/node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -15167,22 +13875,48 @@ "node": ">=8" } }, - "node_modules/laravel-mix/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/laravel-mix/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" + } + }, + "node_modules/laravel-mix/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/laravel-mix/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/laravel-mix/node_modules/stylehacks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", - "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", + "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", + "browserslist": "^4.16.0", "postcss-selector-parser": "^6.0.4" }, "engines": { @@ -15205,9 +13939,9 @@ } }, "node_modules/laravel-mix/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.7.0.tgz", + "integrity": "sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w==", "dev": true, "dependencies": { "@trysound/sax": "0.2.0", @@ -15215,7 +13949,7 @@ "css-select": "^4.1.3", "css-tree": "^1.1.3", "csso": "^4.2.0", - "picocolors": "^1.0.0", + "nanocolors": "^0.1.12", "stable": "^0.1.8" }, "bin": { @@ -15225,6 +13959,85 @@ "node": ">=10.13.0" } }, + "node_modules/laravel-mix/node_modules/terser": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/laravel-mix/node_modules/terser-webpack-plugin": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", + "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", + "dev": true, + "dependencies": { + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/laravel-mix/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/laravel-mix/node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/laravel-mix/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/laravel-mix/node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -15235,13 +14048,13 @@ } }, "node_modules/laravel-mix/node_modules/webpack-dev-middleware": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", - "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", + "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", "dev": true, "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.1", + "memfs": "^3.2.2", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" @@ -15258,9 +14071,9 @@ } }, "node_modules/laravel-mix/node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -15305,40 +14118,36 @@ } }, "node_modules/laravel-mix/node_modules/webpack-dev-server": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.8.1.tgz", - "integrity": "sha512-dwld70gkgNJa33czmcj/PlKY/nOy/BimbrgZRaR9vDATBQAYgLzggR0nxDtPLJiLrMgZwbE6RRfJ5vnBBasTyg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.4.0.tgz", + "integrity": "sha512-+S0XRIbsopVjPFjCO8I07FXYBWYqkFmuP56ucGMTs2hA/gV4q2M9xTmNo5Tg4o8ffRR+Nm3AsXnQXxKRyYovrA==", "dev": true, "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", + "bonjour": "^3.5.0", + "chokidar": "^3.5.2", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", + "del": "^6.0.0", + "express": "^4.17.1", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", + "http-proxy-middleware": "^2.0.0", + "internal-ip": "^6.2.0", "ipaddr.js": "^2.0.1", "open": "^8.0.9", "p-retry": "^4.5.0", "portfinder": "^1.0.28", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", + "schema-utils": "^3.1.0", + "selfsigned": "^1.10.11", "serve-index": "^1.9.1", "sockjs": "^0.3.21", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" + "strip-ansi": "^7.0.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^5.2.1", + "ws": "^8.1.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" @@ -15355,51 +14164,40 @@ } } }, - "node_modules/laravel-mix/node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "node_modules/laravel-mix/node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "engines": { + "node": ">=12" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/laravel-mix/node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "node_modules/laravel-mix/node_modules/webpack-dev-server/node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">= 10" } }, - "node_modules/laravel-mix/node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "node_modules/laravel-mix/node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">= 12.13.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/laravel-mix/node_modules/webpack-merge": { @@ -15430,27 +14228,10 @@ "node": ">= 8" } }, - "node_modules/laravel-mix/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/laravel-mix/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz", + "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==", "dev": true, "engines": { "node": ">=10.0.0" @@ -15484,57 +14265,42 @@ "dev": true }, "node_modules/laravel-mix/node_modules/yargs": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", - "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", + "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", "dev": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^4.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^20.2.2" }, "engines": { "node": ">=12" } }, - "node_modules/laravel-mix/node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/launch-editor": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.3.0.tgz", - "integrity": "sha512-3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", + "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", "dev": true, "dependencies": { - "picocolors": "^1.0.0", + "chalk": "^2.3.0", "shell-quote": "^1.6.1" } }, "node_modules/launch-editor-middleware": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.3.0.tgz", - "integrity": "sha512-GJR64trLdFFwCoL9DMn/d1SZX0OzTDPixu4mcfWTShQ4tIqCHCGvlg9fOEYQXyBlrSMQwylsJfUWncheShfV2w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", "dev": true, "dependencies": { - "launch-editor": "^2.3.0" + "launch-editor": "^2.2.1" } }, - "node_modules/launch-editor/node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -15548,19 +14314,17 @@ } }, "node_modules/lilconfig": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", - "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", - "dev": true, + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", "engines": { "node": ">=10" } }, "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" }, "node_modules/loader-fs-cache": { "version": "1.0.3", @@ -15624,38 +14388,51 @@ } }, "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, "engines": { - "node": ">=6.11.5" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, "node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "json5": "^1.0.1" }, "engines": { - "node": ">=8.9.0" + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/lodash": { @@ -15773,19 +14550,17 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "peer": true - }, "node_modules/lodash.restparam": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", "dev": true }, + "node_modules/lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=" + }, "node_modules/lodash.transform": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", @@ -15811,16 +14586,12 @@ } }, "node_modules/loglevel": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", - "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", "dev": true, "engines": { "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" } }, "node_modules/loose-envify": { @@ -15836,13 +14607,10 @@ } }, "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true }, "node_modules/lru-cache": { "version": "5.1.1", @@ -15871,148 +14639,17 @@ }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/make-fetch-happen/node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" + "semver": "bin/semver.js" } }, - "node_modules/make-fetch-happen/node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-fetch-happen/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/make-fetch-happen/node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/make-fetch-happen/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -16131,15 +14768,78 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "node_modules/meow/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/meow/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -16147,19 +14847,17 @@ "dev": true }, "node_modules/merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "dependencies": { - "source-map": "^0.6.1" + "source-map": "^0.5.6" } }, "node_modules/merge-source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "engines": { "node": ">=0.10.0" } @@ -16174,7 +14872,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -16212,88 +14909,6 @@ "node": ">=0.10.0" } }, - "node_modules/micromatch/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", @@ -16308,39 +14923,39 @@ } }, "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true }, "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true, "bin": { "mime": "cli.js" }, "engines": { - "node": ">=4" + "node": ">=4.0.0" } }, "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "dev": true, "dependencies": { - "mime-db": "1.52.0" + "mime-db": "1.50.0" }, "engines": { "node": ">= 0.6" @@ -16385,6 +15000,20 @@ "webpack": "^4.4.0 || ^5.0.0" } }, + "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -16403,6 +15032,14 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.3.tgz", + "integrity": "sha512-gSfqpMRC8IxghvMcxzzmMnWpXAChSA+vy4cia33RgerMS8Fex95akUyQZPbxJJmeBGiGmK7n/1OpUX8ksRjIdA==", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -16416,10 +15053,9 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -16428,9 +15064,9 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "node_modules/minimist-options": { "version": "4.1.0", @@ -16458,71 +15094,6 @@ "node": ">=8" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dev": true, - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/minipass/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -16549,9 +15120,9 @@ "dev": true }, "node_modules/mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "dependencies": { "concat-stream": "^1.5.0", @@ -16560,7 +15131,7 @@ "flush-write-stream": "^1.0.0", "from2": "^2.1.0", "parallel-transform": "^1.1.0", - "pump": "^2.0.1", + "pump": "^3.0.0", "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" @@ -16569,16 +15140,6 @@ "node": ">=4.0.0" } }, - "node_modules/mississippi/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -16592,22 +15153,45 @@ "node": ">=0.10.0" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { - "minimist": "^1.2.6" + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" }, "bin": { "mkdirp": "bin/cmd.js" } }, + "node_modules/modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/moment": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", "engines": { "node": "*" } @@ -16629,7 +15213,8 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/multicast-dns": { "version": "6.2.3", @@ -16654,7 +15239,8 @@ "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true + "dev": true, + "optional": true }, "node_modules/mz": { "version": "2.7.0", @@ -16668,16 +15254,21 @@ } }, "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true + }, + "node_modules/nanocolors": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", + "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==", "dev": true }, "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -16711,12 +15302,13 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "dev": true, + "optional": true }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true, "engines": { "node": ">= 0.6" @@ -16735,39 +15327,46 @@ "dev": true }, "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "dev": true, "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "lower-case": "^1.1.1" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dependencies": { + "lodash": "^4.17.21" } }, "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true, "engines": { - "node": ">= 6.13.0" + "node": ">= 6.0.0" } }, "node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", "dev": true, "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", + "graceful-fs": "^4.2.3", "nopt": "^5.0.0", - "npmlog": "^6.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", + "semver": "^7.3.2", + "tar": "^6.0.2", "which": "^2.0.2" }, "bin": { @@ -16777,38 +15376,6 @@ "node": ">= 10.12.0" } }, - "node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", - "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/node-gyp/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -16821,35 +15388,6 @@ "node": ">=10" } }, - "node_modules/node-gyp/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/node-gyp/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -16866,9 +15404,9 @@ } }, "node_modules/node-gyp/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -16902,9 +15440,9 @@ "dev": true }, "node_modules/node-ipc": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz", - "integrity": "sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.3.tgz", + "integrity": "sha512-8RS4RZyS/KMKKYG8mrje+cLxwATe9dBCuOiqKFSWND4oOuKytfuKCiR9yinvhoXF/nGdX/WnbywaUee+9U87zA==", "dev": true, "dependencies": { "event-pubsub": "4.3.0", @@ -16946,6 +15484,12 @@ "vm-browserify": "^1.0.1" } }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, "node_modules/node-notifier": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", @@ -16960,6 +15504,18 @@ "which": "^2.0.2" } }, + "node_modules/node-notifier/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/node-notifier/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -16973,9 +15529,9 @@ } }, "node_modules/node-notifier/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -17018,19 +15574,19 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", - "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" }, "node_modules/node-sass": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz", - "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-6.0.1.tgz", + "integrity": "sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==", "dev": true, "hasInstallScript": true, "dependencies": { "async-foreach": "^0.1.3", - "chalk": "^4.1.2", + "chalk": "^1.1.1", "cross-spawn": "^7.0.3", "gaze": "^1.0.0", "get-stdin": "^4.0.1", @@ -17038,10 +15594,10 @@ "lodash": "^4.17.15", "meow": "^9.0.0", "nan": "^2.13.2", - "node-gyp": "^8.4.1", - "npmlog": "^5.0.0", + "node-gyp": "^7.1.0", + "npmlog": "^4.0.0", "request": "^2.88.0", - "sass-graph": "4.0.0", + "sass-graph": "2.2.5", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" }, @@ -17052,47 +15608,38 @@ "node": ">=12" } }, - "node_modules/node-sass/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/node-sass/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, "node_modules/node-sass/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/node-sass/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, "node_modules/node-sass/node_modules/cross-spawn": { @@ -17118,15 +15665,6 @@ "node": ">=0.10.0" } }, - "node_modules/node-sass/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/node-sass/node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -17157,16 +15695,25 @@ "node": ">=8" } }, - "node_modules/node-sass/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/node-sass/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "ansi-regex": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" } }, "node_modules/node-sass/node_modules/which": { @@ -17200,58 +15747,21 @@ } }, "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" } }, - "node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -17260,7 +15770,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -17279,6 +15788,12 @@ "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" }, + "node_modules/normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==", + "dev": true + }, "node_modules/nouislider": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/nouislider/-/nouislider-12.1.0.tgz", @@ -17297,15 +15812,15 @@ } }, "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "node_modules/nprogress": { @@ -17314,15 +15829,12 @@ "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" }, "node_modules/nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", "dev": true, "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "boolbase": "~1.0.0" } }, "node_modules/num2fraction": { @@ -17331,6 +15843,15 @@ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -17375,53 +15896,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -17444,27 +15918,20 @@ } }, "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" }, "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", + "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { @@ -17476,12 +15943,12 @@ } }, "node_modules/object-path": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", - "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", + "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", "dev": true, "engines": { - "node": ">= 10.12.0" + "node": ">=0.8.0" } }, "node_modules/object-visit": { @@ -17509,26 +15976,20 @@ }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "es-abstract": "^1.18.0-next.1" }, "engines": { "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.pick": { @@ -17544,20 +16005,18 @@ } }, "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/obuf": { @@ -17567,9 +16026,9 @@ "dev": true }, "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "dependencies": { "ee-first": "1.1.1" @@ -17591,7 +16050,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "dependencies": { "wrappy": "1" } @@ -17620,15 +16078,6 @@ "node": ">=8" } }, - "node_modules/open/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", @@ -17650,15 +16099,6 @@ "node": ">=4" } }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/optimist": { "version": "0.3.7", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", @@ -17700,27 +16140,6 @@ "node": ">=6" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/original": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", @@ -17741,10 +16160,26 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, + "optional": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dev": true, + "dependencies": { + "p-timeout": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -17767,39 +16202,15 @@ } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=4" } }, "node_modules/p-map": { @@ -17835,6 +16246,18 @@ "node": ">=6" } }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -17862,13 +16285,12 @@ } }, "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "no-case": "^2.2.0" } }, "node_modules/parchment": { @@ -17880,7 +16302,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -17892,7 +16313,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -17963,6 +16383,31 @@ "tslib": "^2.0.3" } }, + "node_modules/pascal-case/node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/pascal-case/node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/pascal-case/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, "node_modules/pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", @@ -17997,7 +16442,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -18018,9 +16462,9 @@ } }, "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "node_modules/path-to-regexp": { "version": "0.1.7", @@ -18050,9 +16494,9 @@ } }, "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", "dev": true, "dependencies": { "create-hash": "^1.1.2", @@ -18066,9 +16510,9 @@ } }, "node_modules/perfect-scrollbar": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz", - "integrity": "sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.0.tgz", + "integrity": "sha512-NrNHJn5mUGupSiheBTy6x+6SXCFbLlm8fVZh9moIzw/LgqElN5q4ncR4pbCBCYuCJ8Kcl9mYM0NgDxvW+b4LxA==" }, "node_modules/performance-now": { "version": "2.1.0", @@ -18083,10 +16527,9 @@ "dev": true }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "engines": { "node": ">=8.6" }, @@ -18136,6 +16579,73 @@ "node": ">=8" } }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/pkg-up": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", @@ -18148,48 +16658,12 @@ "node": ">=4" } }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true, + "optional": true, "engines": { "node": ">=4" } @@ -18197,12 +16671,7 @@ "node_modules/popper.js": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", - "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" }, "node_modules/portfinder": { "version": "1.0.28", @@ -18218,15 +16687,6 @@ "node": ">= 0.12.0" } }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/portfinder/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -18246,27 +16706,47 @@ } }, "node_modules/postcss": { - "version": "8.4.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", - "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", "dependencies": { - "nanoid": "^3.3.1", + "nanoid": "^3.1.30", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.0.1" }, "engines": { "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-calc": { @@ -18297,13 +16777,156 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-calc/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-functional-notation/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "dev": true, + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-gray/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-hex-alpha/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "dev": true, + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-mod-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-rebeccapurple/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-colormin": { @@ -18345,15 +16968,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-colormin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-convert-values": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", @@ -18390,13 +17004,175 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-convert-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", "dev": true, + "dependencies": { + "postcss": "^7.0.14" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-media/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-properties/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-selectors/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, "node_modules/postcss-discard-comments": { @@ -18428,15 +17204,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-discard-comments/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-discard-duplicates": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", @@ -18466,15 +17233,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-discard-duplicates/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-discard-empty": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", @@ -18504,15 +17262,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-discard-empty/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-discard-overridden": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", @@ -18542,86 +17291,20 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-discard-overridden/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "node_modules/postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", "dev": true, "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" }, "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=6.0.0" } }, - "node_modules/postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "dependencies": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/postcss-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-loader/node_modules/postcss": { + "node_modules/postcss-double-position-gradients/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", @@ -18638,44 +17321,505 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-loader/node_modules/postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "node_modules/postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", "dev": true, "dependencies": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" }, "engines": { - "node": ">= 4" + "node": ">=6.0.0" + } + }, + "node_modules/postcss-env-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", "dev": true, "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "postcss": "^7.0.2" }, "engines": { - "node": ">= 4" + "node": ">=6.0.0" } }, - "node_modules/postcss-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/postcss-focus-visible/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-focus-within/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-font-variant/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-functions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", + "integrity": "sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=", + "dev": true, + "dependencies": { + "glob": "^7.1.2", + "object-assign": "^4.1.1", + "postcss": "^6.0.9", + "postcss-value-parser": "^3.3.0" + } + }, + "node_modules/postcss-functions/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-functions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-gap-properties/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-image-set-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-import": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-initial/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "dependencies": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "dev": true, + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-lab-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "dependencies": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.0.tgz", + "integrity": "sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/postcss-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/postcss-loader/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" + } + }, + "node_modules/postcss-loader/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-logical/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-media-minmax/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-merge-longhand": { @@ -18716,15 +17860,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-merge-longhand/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-merge-rules": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", @@ -18773,15 +17908,6 @@ "node": ">=8" } }, - "node_modules/postcss-merge-rules/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-minify-font-values": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", @@ -18818,15 +17944,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-minify-font-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-minify-gradients": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", @@ -18865,15 +17982,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-minify-gradients/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-minify-params": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", @@ -18914,15 +18022,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-minify-params/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-minify-selectors": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", @@ -18969,15 +18068,6 @@ "node": ">=8" } }, - "node_modules/postcss-minify-selectors/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-modules-extract-imports": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", @@ -19037,6 +18127,53 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, "node_modules/postcss-normalize-charset": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", @@ -19066,15 +18203,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-normalize-charset/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-normalize-display-values": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", @@ -19112,15 +18240,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-normalize-display-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-normalize-positions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", @@ -19159,15 +18278,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-normalize-positions/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-normalize-repeat-style": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", @@ -19206,15 +18316,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-normalize-repeat-style/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-normalize-string": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", @@ -19252,15 +18353,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-normalize-string/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-normalize-timing-functions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", @@ -19298,15 +18390,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-normalize-timing-functions/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-normalize-unicode": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", @@ -19344,15 +18427,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-normalize-unicode/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-normalize-url": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", @@ -19391,15 +18465,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-normalize-url/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-normalize-whitespace": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", @@ -19436,15 +18501,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-normalize-whitespace/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-ordered-values": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", @@ -19482,13 +18538,232 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-ordered-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" + } + }, + "node_modules/postcss-overflow-shorthand/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-page-break/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-place/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "dev": true, + "dependencies": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-preset-env/node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/postcss-preset-env/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, "node_modules/postcss-reduce-initial": { @@ -19523,15 +18798,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-reduce-initial/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-reduce-transforms": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", @@ -19570,20 +18836,90 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-reduce-transforms/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-replace-overflow-wrap/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-matches/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-not/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -19593,11 +18929,12 @@ } }, "node_modules/postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", - "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", "dev": true, "dependencies": { + "is-svg": "^3.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0", "svgo": "^1.0.0" @@ -19629,15 +18966,6 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, - "node_modules/postcss-svgo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-unique-selectors": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", @@ -19669,26 +18997,29 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-unique-selectors/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "dev": true, + "dependencies": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=6.14.4" + } }, "node_modules/postcss/node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/prelude-ls": { "version": "1.1.2", @@ -19708,19 +19039,15 @@ } }, "node_modules/prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true, - "optional": true, "bin": { "prettier": "bin-prettier.js" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=4" } }, "node_modules/prettier-linter-helpers": { @@ -19745,6 +19072,14 @@ "renderkid": "^2.0.4" } }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/pretty-time": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", @@ -19754,6 +19089,15 @@ "node": ">=4" } }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -19773,6 +19117,7 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, + "optional": true, "engines": { "node": ">=0.4.0" } @@ -19783,26 +19128,13 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", "dev": true, "dependencies": { - "forwarded": "0.2.0", + "forwarded": "~0.1.2", "ipaddr.js": "1.9.1" }, "engines": { @@ -19842,9 +19174,9 @@ } }, "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true }, "node_modules/pump": { @@ -19879,10 +19211,54 @@ } }, "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/purgecss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", + "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", + "dependencies": { + "commander": "^8.0.0", + "glob": "^7.1.7", + "postcss": "^8.3.5", + "postcss-selector-parser": "^6.0.6" + }, + "bin": { + "purgecss": "bin/purgecss.js" + } + }, + "node_modules/purgecss/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/purgecss/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/q": { "version": "1.5.1", @@ -19895,9 +19271,9 @@ } }, "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true, "engines": { "node": ">=0.6" @@ -19920,7 +19296,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "dev": true, "engines": { "node": ">=0.4.x" @@ -19945,7 +19320,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -19962,12 +19336,14 @@ ] }, "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/quill": { @@ -20038,13 +19414,13 @@ } }, "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", + "bytes": "3.1.0", + "http-errors": "1.7.2", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -20052,6 +19428,24 @@ "node": ">= 0.8" } }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -20084,6 +19478,76 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -20093,24 +19557,6 @@ "node": ">=8" } }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, "node_modules/read-pkg/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -20122,27 +19568,6 @@ "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, "engines": { "node": ">=8" } @@ -20161,19 +19586,10 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -20206,6 +19622,32 @@ "node": ">=8" } }, + "node_modules/redent/node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dependencies": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + } + }, + "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -20213,9 +19655,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -20225,14 +19667,14 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -20258,19 +19700,15 @@ "dev": true }, "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "define-properties": "^1.1.3" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/regexpp": { @@ -20278,20 +19716,21 @@ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", "dev": true, + "optional": true, "engines": { "node": ">=4.0.0" } }, "node_modules/regexpu-core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", - "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "dev": true, "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" }, @@ -20300,15 +19739,15 @@ } }, "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -20342,16 +19781,16 @@ "dev": true }, "node_modules/renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", "dev": true, "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" + "css-select": "^2.0.2", + "dom-converter": "^0.2", + "htmlparser2": "^3.10.1", + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" } }, "node_modules/renderkid/node_modules/ansi-regex": { @@ -20363,68 +19802,6 @@ "node": ">=0.10.0" } }, - "node_modules/renderkid/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/renderkid/node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, "node_modules/renderkid/node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -20438,9 +19815,9 @@ } }, "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", "dev": true, "engines": { "node": ">=0.10.0" @@ -20468,7 +19845,6 @@ "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { "aws-sign2": "~0.7.0", @@ -20506,16 +19882,12 @@ }, "engines": { "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" } }, "node_modules/request-promise-native": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { "request-promise-core": "1.1.4", @@ -20524,9 +19896,6 @@ }, "engines": { "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" } }, "node_modules/require-directory": { @@ -20558,6 +19927,7 @@ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, + "optional": true, "dependencies": { "caller-path": "^0.1.0", "resolve-from": "^1.0.0" @@ -20566,36 +19936,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-uncached/node_modules/caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "dependencies": { - "callsites": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-uncached/node_modules/callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-uncached/node_modules/resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -20614,43 +19954,30 @@ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" }, "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dependencies": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "dependencies": { - "resolve-from": "^5.0.0" + "resolve-from": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", @@ -20659,11 +19986,20 @@ "node": ">=4" } }, + "node_modules/resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true }, "node_modules/resolve-url-loader": { @@ -20692,30 +20028,13 @@ "node": ">=4" } }, - "node_modules/resolve-url-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, "node_modules/restore-cursor": { @@ -20753,7 +20072,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -20784,14 +20102,12 @@ "node_modules/rgb-regex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" }, "node_modules/rgba-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" }, "node_modules/rimraf": { "version": "2.7.1", @@ -20820,6 +20136,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, + "optional": true, "engines": { "node": ">=0.12.0" } @@ -20828,7 +20145,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -20865,13 +20181,15 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true + "dev": true, + "optional": true }, "node_modules/rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, + "optional": true, "dependencies": { "rx-lite": "*" } @@ -20896,135 +20214,144 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz", - "integrity": "sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==", + "version": "1.32.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.5.tgz", + "integrity": "sha512-kU1yJ5zUAmPxr7f3q0YXTAd1oZjSR1g3tYyv+xu0HZSl5JiNOaE987eiz7wCUvbm4I9fGWGU2TgApTtcP4GMNQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" + "chokidar": ">=2.0.0 <4.0.0" }, "bin": { "sass": "sass.js" }, "engines": { - "node": ">=12.0.0" + "node": ">=8.9.0" } }, "node_modules/sass-graph": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz", - "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", "dev": true, "dependencies": { "glob": "^7.0.0", - "lodash": "^4.17.11", - "scss-tokenizer": "^0.3.0", - "yargs": "^17.2.1" - }, - "bin": { - "sassgraph": "bin/sassgraph" - }, - "engines": { - "node": ">=12" + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" } }, - "node_modules/sass-graph/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/sass-graph/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/sass-graph/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "locate-path": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6" } }, - "node_modules/sass-graph/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/sass-graph/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/sass-graph/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/sass-graph/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "p-try": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=6" } }, - "node_modules/sass-graph/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/sass-graph/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=6" } }, - "node_modules/sass-graph/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/sass-graph/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { - "node": ">=10" + "node": ">=6" + } + }, + "node_modules/sass-graph/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/sass-graph/node_modules/yargs": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", - "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "engines": { - "node": ">=12" + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" } }, "node_modules/sass-graph/node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, "node_modules/sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", + "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", "dev": true, "dependencies": { "klona": "^2.0.4", @@ -21041,7 +20368,6 @@ "fibers": ">= 3.1.0", "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", "sass": "^1.3.0", - "sass-embedded": "*", "webpack": "^5.0.0" }, "peerDependenciesMeta": { @@ -21053,12 +20379,105 @@ }, "sass": { "optional": true - }, - "sass-embedded": { - "optional": true } } }, + "node_modules/sass-resources-loader": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-resources-loader/-/sass-resources-loader-2.2.4.tgz", + "integrity": "sha512-hIQhBygYky+rLf+4cuoGYONZ623CEH4Swo1fs1WRJkukbqdvN1VIu2KCL59du6vX92bNELzNkGPLx+NorN73xA==", + "dev": true, + "dependencies": { + "async": "^3.2.0", + "chalk": "^4.1.0", + "glob": "^7.1.6", + "loader-utils": "^2.0.0" + } + }, + "node_modules/sass-resources-loader/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/sass-resources-loader/node_modules/async": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", + "integrity": "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==", + "dev": true + }, + "node_modules/sass-resources-loader/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/sass-resources-loader/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/sass-resources-loader/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sass-resources-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sass-resources-loader/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -21077,29 +20496,28 @@ }, "engines": { "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" } }, "node_modules/scss-tokenizer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz", - "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "dependencies": { - "js-base64": "^2.4.3", - "source-map": "^0.7.1" + "js-base64": "^2.1.8", + "source-map": "^0.4.2" } }, "node_modules/scss-tokenizer/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, "engines": { - "node": ">= 8" + "node": ">=0.8.0" } }, "node_modules/select": { @@ -21114,50 +20532,42 @@ "dev": true }, "node_modules/selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", "dev": true, "dependencies": { "node-forge": "^0.10.0" } }, - "node_modules/selfsigned/node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, "bin": { - "semver": "bin/semver.js" + "semver": "bin/semver" } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, "dependencies": { "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", + "depd": "~1.1.2", + "destroy": "~1.0.4", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "2.0.0", + "http-errors": "~1.7.2", "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", + "ms": "2.1.1", + "on-finished": "~2.3.0", "range-parser": "~1.2.1", - "statuses": "2.0.1" + "statuses": "~1.5.0" }, "engines": { "node": ">= 0.8.0" @@ -21178,25 +20588,28 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "node_modules/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "bin": { + "mime": "cli.js" + }, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -21262,25 +20675,16 @@ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.17.1" }, "engines": { "node": ">= 0.8.0" @@ -21319,15 +20723,6 @@ "node": ">=0.10.0" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -21335,9 +20730,9 @@ "dev": true }, "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, "node_modules/sha.js": { @@ -21420,9 +20815,9 @@ } }, "node_modules/shell-quote": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, "node_modules/shellwords": { @@ -21431,31 +20826,16 @@ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, "dependencies": { "is-arrayish": "^0.3.1" } @@ -21463,8 +20843,7 @@ "node_modules/simple-swizzle/node_modules/is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, "node_modules/slash": { "version": "2.0.0", @@ -21480,6 +20859,7 @@ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, + "optional": true, "dependencies": { "is-fullwidth-code-point": "^2.0.0" }, @@ -21487,25 +20867,6 @@ "node": ">=4" } }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, "node_modules/snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -21551,6 +20912,44 @@ "node": ">=0.10.0" } }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", @@ -21608,120 +21007,44 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", "dev": true, "dependencies": { "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", + "uuid": "^3.4.0", "websocket-driver": "^0.7.4" } }, "node_modules/sockjs-client": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz", - "integrity": "sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", "dev": true, "dependencies": { - "debug": "^3.2.7", - "eventsource": "^1.1.0", - "faye-websocket": "^0.11.4", + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", "inherits": "^2.0.4", - "url-parse": "^1.5.10" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://tidelift.com/funding/github/npm/sockjs-client" + "json3": "^3.3.3", + "url-parse": "^1.4.7" } }, "node_modules/sockjs-client/node_modules/debug": { @@ -21733,43 +21056,6 @@ "ms": "^2.1.1" } }, - "node_modules/sockjs/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/socks": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", - "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", - "dev": true, - "dependencies": { - "ip": "^1.1.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", - "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", - "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -21789,18 +21075,17 @@ "dev": true }, "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", + "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", "engines": { "node": ">=0.10.0" } @@ -21809,7 +21094,6 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "dependencies": { "atob": "^2.1.2", @@ -21820,29 +21104,19 @@ } }, "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "node_modules/spdx-correct": { @@ -21872,9 +21146,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "node_modules/spdy": { @@ -21940,9 +21214,9 @@ "dev": true }, "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "dependencies": { "asn1": "~0.2.3", @@ -21955,25 +21229,22 @@ "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, "engines": { "node": ">=0.10.0" } }, + "node_modules/ssr-window": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.1.tgz", + "integrity": "sha512-5q936lkCk5Lg5hM6tG8Nutdym4vNiuFSWorslTzOn71PWb3Wnx44q/k2Ryn1LWA1G4FtxMzjywUFOiOxPkVGrA==" + }, "node_modules/ssri": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.0.tgz", - "integrity": "sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", "dev": true, "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "figgy-pudding": "^3.5.1" } }, "node_modules/stable": { @@ -21983,9 +21254,9 @@ "dev": true }, "node_modules/stackframe": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", - "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", "dev": true }, "node_modules/static-eval": { @@ -22004,7 +21275,8 @@ "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1" + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -22012,18 +21284,18 @@ }, "engines": { "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" } }, - "node_modules/static-eval/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, + "node_modules/static-eval/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/static-extend": { @@ -22051,77 +21323,6 @@ "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/static-module": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", @@ -22143,32 +21344,28 @@ "through2": "~2.0.3" } }, - "node_modules/static-module/node_modules/merge-source-map": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", - "dependencies": { - "source-map": "^0.5.6" - } - }, - "node_modules/static-module/node_modules/object-inspect": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", - "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" - }, "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, "node_modules/std-env": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.1.1.tgz", - "integrity": "sha512-/c645XdExBypL01TpFKiG/3RAa/Qmu+zRi0MwAmrdEkwHNuN0ebo8ccAXBBDa5Z0QOJgBskUIbuCK91x0sCVEw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", + "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + } + }, + "node_modules/std-env/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", "dev": true }, "node_modules/stdout-stream": { @@ -22238,127 +21435,105 @@ } }, "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, "node_modules/string.prototype.padend": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz", - "integrity": "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.1.tgz", + "integrity": "sha512-eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "es-abstract": "^1.18.0-next.1" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.padstart": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.3.tgz", - "integrity": "sha512-NZydyOMtYxpTjGqp0VN5PYUF/tsU15yDMZnUdj16qRUIUiMJkHHSDElYyQFrMu+/WloTpA7MQSiADhBicDfaoA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.1.tgz", + "integrity": "sha512-kcFjKhQYg40AK9MITCWYr/vIebruAD01sc/fxi8szHJaEG7Rke4XHw6LU9c1VWXh/+J/PxvWLLf/aIAGKhXkAQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "es-abstract": "^1.18.0-next.1" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=6" } }, "node_modules/strip-eof": { @@ -22380,15 +21555,12 @@ } }, "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/strip-json-comments": { @@ -22396,16 +21568,11 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "dev": true - }, "node_modules/style-loader": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", @@ -22426,6 +21593,20 @@ "webpack": "^4.0.0 || ^5.0.0" } }, + "node_modules/style-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, "node_modules/style-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -22489,15 +21670,6 @@ "node": ">=8" } }, - "node_modules/stylehacks/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -22509,17 +21681,6 @@ "node": ">=4" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/svg-tags": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", @@ -22530,7 +21691,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", "dev": true, "dependencies": { "chalk": "^2.4.1", @@ -22562,11 +21722,35 @@ "node": ">=0.10.0" } }, + "node_modules/swiper": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-7.3.1.tgz", + "integrity": "sha512-YHa8uI22UwF9Q6F9tCDSai7/BJo8uVHKampKYAIShlFrWoHfM+sCCn24Yeq3oqIKZv2bfSULzXKsXmh0VpCNeQ==", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/swiperjs" + }, + { + "type": "open_collective", + "url": "http://opencollective.com/swiper" + } + ], + "hasInstallScript": true, + "dependencies": { + "dom7": "^4.0.1", + "ssr-window": "^4.0.1" + }, + "engines": { + "node": ">= 4.7.0" + } + }, "node_modules/table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, + "optional": true, "dependencies": { "ajv": "^5.2.3", "ajv-keywords": "^2.1.0", @@ -22581,6 +21765,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, + "optional": true, "dependencies": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -22593,69 +21778,786 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true, - "peerDependencies": { - "ajv": "^5.0.0" - } - }, - "node_modules/table/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "engines": { - "node": ">=4" - } + "optional": true }, "node_modules/table/node_modules/fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, - "engines": { - "node": ">=4" - } + "optional": true }, "node_modules/table/node_modules/json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true + "dev": true, + "optional": true }, - "node_modules/table/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/tailwindcss": { + "version": "2.2.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.17.tgz", + "integrity": "sha512-WgRpn+Pxn7eWqlruxnxEbL9ByVRWi3iC10z4b6dW0zSdnkPVC4hPMSWLQkkW8GCyBIv/vbJ0bxIi9dVrl4CfoA==", + "dependencies": { + "arg": "^5.0.1", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tailwindcss-dir/-/tailwindcss-dir-4.0.0.tgz", + "integrity": "sha512-G5orTODS8sDQOZqKa2Q4Ey/F4nlxK1mTZm02iKHLxZaNjpboPews/h2KUksC5KbgIVrpmOe1hqcNYZJy07ftwA==", "dev": true, "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "tailwindcss": "^1.0.1" + } + }, + "node_modules/tailwindcss-dir/node_modules/@fullhuman/postcss-purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz", + "integrity": "sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw==", + "dev": true, + "dependencies": { + "postcss": "7.0.32", + "purgecss": "^2.3.0" + } + }, + "node_modules/tailwindcss-dir/node_modules/@fullhuman/postcss-purgecss/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, - "node_modules/table/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "node_modules/tailwindcss-dir/node_modules/@fullhuman/postcss-purgecss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, + "node_modules/tailwindcss-dir/node_modules/@fullhuman/postcss-purgecss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss-dir/node_modules/@fullhuman/postcss-purgecss/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/tailwindcss-dir/node_modules/@fullhuman/postcss-purgecss/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/tailwindcss-dir/node_modules/@fullhuman/postcss-purgecss/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss-dir/node_modules/@fullhuman/postcss-purgecss/node_modules/postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + }, + "node_modules/tailwindcss-dir/node_modules/@fullhuman/postcss-purgecss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tailwindcss-dir/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/tailwindcss-dir/node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/tailwindcss-dir/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/tailwindcss-dir/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/tailwindcss-dir/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss-dir/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/tailwindcss-dir/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss-dir/node_modules/html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss-dir/node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss-dir/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/tailwindcss-dir/node_modules/postcss-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", + "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1", + "postcss": "^7.0.18" + } + }, + "node_modules/tailwindcss-dir/node_modules/postcss-nested": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", + "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2" + } + }, + "node_modules/tailwindcss-dir/node_modules/purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", + "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", + "dev": true, + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.0.0", + "postcss": "7.0.32", + "postcss-selector-parser": "^6.0.2" + }, + "bin": { + "purgecss": "bin/purgecss" + } + }, + "node_modules/tailwindcss-dir/node_modules/purgecss/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss-dir/node_modules/purgecss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss-dir/node_modules/purgecss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss-dir/node_modules/purgecss/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/tailwindcss-dir/node_modules/purgecss/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/tailwindcss-dir/node_modules/purgecss/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss-dir/node_modules/purgecss/node_modules/postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + }, + "node_modules/tailwindcss-dir/node_modules/purgecss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tailwindcss-dir/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss-dir/node_modules/tailwindcss": { + "version": "1.9.6", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.9.6.tgz", + "integrity": "sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ==", + "dev": true, + "dependencies": { + "@fullhuman/postcss-purgecss": "^2.1.2", + "autoprefixer": "^9.4.5", + "browserslist": "^4.12.0", + "bytes": "^3.0.0", + "chalk": "^3.0.0 || ^4.0.0", + "color": "^3.1.2", + "detective": "^5.2.0", + "fs-extra": "^8.0.0", + "html-tags": "^3.1.0", + "lodash": "^4.17.20", + "node-emoji": "^1.8.1", + "normalize.css": "^8.0.1", + "object-hash": "^2.0.3", + "postcss": "^7.0.11", + "postcss-functions": "^3.0.0", + "postcss-js": "^2.0.0", + "postcss-nested": "^4.1.1", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "reduce-css-calc": "^2.1.6", + "resolve": "^1.14.2" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/tailwindcss/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/tailwindcss/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/tailwindcss/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/tailwindcss/node_modules/color": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/color/-/color-4.0.1.tgz", + "integrity": "sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.6.0" + } + }, + "node_modules/tailwindcss/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/tailwindcss/node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tailwindcss/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss/node_modules/html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tailwindcss/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/tailwindcss/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/tailwindcss/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/tailwindcss/node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tailwindcss/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tailwindcss/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tailwindcss/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tailwindcss/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, "engines": { "node": ">=6" @@ -22706,103 +22608,151 @@ "dev": true }, "node_modules/terser": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", - "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "dependencies": { - "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" }, "bin": { "terser": "bin/terser" }, "engines": { - "node": ">=10" + "node": ">=6.0.0" } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "dependencies": { - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", - "terser": "^5.7.2" + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 6.9.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" }, - "peerDependencies": { - "webpack": "^5.1.0" + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" + "node": ">= 4" } }, "node_modules/text-table": { @@ -22832,6 +22782,20 @@ "node": ">=0.8" } }, + "node_modules/thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "dependencies": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + }, + "engines": { + "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" + } + }, "node_modules/throttle-debounce": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", @@ -22844,7 +22808,8 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "dev": true, + "optional": true }, "node_modules/through2": { "version": "2.0.5", @@ -22889,6 +22854,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, + "optional": true, "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -22906,6 +22872,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, "engines": { "node": ">=4" } @@ -22950,30 +22917,22 @@ } }, "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=8.0" - } - }, - "node_modules/to-regex-range/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" + "node": ">=0.10.0" } }, "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true, "engines": { "node": ">=0.6" @@ -22983,7 +22942,6 @@ "version": "1.6.27", "resolved": "https://registry.npmjs.org/topojson/-/topojson-1.6.27.tgz", "integrity": "sha1-rb4zpn4vFnPTON8SZErSD8ILQu0=", - "deprecated": "Use topojson-client, topojson-server or topojson-simplify directly.", "dependencies": { "d3": "3", "d3-geo-projection": "0.2", @@ -23024,25 +22982,13 @@ "node": ">=0.8" } }, - "node_modules/tough-cookie/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/trim-newlines": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", - "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/true-case-path": { @@ -23061,9 +23007,9 @@ "dev": true }, "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "node_modules/tty-browserify": { @@ -23102,15 +23048,12 @@ } }, "node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/type-is": { @@ -23153,30 +23096,6 @@ "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", "dev": true }, - "node_modules/uglify-js/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -23232,15 +23151,6 @@ "node": ">=0.10.0" } }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", @@ -23368,20 +23278,10 @@ "punycode": "^2.1.0" } }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, "node_modules/url": { @@ -23394,10 +23294,69 @@ "querystring": "0.2.0" } }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", "dev": true, "dependencies": { "querystringify": "^2.1.1", @@ -23443,11 +23402,36 @@ "es-abstract": "^1.17.2", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/util.promisify/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/util.promisify/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + }, "node_modules/util/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -23473,7 +23457,6 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, "bin": { "uuid": "bin/uuid" @@ -23484,13 +23467,6 @@ "resolved": "https://registry.npmjs.org/v-money/-/v-money-0.8.1.tgz", "integrity": "sha512-raz87AP5F2YEpv1GAocI3SC/y9af1+TQeZQIhAK5UNovho6dnh6RQBa5UG8ZNC+BPLpUh5VECi7EWTjr4+4s1g==" }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true, - "peer": true - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -23519,11 +23495,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "dev": true }, "node_modules/verror": { "version": "1.10.0", @@ -23539,12 +23511,6 @@ "extsprintf": "^1.2.0" } }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, "node_modules/vlq": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", @@ -23557,9 +23523,9 @@ "dev": true }, "node_modules/vue": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", - "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", + "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" }, "node_modules/vue-chartjs": { "version": "3.5.1", @@ -23571,15 +23537,12 @@ "engines": { "node": ">=6.9.0", "npm": ">= 3.0.0" - }, - "peerDependencies": { - "chart.js": ">= 2.5" } }, "node_modules/vue-clipboard2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/vue-clipboard2/-/vue-clipboard2-0.3.3.tgz", - "integrity": "sha512-aNWXIL2DKgJyY/1OOeITwAQz1fHaCIGvUFHf9h8UcoQBG5a74MkdhS/xqoYe7DNZdQmZRL+TAdIbtUs9OyVjbw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/vue-clipboard2/-/vue-clipboard2-0.3.1.tgz", + "integrity": "sha512-H5S/agEDj0kXjUb5GP2c0hCzIXWRBygaWLN3NEFsaI9I3uWin778SFEMt8QRXiPG+7anyjqWiw2lqcxWUSfkYg==", "dependencies": { "clipboard": "^2.0.0" } @@ -23600,9 +23563,6 @@ }, "engines": { "node": ">=4" - }, - "peerDependencies": { - "eslint": ">=3.9.0" } }, "node_modules/vue-eslint-parser/node_modules/debug": { @@ -23615,19 +23575,30 @@ "ms": "^2.1.1" } }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "optional": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/vue-flatpickr-component": { - "version": "8.1.7", - "resolved": "https://registry.npmjs.org/vue-flatpickr-component/-/vue-flatpickr-component-8.1.7.tgz", - "integrity": "sha512-T9aapLERf5XrisKUHw8QVByFpN9UB583Bhu6+HtzvhCcfXqIYBtRc3rQC0ZhFSRk3CNMo7533U+B5Qs4WAbhyA==", + "version": "8.1.6", + "resolved": "https://registry.npmjs.org/vue-flatpickr-component/-/vue-flatpickr-component-8.1.6.tgz", + "integrity": "sha512-RUu/M/1lbuzQT+U3yP7O5/M2EIizr9vXLXqSc1eFOvCT3AHurQg8+iO02rjW+2l78Kit8pCNAUvHw7eexws6hw==", "dependencies": { "flatpickr": "^4.6.6" }, "engines": { "node": ">= 4.2.0", "npm": ">= 3.0.0" - }, - "peerDependencies": { - "vue": "^2.0.0" } }, "node_modules/vue-hot-reload-api": { @@ -23636,29 +23607,6 @@ "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", "dev": true }, - "node_modules/vue-image-lightbox": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/vue-image-lightbox/-/vue-image-lightbox-7.2.0.tgz", - "integrity": "sha512-Gykb05xg3tHqUKny/p4pjHp2B68izo5vOg6meUAZd3oKSc+eqQvd9q54n0L94KBkF2m8zjusKMP1tdhu150VOQ==", - "dependencies": { - "@babel/runtime": "7.9.2", - "hammerjs": "^2.0.8", - "vue-lazyload": "^1.3.2" - } - }, - "node_modules/vue-image-lightbox/node_modules/@babel/runtime": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", - "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/vue-lazyload": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.3.3.tgz", - "integrity": "sha512-uHnq0FTEeNmqnbBC2aRKlmtd9LofMZ6Q3mWvgfLa+i9vhxU8fDK+nGs9c1iVT85axSua/AUnMttIq3xPaU9G3A==" - }, "node_modules/vue-loader": { "version": "15.9.8", "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", @@ -23684,32 +23632,6 @@ } } }, - "node_modules/vue-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/vue-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/vue-loading-overlay": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/vue-loading-overlay/-/vue-loading-overlay-3.4.2.tgz", @@ -23717,15 +23639,12 @@ "engines": { "node": ">=6.9.0", "npm": ">=3.10.0" - }, - "peerDependencies": { - "vue": "^2.0.0" } }, "node_modules/vue-router": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz", - "integrity": "sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg==" + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.9.tgz", + "integrity": "sha512-CGAKWN44RqXW06oC+u4mPgHLQQi2t6vLD/JbGRDAXm0YpMv0bgpKuU5bBd7AvMgfTz9kXVRIWKHqRwGEb8xFkA==" }, "node_modules/vue-style-loader": { "version": "4.1.3", @@ -23737,36 +23656,10 @@ "loader-utils": "^1.0.2" } }, - "node_modules/vue-style-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/vue-style-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/vue-template-compiler": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", - "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", + "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", "dev": true, "dependencies": { "de-indent": "^1.0.2", @@ -23779,6 +23672,14 @@ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", "dev": true }, + "node_modules/vue2-editor": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/vue2-editor/-/vue2-editor-2.10.3.tgz", + "integrity": "sha512-99rWL93xfGeFRrq8NY5L7U+Cog/Uenx+UOOJragtxtbhBE9Rv5/C3P/YhJhjMECSbQyHFjUriqv1S3mghvU9Kg==", + "dependencies": { + "quill": "^1.3.6" + } + }, "node_modules/vue2-transitions": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/vue2-transitions/-/vue2-transitions-0.3.0.tgz", @@ -23841,33 +23742,11 @@ "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/watchpack-chokidar2/node_modules/chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", "dev": true, "optional": true, "dependencies": { @@ -23887,35 +23766,6 @@ "fsevents": "^1.2.7" } }, - "node_modules/watchpack-chokidar2/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/watchpack-chokidar2/node_modules/fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", @@ -23972,16 +23822,6 @@ "node": ">=0.10.0" } }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/watchpack-chokidar2/node_modules/readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -23997,20 +23837,6 @@ "node": ">=0.10" } }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/watchpack/node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", @@ -24036,13 +23862,13 @@ } }, "node_modules/webpack": { - "version": "5.72.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", - "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", + "version": "5.65.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz", + "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", @@ -24050,12 +23876,12 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", + "enhanced-resolve": "^5.8.3", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.4", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -24064,7 +23890,7 @@ "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.3.1", - "webpack-sources": "^3.2.3" + "webpack-sources": "^3.2.2" }, "bin": { "webpack": "bin/webpack.js" @@ -24109,18 +23935,6 @@ "node": ">= 6.14.4" } }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", @@ -24141,15 +23955,15 @@ } }, "node_modules/webpack-cli": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", - "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", + "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.1", - "@webpack-cli/info": "^1.4.1", - "@webpack-cli/serve": "^1.6.1", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", @@ -24250,6 +24064,22 @@ "node": ">=10.17.0" } }, + "node_modules/webpack-cli/node_modules/import-local": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/webpack-cli/node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -24307,6 +24137,27 @@ "node": ">=8" } }, + "node_modules/webpack-cli/node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-cli/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/webpack-cli/node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -24370,30 +24221,15 @@ }, "engines": { "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "dev": true, "dependencies": { - "ansi-html-community": "0.0.8", + "ansi-html": "0.0.7", "bonjour": "^3.5.0", "chokidar": "^2.1.8", "compression": "^1.7.4", @@ -24432,14 +24268,6 @@ }, "engines": { "node": ">= 6.11.5" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } } }, "node_modules/webpack-dev-server/node_modules/ansi-regex": { @@ -24482,32 +24310,10 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-dev-server/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack-dev-server/node_modules/chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, "dependencies": { "anymatch": "^2.0.0", @@ -24532,33 +24338,6 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "node_modules/webpack-dev-server/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack-dev-server/node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -24575,7 +24354,6 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", "dev": true, "hasInstallScript": true, "optional": true, @@ -24612,22 +24390,6 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-dev-server/node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/webpack-dev-server/node_modules/is-absolute-url": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", @@ -24649,24 +24411,6 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-dev-server/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/webpack-dev-server/node_modules/locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -24690,9 +24434,6 @@ }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/webpack-dev-server/node_modules/p-locate": { @@ -24716,18 +24457,6 @@ "node": ">=6" } }, - "node_modules/webpack-dev-server/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/webpack-dev-server/node_modules/readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -24742,18 +24471,6 @@ "node": ">=0.10" } }, - "node_modules/webpack-dev-server/node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/webpack-dev-server/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -24768,6 +24485,15 @@ "node": ">= 4" } }, + "node_modules/webpack-dev-server/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/webpack-dev-server/node_modules/string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -24783,9 +24509,9 @@ } }, "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true, "engines": { "node": ">=6" @@ -24827,19 +24553,6 @@ "node": ">=6" } }, - "node_modules/webpack-dev-server/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack-dev-server/node_modules/yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", @@ -24891,16 +24604,16 @@ } }, "node_modules/webpack-notifier": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz", - "integrity": "sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.14.1.tgz", + "integrity": "sha512-OVOoiOyKHS3z9pN1nLdPY2Pf/R3wiBsN0KiPc3K6ApwMBfHbyUomQc2Mr0naeKxfqXyCBPHfQuqpL9yoL0rgkA==", "dev": true, "dependencies": { "node-notifier": "^9.0.0", "strip-ansi": "^6.0.0" }, "peerDependencies": { - "@types/webpack": ">4.41.31" + "@types/webpack": "^4.41.31" }, "peerDependenciesMeta": { "@types/webpack": { @@ -24908,6 +24621,27 @@ } } }, + "node_modules/webpack-notifier/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-notifier/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", @@ -24918,19 +24652,10 @@ "source-map": "~0.6.1" } }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack/node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -24948,25 +24673,36 @@ "acorn": "^8" } }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/webpack/node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, + "node_modules/webpack/node_modules/loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/webpack/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -24985,33 +24721,131 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/webpack/node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/webpack/node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/terser": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/webpack/node_modules/terser-webpack-plugin": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", + "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", + "dev": true, + "dependencies": { + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", + "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", "dev": true, "engines": { "node": ">=10.13.0" } }, "node_modules/webpackbar": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", - "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "version": "5.0.0-3", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.0-3.tgz", + "integrity": "sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g==", "dev": true, "dependencies": { + "ansi-escapes": "^4.3.1", "chalk": "^4.1.0", - "consola": "^2.15.3", + "consola": "^2.15.0", + "figures": "^3.2.0", "pretty-time": "^1.1.0", - "std-env": "^3.0.1" + "std-env": "^2.2.1", + "text-table": "^0.2.0", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "peerDependencies": { "webpack": "3 || 4 || 5" } }, + "node_modules/webpackbar/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/webpackbar/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25055,6 +24889,21 @@ "node": ">=7.0.0" } }, + "node_modules/webpackbar/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/webpackbar/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -25076,6 +24925,18 @@ "node": ">=8" } }, + "node_modules/webpackbar/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -25111,22 +24972,6 @@ "which": "bin/which" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -25174,80 +25019,98 @@ } }, "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/write": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, + "optional": true, "dependencies": { "mkdirp": "^0.5.1" }, @@ -25256,9 +25119,9 @@ } }, "node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "dev": true, "dependencies": { "async-limiter": "~1.0.0" @@ -25273,9 +25136,9 @@ } }, "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, "node_modules/yallist": { @@ -25288,7 +25151,6 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, "engines": { "node": ">= 6" } @@ -25312,27 +25174,21 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "dev": true, "engines": { "node": ">=10" } }, - "node_modules/yargs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/yargs/node_modules/cliui": { @@ -25346,42 +25202,60 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/yargs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/yargs/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/yargs/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/yorkie": { @@ -25457,15 +25331,6 @@ "node": ">=0.10.0" } }, - "node_modules/yorkie/node_modules/strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/yorkie/node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", @@ -25474,118 +25339,143 @@ } }, "dependencies": { - "@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", - "requires": { - "@jridgewell/trace-mapping": "^0.3.0" - } - }, "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.14.5" } }, "@babel/compat-data": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", - "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==" + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "dev": true }, "@babel/core": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", - "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", + "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", + "dev": true, "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helpers": "^7.17.9", - "@babel/parser": "^7.17.9", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/code-frame": "^7.15.8", + "@babel/generator": "^7.15.8", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.8", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.8", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "@babel/generator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", - "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "dev": true, "requires": { - "@babel/types": "^7.17.0", + "@babel/types": "^7.15.6", "jsesc": "^2.5.1", "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", + "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-explode-assignable-expression": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-compilation-targets": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", - "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "dev": true, "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", - "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-member-expression-to-functions": "^7.17.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", - "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^5.0.1" + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", @@ -25596,374 +25486,380 @@ "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "requires": { - "@babel/types": "^7.16.7" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", + "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" } }, "@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", - "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", "dev": true, "requires": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-transforms": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", - "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", + "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" } }, "@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" } }, "@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==" + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", + "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-wrap-function": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-simple-access": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", - "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dev": true, "requires": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.15.4" } }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" }, "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==" + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true }, "@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", + "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" + "@babel/helper-function-name": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helpers": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", - "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0" + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", - "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", + "dev": true }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", + "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", + "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.15.4", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", - "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", + "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.17.6", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-decorators": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.9.tgz", - "integrity": "sha512-EfH2LZ/vPa2wuPwJ26j+kYRkaubf89UlwxKXtxqEm57HrgSEYDB8t4swFP+p8LcI9yiP9ZRJJjo/58hS6BnaDA==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.12.tgz", + "integrity": "sha512-fhkE9lJYpw2mjHelBpM2zCbaA11aov2GJs7q4cFaXNrWx0H3bW58H9Esy2rdtYOghFBEYUDRIpvlgi+ZD+AvvQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.17.9", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/plugin-syntax-decorators": "^7.17.0", - "charcodes": "^0.2.0" + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-decorators": "^7.12.1" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", - "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", - "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", - "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", + "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", "dev": true, "requires": { - "@babel/compat-data": "^7.17.0", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" + "@babel/plugin-transform-parameters": "^7.15.4" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", - "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.10", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", + "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-async-generators": { @@ -25994,12 +25890,12 @@ } }, "@babel/plugin-syntax-decorators": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz", - "integrity": "sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", + "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-dynamic-import": { @@ -26029,12 +25925,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", - "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -26110,331 +26006,337 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", + "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-destructuring": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", - "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", + "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", - "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.15.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", - "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", + "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.14.5" } }, "@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" } }, "@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", + "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", - "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", "dev": true, "requires": { - "regenerator-transform": "^0.15.0" + "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-runtime": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz", - "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.8.tgz", + "integrity": "sha512-+6zsde91jMzzvkzuEA3k63zCw+tm/GvuuabkpisgbDMTPQsIMHllE3XczJFFtEHLjjhKQFZmGQVRdELetlWpVw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", + "babel-plugin-polyfill-regenerator": "^0.2.2", "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", + "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/preset-env": { @@ -26486,20 +26388,12 @@ "invariant": "^2.2.2", "js-levenshtein": "^1.1.3", "semver": "^5.3.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } } }, "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -26510,192 +26404,89 @@ } }, "@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, "@babel/runtime-corejs2": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.17.9.tgz", - "integrity": "sha512-+QThIsnjVY12uURTvmnW33risFZ7ulq6OWw0VJL08UwiYiWVp9PM63s+W1L2ppajYyKAYKb7afcGYSHzA0k04Q==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.12.5.tgz", + "integrity": "sha512-kt5YpZ7F5A05LOgQuaMXXmcxakK/qttf5C/E1BJPA3Kf5PanbjPzDoXN+PIslUnjUxpuKblCsXyP0QfMiqyKqA==", "dev": true, "requires": { "core-js": "^2.6.5", "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/traverse": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", - "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.9", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.9", - "@babel/types": "^7.17.0", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" } }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", "dev": true }, - "@eslint/eslintrc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", - "dev": true, - "peer": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, - "peer": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peer": true, - "requires": {} - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "peer": true - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "peer": true - }, - "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "peer": true, - "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", - "dev": true, - "peer": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "peer": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "peer": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "peer": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "peer": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "peer": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "peer": true - } - } + "@discoveryjs/json-ext": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", + "dev": true }, "@fullcalendar/core": { "version": "4.4.2", @@ -26705,14 +26496,12 @@ "@fullcalendar/daygrid": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-4.4.2.tgz", - "integrity": "sha512-axjfMhxEXHShV3r2TZjf+2niJ1C6LdAxkHKmg7mVq4jXtUQHOldU5XsjV0v2lUAt1urJBFi2zajfK8798ukL3Q==", - "requires": {} + "integrity": "sha512-axjfMhxEXHShV3r2TZjf+2niJ1C6LdAxkHKmg7mVq4jXtUQHOldU5XsjV0v2lUAt1urJBFi2zajfK8798ukL3Q==" }, "@fullcalendar/interaction": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-4.4.2.tgz", - "integrity": "sha512-3ItpGFnxcYQT4NClqhq93QTQwOI8x3mlMf5M4DgK5avVaSzpv9g8p+opqeotK2yzpFeINps06cuQyB1h7vcv1Q==", - "requires": {} + "integrity": "sha512-3ItpGFnxcYQT4NClqhq93QTQwOI8x3mlMf5M4DgK5avVaSzpv9g8p+opqeotK2yzpFeINps06cuQyB1h7vcv1Q==" }, "@fullcalendar/timegrid": { "version": "4.4.2", @@ -26731,11 +26520,14 @@ "fast-deep-equal": "^2.0.1" } }, - "@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true + "@fullhuman/postcss-purgecss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-4.1.3.tgz", + "integrity": "sha512-jqcsyfvq09VOsMXxJMPLRF6Fhg/NNltzWKnC9qtzva+QKTxerCO4esG6je7hbnmkpZtaDyPTwMBj9bzfWorsrw==", + "dev": true, + "requires": { + "purgecss": "^4.1.3" + } }, "@hapi/address": { "version": "2.1.4", @@ -26776,50 +26568,29 @@ "@hapi/hoek": "^8.3.0" } }, - "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", "dev": true, - "peer": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } } }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true, - "peer": true - }, - "@jridgewell/resolve-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", - "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz", - "integrity": "sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==", - "dev": true - }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -26834,7 +26605,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -26843,8 +26613,7 @@ "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" } } }, @@ -26858,137 +26627,44 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, - "@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dev": true, - "requires": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } + "@popperjs/core": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz", + "integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==" }, "@soda/friendly-errors-webpack-plugin": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", - "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.0.tgz", + "integrity": "sha512-RLotfx6k1+nfLacwNCenj7VnTMPxVwYKoGOcffMFoJDKM8tXzBiCN0hMHFJNnoAojduYAsxuiMm0EOMixgiRow==", "dev": true, "requires": { - "chalk": "^3.0.0", - "error-stack-parser": "^2.0.6", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "chalk": "^2.4.2", + "error-stack-parser": "^2.0.2", + "string-width": "^2.0.0", + "strip-ansi": "^5" } }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true + "@tailwindcss/forms": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.3.4.tgz", + "integrity": "sha512-vlAoBifNJUkagB+PAdW4aHMe4pKmSLroH398UPgIogBFc91D2VlHUxe4pjxQhiJl0Nfw53sHSJSQBSTQBZP3vA==", + "requires": { + "mini-svg-data-uri": "^1.2.3" + } + }, + "@themesberg/flowbite": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@themesberg/flowbite/-/flowbite-1.2.0.tgz", + "integrity": "sha512-8o70vUnxZHQhrVEmRahYK0pv+RC2NByABll0W7vT17krpfWMKxVhTpKeuQtirgqKuzXlMFeNocx4GVbA0OKkog==", + "requires": { + "@popperjs/core": "^2.9.3", + "mini-svg-data-uri": "^1.4.3" + } }, "@trysound/sax": { "version": "0.2.0", @@ -26997,9 +26673,9 @@ "dev": true }, "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", + "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -27010,9 +26686,9 @@ } }, "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", + "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", "dev": true, "requires": { "@babel/types": "^7.0.0" @@ -27029,37 +26705,18 @@ } }, "@types/babel__traverse": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.0.tgz", - "integrity": "sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==", + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", "dev": true, "requires": { "@babel/types": "^7.3.0" } }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/chart.js": { - "version": "2.9.37", - "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.37.tgz", - "integrity": "sha512-9bosRfHhkXxKYfrw94EmyDQcdjMaQPkU1fH2tDxu8DWXxf1mjzWQAV4laJF51ZbC2ycYwNDvIm1rGez8Bug0vg==", + "version": "2.9.30", + "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.30.tgz", + "integrity": "sha512-EgjxUUZFvf6ls3kW2CwyrnSJhgyKxgwrlp/W5G9wqyPEO9iFatO63zAA7L24YqgMxiDjQ+tG7ODU+2yWH91lPg==", "requires": { "moment": "^2.10.2" } @@ -27072,33 +26729,6 @@ "requires": { "@types/node": "*", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" } }, "@types/d3": { @@ -27107,9 +26737,9 @@ "integrity": "sha1-dvjy6RWa5WKWWy+g5vvuGqZDobw=" }, "@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "7.28.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.1.tgz", + "integrity": "sha512-XhZKznR3i/W5dXqUhgU9fFdJekufbeBd5DALmkuXoeFcjbQcPk+2cL+WLHf6Q81HWAnM2vrslIHpGVyCAviRwg==", "dev": true, "requires": { "@types/estree": "*", @@ -27117,9 +26747,9 @@ } }, "@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", "dev": true, "requires": { "@types/eslint": "*", @@ -27127,38 +26757,15 @@ } }, "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", "dev": true }, - "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", "dev": true, "requires": { "@types/minimatch": "*", @@ -27221,21 +26828,15 @@ } }, "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "dev": true }, "@types/minimist": { @@ -27245,39 +26846,26 @@ "dev": true }, "@types/node": { - "version": "17.0.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.27.tgz", - "integrity": "sha512-4/Ke7bbWOasuT3kceBZFGakP1dYN2XFd8v2l9bqF2LNWrmeU07JLpp56aEeG6+Q3olqO5TvXpW0yaiYnZJ5CXg==", + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", "dev": true }, "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", - "dev": true - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", "dev": true }, "@types/retry": { @@ -27286,49 +26874,12 @@ "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dev": true, - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/svgo": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.6.tgz", "integrity": "sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug==", "dev": true }, - "@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@vue/babel-helper-vue-jsx-merge-props": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", @@ -27597,28 +27148,11 @@ "@xtuc/long": "4.2.2" } }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true }, "enhanced-resolve": { "version": "4.5.0", @@ -27653,129 +27187,6 @@ "estraverse": "^4.1.1" } }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -27787,70 +27198,6 @@ "ajv-keywords": "^3.1.0" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, "watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -28043,28 +27390,11 @@ "@xtuc/long": "4.2.2" } }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true }, "enhanced-resolve": { "version": "4.5.0", @@ -28089,19 +27419,6 @@ } } }, - "eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", - "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", - "dev": true, - "requires": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - } - }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", @@ -28112,129 +27429,6 @@ "estraverse": "^4.1.1" } }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -28246,70 +27440,6 @@ "ajv-keywords": "^3.1.0" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, "watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -28419,24 +27549,6 @@ "webpack-merge": "^4.2.1" }, "dependencies": { - "@intervolga/optimize-cssnano-plugin": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", - "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", - "dev": true, - "requires": { - "cssnano": "^4.0.0", - "cssnano-preset-default": "^4.0.0", - "postcss": "^7.0.0" - } - }, - "@vue/preload-webpack-plugin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", - "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", - "dev": true, - "requires": {} - }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -28568,40 +27680,25 @@ "@xtuc/long": "4.2.2" } }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true }, - "cache-loader": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-2.0.1.tgz", - "integrity": "sha512-V99T3FOynmGx26Zom+JrVBytLBsmUCzVG2/4NnUKgvXN4bEV42R1ERl1IyiH/cvFIDA1Ytq2lPZ9tXDSahcQpQ==", + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.0", - "normalize-path": "^3.0.0", - "schema-utils": "^1.0.0" + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" } }, "css-loader": { @@ -28634,6 +27731,12 @@ "source-map": "^0.6.1", "supports-color": "^5.4.0" } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true } } }, @@ -28670,83 +27773,6 @@ "estraverse": "^4.1.1" } }, - "file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, "icss-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", @@ -28769,71 +27795,23 @@ } } }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { + "import-cwd": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", "dev": true, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "import-from": "^2.1.0" } }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } }, "mini-css-extract-plugin": { "version": "0.8.2", @@ -28847,24 +27825,6 @@ "webpack-sources": "^1.1.0" } }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, "normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", @@ -28877,39 +27837,6 @@ "sort-keys": "^1.0.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", @@ -28920,6 +27847,28 @@ "source-map": "^0.6.1" } }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } + }, "postcss-modules-extract-imports": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", @@ -29011,10 +27960,10 @@ } } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, "schema-utils": { @@ -29028,75 +27977,12 @@ "ajv-keywords": "^3.1.0" } }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, - "thread-loader": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", - "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", - "dev": true, - "requires": { - "loader-runner": "^2.3.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.0" - } - }, "url-loader": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", @@ -29108,16 +27994,6 @@ "schema-utils": "^1.0.0" } }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, "watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -29181,21 +28057,29 @@ "request-promise-native": "^1.0.7", "semver": "^6.0.0", "string.prototype.padstart": "^3.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@vue/component-compiler-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", - "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", + "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", "dev": true, "requires": { "consolidate": "^0.15.1", "hash-sum": "^1.0.2", "lru-cache": "^4.1.2", "merge-source-map": "^1.1.0", - "postcss": "^7.0.36", + "postcss": "^7.0.14", "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2 || ^2.0.0", + "prettier": "^1.18.2", "source-map": "~0.6.1", "vue-template-es2015-compiler": "^1.9.0" }, @@ -29210,6 +28094,15 @@ "yallist": "^2.1.2" } }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", @@ -29220,12 +28113,6 @@ "source-map": "^0.6.1" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", @@ -29243,409 +28130,18 @@ "eslint-config-prettier": "^3.3.0", "eslint-plugin-prettier": "^3.0.0", "prettier": "^1.15.2" - }, - "dependencies": { - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, - "peer": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peer": true, - "requires": {} - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "peer": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "peer": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "peer": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "peer": true - }, - "eslint": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", - "dev": true, - "peer": true, - "requires": { - "@eslint/eslintrc": "^1.2.2", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - } - }, - "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "peer": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "peer": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "peer": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "peer": true - }, - "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "peer": true, - "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "peer": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "peer": true - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "peer": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "peer": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", - "dev": true, - "peer": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "peer": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "peer": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "peer": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "peer": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "peer": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "peer": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "peer": true - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "peer": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "peer": true, - "requires": { - "glob": "^7.1.3" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "peer": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "peer": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "peer": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "peer": true, - "requires": { - "isexe": "^2.0.0" - } - } } }, + "@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", + "dev": true + }, "@vue/web-component-wrapper": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", - "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz", + "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==", "dev": true }, "@webassemblyjs/ast": { @@ -29913,25 +28409,25 @@ } }, "@webpack-cli/configtest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", - "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", - "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", - "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", "dev": true, "requires": {} }, @@ -29954,26 +28450,26 @@ "dev": true }, "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" } }, "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" }, "acorn-jsx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, + "optional": true, "requires": { "acorn": "^3.0.4" }, @@ -29982,7 +28478,25 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true + "dev": true, + "optional": true + } + } + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" } } }, @@ -30019,26 +28533,6 @@ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, "lodash.defaults": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", @@ -30061,35 +28555,9 @@ } } } - }, - "object-path": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", - "dev": true } } }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - } - }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -30124,8 +28592,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} + "dev": true }, "ajv-formats": { "version": "2.1.1", @@ -30137,9 +28604,9 @@ }, "dependencies": { "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -30166,8 +28633,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "alphanum-sort": { "version": "1.0.2", @@ -30175,6 +28641,12 @@ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", "dev": true }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, "ansi-colors": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", @@ -30185,6 +28657,13 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "optional": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", "dev": true }, "ansi-html-community": { @@ -30194,9 +28673,9 @@ "dev": true }, "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "ansi-styles": { @@ -30217,7 +28696,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -30236,28 +28714,20 @@ "dev": true }, "are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "dev": true, "requires": { "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "readable-stream": "^2.0.6" } }, + "arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -30319,9 +28789,9 @@ "dev": true }, "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { "safer-buffer": "~2.1.0" @@ -30340,9 +28810,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true } } @@ -30387,10 +28857,13 @@ "dev": true }, "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } }, "async-each": { "version": "1.0.3", @@ -30431,35 +28904,22 @@ "dev": true }, "autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.1.tgz", + "integrity": "sha512-B3ZEG7wtzXDRCEFsan7HmR2AeNsxdJB0+sEC0Hc5/c2NbhJqPwuZm+tn233GBVw82L+6CtD6IPSfVruwKjfV3A==", "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001294", + "fraction.js": "^4.1.2", "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" }, "dependencies": { - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" } } }, @@ -30476,11 +28936,11 @@ "dev": true }, "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.10.0" } }, "babel-code-frame": { @@ -30556,23 +29016,133 @@ "resolve": "^1.12.0" } }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, "babel-helper-vue-jsx-merge-props": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" }, "babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", + "loader-utils": "^1.4.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" } }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, "babel-plugin-component": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz", @@ -30628,33 +29198,373 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", "dev": true, "requires": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/helper-define-polyfill-provider": "^0.2.2", "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "babel-plugin-polyfill-corejs3": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", - "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.16.2" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.2.2" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + } + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" } }, "babel-runtime": { @@ -30664,21 +29574,92 @@ "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", @@ -30702,6 +29683,35 @@ "requires": { "is-descriptor": "^1.0.0" } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } } } }, @@ -30747,8 +29757,7 @@ "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "bindings": { "version": "1.5.0", @@ -30767,29 +29776,27 @@ "dev": true }, "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", "dev": true }, "body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, "requires": { - "bytes": "3.1.2", + "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", + "depd": "~1.1.2", + "http-errors": "1.7.2", "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "dependencies": { "debug": { @@ -30801,12 +29808,6 @@ "ms": "2.0.0" } }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -30814,13 +29815,10 @@ "dev": true }, "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true } } }, @@ -30846,80 +29844,48 @@ } } }, - "bonjour-service": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", - "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", - "dev": true, - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.4" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "dns-packet": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.3.1.tgz", - "integrity": "sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==", - "dev": true, - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "multicast-dns": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.4.tgz", - "integrity": "sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==", - "dev": true, - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - } - } - }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "bootstrap": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", - "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", - "requires": {} - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "brfs": { @@ -31032,14 +29998,14 @@ } }, "browserslist": { - "version": "4.20.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", - "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "requires": { - "caniuse-lite": "^1.0.30001332", - "electron-to-chromium": "^1.4.118", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", - "node-releases": "^2.0.3", + "node-releases": "^2.0.1", "picocolors": "^1.0.0" }, "dependencies": { @@ -31067,9 +30033,9 @@ "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" }, "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "buffer-indexof": { "version": "1.1.1", @@ -31090,57 +30056,31 @@ "dev": true }, "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", "y18n": "^4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } } }, "cache-base": { @@ -31160,6 +30100,32 @@ "unset-value": "^1.0.0" } }, + "cache-loader": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-2.0.1.tgz", + "integrity": "sha512-V99T3FOynmGx26Zom+JrVBytLBsmUCzVG2/4NnUKgvXN4bEV42R1ERl1IyiH/cvFIDA1Ytq2lPZ9tXDSahcQpQ==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.0", + "normalize-path": "^3.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -31182,31 +30148,41 @@ "dev": true, "requires": { "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } } }, "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, + "optional": true, "requires": { - "caller-callsite": "^2.0.0" + "callsites": "^0.2.0" } }, "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true, + "optional": true }, "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, "camelcase": { @@ -31215,6 +30191,11 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, "camelcase-keys": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", @@ -31224,6 +30205,14 @@ "camelcase": "^5.3.1", "map-obj": "^4.0.0", "quick-lru": "^4.0.1" + }, + "dependencies": { + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + } } }, "caniuse-api": { @@ -31239,14 +30228,14 @@ } }, "caniuse-lite": { - "version": "1.0.30001332", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", - "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==" + "version": "1.0.30001296", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001296.tgz", + "integrity": "sha512-WfrtPEoNSoeATDlf4y3QvkwiELl9GyPLISV5GejTbbQRtQx4LhsXmc9IQ6XCL2d7UxCyEzToEZNMeqR79OUw8Q==" }, "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", "dev": true }, "caseless": { @@ -31265,17 +30254,12 @@ "supports-color": "^5.3.0" } }, - "charcodes": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/charcodes/-/charcodes-0.2.0.tgz", - "integrity": "sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==", - "dev": true - }, "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true + "dev": true, + "optional": true }, "charenc": { "version": "0.0.2", @@ -31316,10 +30300,9 @@ "dev": true }, "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -31331,14 +30314,42 @@ "readdirp": "~3.6.0" }, "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } } } }, @@ -31349,10 +30360,13 @@ "dev": true }, "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } }, "ci-info": { "version": "1.6.0", @@ -31374,7 +30388,8 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true + "dev": true, + "optional": true }, "class-utils": { "version": "0.3.6", @@ -31396,81 +30411,16 @@ "requires": { "is-descriptor": "^0.1.0" } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true } } }, "clean-css": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.0.tgz", - "integrity": "sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", "dev": true, "requires": { "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "clean-stack": { @@ -31489,13 +30439,13 @@ } }, "cli-highlight": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz", + "integrity": "sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==", "dev": true, "requires": { "chalk": "^4.0.0", - "highlight.js": "^10.7.1", + "highlight.js": "^10.0.0", "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", @@ -31512,9 +30462,9 @@ } }, "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -31548,31 +30498,67 @@ } }, "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", + "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", "dev": true }, "cli-table3": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", - "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", "dev": true, "requires": { - "@colors/colors": "1.5.0", + "colors": "^1.1.2", + "object-assign": "^4.1.0", "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "cli-width": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true + "dev": true, + "optional": true }, "clipboard": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz", - "integrity": "sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", + "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", "requires": { "good-listener": "^1.2.2", "select": "^1.1.2", @@ -31588,6 +30574,17 @@ "arch": "^2.1.1", "execa": "^1.0.0", "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } } }, "cliui": { @@ -31601,24 +30598,12 @@ "wrap-ansi": "^5.1.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -31630,13 +30615,15 @@ "strip-ansi": "^5.1.0" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" } } } @@ -31661,7 +30648,8 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true + "dev": true, + "optional": true }, "coa": { "version": "2.0.2", @@ -31674,10 +30662,16 @@ "q": "^1.1.2" } }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, "collect.js": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.32.0.tgz", - "integrity": "sha512-Ro0fspulC0J325cgFdkzFEkRDs6MmclMy2Fy5adhdFKg5QqMv1nn1zLpCdAxiehlur6Ep08Wr1f7ldNv+fB6+Q==", + "version": "4.28.6", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.28.6.tgz", + "integrity": "sha512-NAyuk1DnCotRaDZIS5kJ4sptgkwOeYqElird10yziN5JBuwYOGkOTguhNcPn5g344IfylZecxNYZAVXgv19p5Q==", "dev": true }, "collection-visit": { @@ -31691,13 +30685,13 @@ } }, "color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", "dev": true, "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "color-convert": "^1.9.1", + "color-string": "^1.5.4" } }, "color-convert": { @@ -31721,25 +30715,18 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true - }, "colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.8.0.tgz", + "integrity": "sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA==", "dev": true }, "colorette": { @@ -31748,6 +30735,13 @@ "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "optional": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -31833,8 +30827,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", @@ -31887,20 +30880,12 @@ "dev": true }, "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", "dev": true, "requires": { - "safe-buffer": "5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } + "safe-buffer": "5.1.2" } }, "content-type": { @@ -31910,17 +30895,17 @@ "dev": true }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "requires": { "safe-buffer": "~5.1.1" } }, "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", "dev": true }, "cookie-signature": { @@ -31965,6 +30950,27 @@ "serialize-javascript": "^1.4.0" }, "dependencies": { + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, "find-cache-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", @@ -31976,15 +30982,6 @@ "pkg-dir": "^2.0.0" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, "globby": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", @@ -31999,34 +30996,14 @@ "slash": "^1.0.0" } }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -32038,13 +31015,22 @@ "pify": "^3.0.0" } }, - "p-locate": { + "mississippi": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" } }, "pify": { @@ -32062,6 +31048,16 @@ "find-up": "^2.1.0" } }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "serialize-javascript": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", @@ -32073,6 +31069,21 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true } } }, @@ -32082,12 +31093,12 @@ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "core-js-compat": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", - "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.3.tgz", + "integrity": "sha512-4zP6/y0a2RTHN5bRGT7PTq9lVt3WzvffTNjqnTKsXhkAYNDTkdCLOIfAdOLcQ/7TDdyRj3c+NeHe1NmF1eDScw==", "dev": true, "requires": { - "browserslist": "^4.20.2", + "browserslist": "^4.17.3", "semver": "7.0.0" }, "dependencies": { @@ -32100,9 +31111,9 @@ } }, "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { "version": "5.2.1", @@ -32127,9 +31138,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true } } @@ -32181,14 +31192,6 @@ "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } } }, "crypt": { @@ -32226,21 +31229,33 @@ "source-map": "^0.6.1", "source-map-resolve": "^0.5.2", "urix": "^0.1.0" + } + }, + "css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "dev": true, + "requires": { + "postcss": "^7.0.5" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } } } }, "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" }, "css-declaration-sorter": { "version": "4.0.1", @@ -32261,48 +31276,102 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + } + } + }, + "css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } } } }, "css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", "dev": true, - "peer": true, "requires": { "icss-utils": "^5.1.0", - "postcss": "^8.4.7", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", "semver": "^7.3.5" }, "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "peer": true, "requires": { "yallist": "^4.0.0" } }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "peer": true, "requires": { "lru-cache": "^6.0.0" } @@ -32311,8 +31380,28 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, - "peer": true + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } } } }, @@ -32326,45 +31415,6 @@ "css-what": "^3.2.1", "domutils": "^1.7.0", "nth-check": "^1.0.2" - }, - "dependencies": { - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - } - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - } } }, "css-select-base-adapter": { @@ -32391,36 +31441,38 @@ "requires": { "mdn-data": "2.0.4", "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, + "css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" + }, "css-what": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, + "cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", + "dev": true + }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, "cssnano": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", - "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", "dev": true, "requires": { "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.8", + "cssnano-preset-default": "^4.0.7", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" }, @@ -32434,19 +31486,13 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, "cssnano-preset-default": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", - "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", "dev": true, "requires": { "css-declaration-sorter": "^4.0.1", @@ -32477,7 +31523,7 @@ "postcss-ordered-values": "^4.1.2", "postcss-reduce-initial": "^4.0.3", "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.3", + "postcss-svgo": "^4.0.2", "postcss-unique-selectors": "^4.0.1" }, "dependencies": { @@ -32490,12 +31536,6 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -32529,12 +31569,6 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -32545,9 +31579,9 @@ "dev": true }, "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", + "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", "dev": true, "requires": {} }, @@ -32561,9 +31595,9 @@ }, "dependencies": { "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", "dev": true, "requires": { "mdn-data": "2.0.14", @@ -32575,12 +31609,6 @@ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -32911,9 +31939,10 @@ "dev": true }, "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, "requires": { "ms": "2.1.2" } @@ -32962,9 +31991,9 @@ } }, "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "deepmerge": { "version": "1.5.2", @@ -33019,9 +32048,9 @@ } }, "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, "mimic-fn": { @@ -33110,12 +32139,11 @@ "dev": true }, "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "object-keys": "^1.0.12" } }, "define-property": { @@ -33126,8 +32154,44 @@ "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, "del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", @@ -33200,17 +32264,40 @@ } }, "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true, + "optional": true, + "peer": true + }, "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", "dev": true }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, "diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -33223,9 +32310,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true } } @@ -33239,6 +32326,11 @@ "path-type": "^3.0.0" } }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -33246,9 +32338,9 @@ "dev": true }, "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "dev": true, "requires": { "ip": "^1.1.0", @@ -33269,6 +32361,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "optional": true, "requires": { "esutils": "^2.0.2" } @@ -33283,27 +32376,31 @@ } }, "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dev": true, "requires": { "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", "entities": "^2.0.0" }, "dependencies": { - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "dev": true } } }, + "dom7": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.1.tgz", + "integrity": "sha512-y/RWjw3gK3qQnZz6IqDaIoqH6+xBhcB3Wsh5HFwl0abwuO/NAgbSB31ZbxtBDcuDe8jAX5NYUNDLTx4Ul48sIw==", + "requires": { + "ssr-window": "^4.0.0" + } + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -33311,40 +32408,28 @@ "dev": true }, "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true }, "domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "^2.0.1" + "domelementtype": "1" } }, "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "dependencies": { - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - } + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-case": { @@ -33355,6 +32440,33 @@ "requires": { "no-case": "^3.0.4", "tslib": "^2.0.3" + }, + "dependencies": { + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } } }, "dot-prop": { @@ -33379,9 +32491,9 @@ "dev": true }, "dropzone": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.9.3.tgz", - "integrity": "sha512-Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.7.2.tgz", + "integrity": "sha512-m217bJHtf0J1IiKn4Tv6mnu1h5QvQNBnKZ39gma7hzGQhIZMxYq1vYEHs4AVd4ThFwmALys+52NAOD4zdLTG4w==" }, "duplexer": { "version": "0.1.2", @@ -33438,14 +32550,14 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.121", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.121.tgz", - "integrity": "sha512-N7OXhMr1p2oa9EkOhmHpmOm43DHzs55dep2FF6M7y6px5QJBheqEE3nwwZ+xJowlff+AEmMOdg3ARYGB+0kzbA==" + "version": "1.4.33", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.33.tgz", + "integrity": "sha512-OVK1Ad3pHnmuXPhEfq85X8vUKr1UPNHryBnbKnyLcAfh8dPwoFjoDhDlP5KpPJIiymvSucZs48UBrE1250IxOw==" }, "element-ui": { - "version": "2.15.8", - "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.8.tgz", - "integrity": "sha512-N54zxosRFqpYax3APY3GeRmtOZwIls6Z756WM0kdPZ5Q92PIeKHnZgF1StlamIg9bLxP1k+qdhTZvIeQlim09A==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.0.tgz", + "integrity": "sha512-9z/1+b7V8fvp08OnKUEW4/BZ72kT+IhuKR9cTMz3XoCTKmEsqLLb32XjbO/DznSFaaiFbOYU93G7WtkvrCAL9A==", "requires": { "async-validator": "~1.8.1", "babel-helper-vue-jsx-merge-props": "^2.0.0", @@ -33456,24 +32568,24 @@ } }, "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", "dev": true, "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", + "bn.js": "^4.4.0", + "brorand": "^1.0.1", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true } } @@ -33496,28 +32608,6 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -33528,19 +32618,27 @@ } }, "enhanced-resolve": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", - "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" + }, + "dependencies": { + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + } } }, "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true }, "env-paths": { @@ -33555,12 +32653,6 @@ "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -33574,46 +32666,47 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "error-stack-parser": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", - "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", "dev": true, "requires": { "stackframe": "^1.1.1" } }, "es-abstract": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", - "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + }, + "dependencies": { + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + } } }, "es-module-lexer": { @@ -33664,19 +32757,6 @@ "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } } }, "eslint": { @@ -33684,6 +32764,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, + "optional": true, "requires": { "ajv": "^5.3.0", "babel-code-frame": "^6.22.0", @@ -33730,6 +32811,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, + "optional": true, "requires": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -33738,16 +32820,18 @@ } }, "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "optional": true }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, + "optional": true, "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -33759,43 +32843,53 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "optional": true, "requires": { "ms": "^2.1.1" } }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "optional": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true + "dev": true, + "optional": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true + "dev": true, + "optional": true }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, + "optional": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, + "optional": true, "requires": { "ansi-regex": "^3.0.0" } @@ -33804,7 +32898,8 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "dev": true, + "optional": true } } }, @@ -33817,6 +32912,28 @@ "get-stdin": "^6.0.0" } }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-plugin-prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, "eslint-plugin-vue": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz", @@ -33828,12 +32945,12 @@ } }, "eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, @@ -33848,6 +32965,7 @@ "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, + "optional": true, "requires": { "acorn": "^5.5.0", "acorn-jsx": "^3.0.0" @@ -33857,29 +32975,32 @@ "version": "5.7.4", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true + "dev": true, + "optional": true } } }, "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", "dev": true, + "optional": true, "requires": { "estraverse": "^5.1.0" }, "dependencies": { "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "optional": true } } }, @@ -33893,9 +33014,9 @@ }, "dependencies": { "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } @@ -33928,15 +33049,15 @@ "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" }, "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true }, "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", "dev": true, "requires": { "original": "^1.0.0" @@ -34009,69 +33130,6 @@ "is-extendable": "^0.1.0" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -34081,39 +33139,38 @@ } }, "express": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", - "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "dev": true, "requires": { - "accepts": "~1.3.8", + "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.20.0", - "content-disposition": "0.5.4", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "2.0.0", + "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "~1.1.2", "fresh": "0.5.2", - "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.10.3", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -34128,12 +33185,6 @@ "ms": "2.0.0" } }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -34141,18 +33192,9 @@ "dev": true }, "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true } } @@ -34170,6 +33212,17 @@ "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, "external-editor": { @@ -34177,6 +33230,7 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, + "optional": true, "requires": { "chardet": "^0.4.0", "iconv-lite": "^0.4.17", @@ -34217,11 +33271,34 @@ "is-extendable": "^0.1.0" } }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } } } }, @@ -34242,11 +33319,6 @@ "object-keys": "^1.0.6" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, "isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -34312,15 +33384,6 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, - "fast-xml-parser": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", - "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", - "dev": true, - "requires": { - "strnum": "^1.0.4" - } - }, "fastest-levenshtein": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", @@ -34337,20 +33400,30 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, "requires": { "reusify": "^1.0.4" } }, "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" } }, + "fibers": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-5.0.0.tgz", + "integrity": "sha512-UpGv/YAZp7mhKHxDvC1tColrroGRX90sSvh8RMZV9leo+e5+EkRVgCEZPlmXeo3BUNQTZxUaVdLskq1Q2FyCPg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "detect-libc": "^1.0.3" + } + }, "figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", @@ -34362,6 +33435,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, + "optional": true, "requires": { "escape-string-regexp": "^1.0.5" } @@ -34371,30 +33445,31 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, + "optional": true, "requires": { "flat-cache": "^1.2.1", "object-assign": "^4.0.1" } }, "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", "dev": true, "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" }, "dependencies": { "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" } } } @@ -34419,26 +33494,40 @@ "dev": true }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "to-regex-range": "^5.0.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "2.4.1", + "on-finished": "~2.3.0", "parseurl": "~1.3.3", - "statuses": "2.0.1", + "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "dependencies": { @@ -34478,9 +33567,9 @@ } }, "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -34489,21 +33578,12 @@ } }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "dependencies": { - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -34511,6 +33591,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", "dev": true, + "optional": true, "requires": { "circular-json": "^0.3.1", "graceful-fs": "^4.1.2", @@ -34523,6 +33604,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, + "optional": true, "requires": { "glob": "^7.1.3" } @@ -34530,16 +33612,15 @@ } }, "flatpickr": { - "version": "4.6.13", - "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.13.tgz", - "integrity": "sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==" + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.9.tgz", + "integrity": "sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==" }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true, - "peer": true + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "dev": true }, "flush-write-stream": { "version": "1.1.1", @@ -34552,9 +33633,9 @@ } }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" }, "for-in": { "version": "1.0.2", @@ -34585,16 +33666,15 @@ } }, "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", "dev": true }, "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", + "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==" }, "fragment-cache": { "version": "0.2.1", @@ -34662,14 +33742,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, "function-bind": { @@ -34681,12 +33759,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + "dev": true, + "optional": true }, "fuse.js": { "version": "3.6.1", @@ -34694,20 +33768,56 @@ "integrity": "sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==" }, "gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", + "aproba": "^1.0.3", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "gaze": { @@ -34722,7 +33832,8 @@ "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true }, "get-caller-file": { "version": "2.0.5", @@ -34731,9 +33842,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -34755,16 +33866,6 @@ "pump": "^3.0.0" } }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -34780,11 +33881,15 @@ "assert-plus": "^1.0.0" } }, + "glightbox": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glightbox/-/glightbox-3.1.0.tgz", + "integrity": "sha512-QVWU40Eao1+1yH7pb/knwbte0qSXxn2Rfrs7H30G/2+9fXW52woCTBA4kKLtoEHPZxXI+JECj+GBqtRGzfBILQ==" + }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -34798,7 +33903,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, "requires": { "is-glob": "^4.0.3" } @@ -34812,7 +33916,8 @@ "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, "globby": { "version": "9.2.0", @@ -34839,39 +33944,14 @@ } }, "globule": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", - "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", "dev": true, "requires": { "glob": "~7.1.1", "lodash": "~4.17.10", "minimatch": "~3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } } }, "good-listener": { @@ -34888,10 +33968,9 @@ "integrity": "sha512-pj4En0cWKG+lcBvC7qrzu5ItiMsYNTgjG2capsPzAbAM/O8ftugGpUUftTTwdGL8KlNvB4CEZ6IBWwpWYzUEpw==" }, "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "growly": { "version": "1.3.0", @@ -34909,11 +33988,6 @@ "pify": "^4.0.1" } }, - "hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" - }, "handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", @@ -34967,37 +34041,15 @@ } } }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, "has-unicode": { "version": "2.0.1", @@ -35092,13 +34144,12 @@ "hex-color-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" }, "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz", + "integrity": "sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==", "dev": true }, "hmac-drbg": { @@ -35119,30 +34170,10 @@ "dev": true }, "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true }, "hpack.js": { "version": "2.1.6", @@ -35159,13 +34190,17 @@ "hsl-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" }, "hsla-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", "dev": true }, "html-entities": { @@ -35186,6 +34221,88 @@ "schema-utils": "^3.0.0" }, "dependencies": { + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "dependencies": { + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -35214,60 +34331,11 @@ "uglify-js": "3.4.x" }, "dependencies": { - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - } - }, "commander": { "version": "2.17.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", "dev": true - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -35286,13 +34354,14 @@ "terser": "^4.6.3" }, "dependencies": { - "clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, "requires": { - "source-map": "~0.6.0" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, "commander": { @@ -35301,30 +34370,21 @@ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dev": true, "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true } } }, @@ -35334,23 +34394,95 @@ "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", "dev": true }, - "htmlparser2": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", - "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", "dev": true, "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^3.0.0", - "domutils": "^2.0.0", - "entities": "^2.0.0" + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } } }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } }, "http-deceiver": { "version": "1.2.7", @@ -35359,30 +34491,30 @@ "dev": true }, "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" }, "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true } } }, "http-parser-js": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", - "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", "dev": true }, "http-proxy": { @@ -35404,17 +34536,6 @@ } } }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, "http-proxy-middleware": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", @@ -35444,31 +34565,12 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -35535,6 +34637,15 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -35545,9 +34656,9 @@ } }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -35557,6 +34668,15 @@ "micromatch": "^4.0.4" } }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -35583,19 +34703,25 @@ } }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "braces": "^3.0.1", + "picomatch": "^2.2.3" } }, "path-type": { @@ -35609,6 +34735,15 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } } } }, @@ -35619,43 +34754,14 @@ "dev": true, "requires": { "loader-utils": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } } }, - "immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", - "dev": true - }, "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", "requires": { - "import-from": "^2.1.0" + "import-from": "^3.0.0" } }, "import-fresh": { @@ -35666,25 +34772,102 @@ "requires": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" + }, + "dependencies": { + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } } }, "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } } }, "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } } }, "imurmurhash": { @@ -35715,7 +34898,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -35731,6 +34913,7 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, + "optional": true, "requires": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", @@ -35749,32 +34932,18 @@ }, "dependencies": { "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } + "optional": true }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, + "optional": true, "requires": { "ansi-regex": "^3.0.0" } @@ -35803,17 +34972,6 @@ } } }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, "interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", @@ -35854,57 +35012,46 @@ "dev": true }, "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bind": "^1.0.0" } }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -35912,9 +35059,9 @@ "dev": true }, "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", "dev": true }, "is-ci": { @@ -35930,7 +35077,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, "requires": { "css-color-names": "^0.0.4", "hex-color-regex": "^1.1.0", @@ -35941,39 +35087,55 @@ } }, "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", "requires": { "has": "^1.0.3" } }, "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" }, "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } } }, "is-directory": { @@ -35983,51 +35145,57 @@ "dev": true }, "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", "dev": true }, "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", - "dev": true + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "dev": true, + "requires": { + "ip-regex": "^4.0.0" + }, + "dependencies": { + "ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "dev": true + } + } }, "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, "is-number": { @@ -36050,15 +35218,6 @@ } } }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", @@ -36105,12 +35264,11 @@ } }, "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "has-symbols": "^1.0.1" } }, "is-resolvable": { @@ -36119,46 +35277,28 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-svg": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.2.tgz", - "integrity": "sha512-mM90duy00JGMyjqIVHu9gNTjywdZV+8qNasX8cm/EEYZ53PHDgajvbBwNVvty5dwSAxLUD3p3bdo+7sR/UMrpw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", "dev": true, "requires": { - "fast-xml-parser": "^3.19.0" + "html-comment-regex": "^1.1.0" } }, "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.1" } }, "is-typedarray": { @@ -36167,15 +35307,6 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -36183,13 +35314,10 @@ "dev": true }, "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true }, "isarray": { "version": "1.0.0", @@ -36221,9 +35349,9 @@ "dev": true }, "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.5.tgz", + "integrity": "sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw==", "dev": true, "requires": { "@types/node": "*", @@ -36249,9 +35377,9 @@ } }, "jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", + "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" }, "js-base64": { "version": "2.6.4", @@ -36293,6 +35421,14 @@ "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } } }, "jsbn": { @@ -36304,7 +35440,8 @@ "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true }, "json-parse-better-errors": { "version": "1.0.2", @@ -36315,8 +35452,7 @@ "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "json-schema": { "version": "0.4.0", @@ -36333,7 +35469,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "dev": true, + "optional": true }, "json-stringify-safe": { "version": "5.0.1", @@ -36341,10 +35478,20 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } }, "jsonfile": { "version": "4.0.0", @@ -36356,15 +35503,23 @@ } }, "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.4.0", + "json-schema": "0.2.3", "verror": "1.10.0" + }, + "dependencies": { + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + } } }, "junk": { @@ -36386,15 +35541,15 @@ "dev": true }, "klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", "dev": true }, "laravel-mix": { - "version": "6.0.43", - "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.43.tgz", - "integrity": "sha512-SOO+C1aOpVSAUs30DYc6k/e0QJxfyD42aav4IKJtE5UZKw9ROWcVzkVoek2J475jNeNnl7GkoLAC27gejZsQ8g==", + "version": "6.0.39", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.39.tgz", + "integrity": "sha512-ChTRKSNx9ViD3Xw1+BDQUZ0PLETcBrXlM7vNmomoDUZBXLUurVUJ9oaRUdGmH/WENNqL0qQ8FFxjq+6U368Nlg==", "dev": true, "requires": { "@babel/core": "^7.15.8", @@ -36413,7 +35568,7 @@ "babel-loader": "^8.2.3", "chalk": "^4.1.2", "chokidar": "^3.5.2", - "clean-css": "^5.2.4", + "clean-css": "^4.2.3 || ^5.1.2", "cli-table3": "^0.6.0", "collect.js": "^4.28.5", "commander": "^7.2.0", @@ -36442,7 +35597,7 @@ "vue-style-loader": "^4.1.3", "webpack": "^5.60.0", "webpack-cli": "^4.9.1", - "webpack-dev-server": "^4.7.3", + "webpack-dev-server": "4.4.0", "webpack-merge": "^5.8.0", "webpack-notifier": "^1.14.1", "webpackbar": "^5.0.0-3", @@ -36450,32 +35605,31 @@ }, "dependencies": { "@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", + "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.8", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.15.4", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.15.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -36490,44 +35644,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.15.3", + "@babel/plugin-transform-classes": "^7.15.4", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.15.4", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.4", + "@babel/plugin-transform-modules-systemjs": "^7.15.4", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.15.4", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.15.8", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.15.6", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", "semver": "^6.3.0" }, "dependencies": { @@ -36539,6 +35693,27 @@ } } }, + "@babel/runtime": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -36548,18 +35723,19 @@ "color-convert": "^2.0.1" } }, - "autoprefixer": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", - "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "browserslist": "^4.20.2", - "caniuse-lite": "^1.0.30001332", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" + "fill-range": "^7.0.1" } }, "chalk": { @@ -36598,19 +35774,6 @@ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -36622,42 +35785,32 @@ "which": "^2.0.1" } }, - "css-declaration-sorter": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", - "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", - "dev": true, - "requires": {} + "css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", + "dev": true }, - "css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "css-declaration-sorter": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", + "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", "dev": true, "requires": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" + "timsort": "^0.3.0" } }, "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "dev": true, "requires": { "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" } }, "css-tree": { @@ -36671,57 +35824,58 @@ } }, "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "dev": true }, "cssnano": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", - "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.8.tgz", + "integrity": "sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg==", "dev": true, "requires": { - "cssnano-preset-default": "^5.2.7", + "cssnano-preset-default": "^5.1.4", + "is-resolvable": "^1.1.0", "lilconfig": "^2.0.3", "yaml": "^1.10.2" } }, "cssnano-preset-default": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", - "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz", + "integrity": "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==", "dev": true, "requires": { - "css-declaration-sorter": "^6.2.2", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.0", - "postcss-discard-comments": "^5.1.1", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.4", - "postcss-merge-rules": "^5.1.1", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.2", - "postcss-minify-selectors": "^5.2.0", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.0", - "postcss-normalize-repeat-style": "^5.1.0", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.0", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.1", - "postcss-reduce-initial": "^5.1.0", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.0", + "postcss-convert-values": "^5.0.1", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.2", + "postcss-merge-rules": "^5.0.2", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.2", + "postcss-minify-params": "^5.0.1", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.2", + "postcss-unique-selectors": "^5.0.1" } }, "default-gateway": { @@ -36733,15 +35887,68 @@ "execa": "^5.0.0" } }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", "dev": true, "requires": { "domelementtype": "^2.2.0" } }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, "dotenv": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", @@ -36771,10 +35978,42 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -36788,6 +36027,43 @@ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -36795,18 +36071,18 @@ "dev": true }, "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", + "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", "dev": true }, "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", + "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", "dev": true, "requires": { - "@types/http-proxy": "^1.17.8", + "@types/http-proxy": "^1.17.5", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", @@ -36819,20 +36095,46 @@ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "internal-ip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", + "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "default-gateway": "^6.0.0", + "ipaddr.js": "^1.9.1", + "is-ip": "^3.1.0", + "p-event": "^4.2.0" } }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, "is-plain-obj": { @@ -36847,6 +36149,15 @@ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -36863,6 +36174,17 @@ "universalify": "^2.0.0" } }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -36879,13 +36201,13 @@ "dev": true }, "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "braces": "^3.0.1", + "picomatch": "^2.2.3" } }, "mimic-fn": { @@ -36909,6 +36231,15 @@ "path-key": "^3.0.0" } }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -36929,6 +36260,24 @@ "is-wsl": "^2.2.0" } }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, "p-retry": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", @@ -36939,18 +36288,6 @@ "retry": "^0.13.1" } }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -36963,277 +36300,272 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" } }, "postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", + "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", "dev": true, "requires": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" + "colord": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, "postcss-convert-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz", - "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", + "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" } }, "postcss-discard-comments": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", - "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", "dev": true, "requires": {} }, "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", "dev": true, "requires": {} }, "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", "dev": true, "requires": {} }, "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", "dev": true, "requires": {} }, - "postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - } - }, "postcss-merge-longhand": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", - "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", + "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.0" + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" } }, "postcss-merge-rules": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", - "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", + "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", "dev": true, "requires": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5", + "vendors": "^1.0.3" } }, "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" } }, "postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz", + "integrity": "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==", "dev": true, "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "colord": "^2.6", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, "postcss-minify-params": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", - "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", + "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", "dev": true, "requires": { - "browserslist": "^4.16.6", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" } }, "postcss-minify-selectors": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz", - "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", "dev": true, "requires": { + "alphanum-sort": "^1.0.2", "postcss-selector-parser": "^6.0.5" } }, "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", "dev": true, "requires": {} }, "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, "postcss-normalize-positions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", - "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" } }, "postcss-normalize-repeat-style": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", - "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" } }, "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, "postcss-normalize-unicode": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", - "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", "dev": true, "requires": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" } }, "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", + "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", "dev": true, "requires": { + "is-absolute-url": "^3.0.3", "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" } }, "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" } }, "postcss-ordered-values": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", - "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", + "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", "dev": true, "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, "postcss-reduce-initial": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", - "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", "dev": true, "requires": { - "browserslist": "^4.16.6", + "browserslist": "^4.16.0", "caniuse-api": "^3.0.0" } }, "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", + "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", "dev": true, "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" + "postcss-value-parser": "^4.1.0", + "svgo": "^2.3.0" } }, "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", + "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.5" + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5", + "uniqs": "^2.0.0" } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "retry": { @@ -37262,24 +36594,24 @@ "ajv-keywords": "^3.5.2" } }, - "selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", - "dev": true, - "requires": { - "node-forge": "^1" - } - }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -37295,19 +36627,39 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "stylehacks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", - "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { - "browserslist": "^4.16.6", + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "stylehacks": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", + "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", "postcss-selector-parser": "^6.0.4" } }, @@ -37321,9 +36673,9 @@ } }, "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.7.0.tgz", + "integrity": "sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w==", "dev": true, "requires": { "@trysound/sax": "0.2.0", @@ -37331,10 +36683,58 @@ "css-select": "^4.1.3", "css-tree": "^1.1.3", "csso": "^4.2.0", - "picocolors": "^1.0.0", + "nanocolors": "^0.1.12", "stable": "^0.1.8" } }, + "terser": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", + "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", + "dev": true, + "requires": { + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -37342,22 +36742,22 @@ "dev": true }, "webpack-dev-middleware": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", - "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", + "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", "dev": true, "requires": { "colorette": "^2.0.10", - "memfs": "^3.4.1", + "memfs": "^3.2.2", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "dependencies": { "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -37390,73 +36790,57 @@ } }, "webpack-dev-server": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.8.1.tgz", - "integrity": "sha512-dwld70gkgNJa33czmcj/PlKY/nOy/BimbrgZRaR9vDATBQAYgLzggR0nxDtPLJiLrMgZwbE6RRfJ5vnBBasTyg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.4.0.tgz", + "integrity": "sha512-+S0XRIbsopVjPFjCO8I07FXYBWYqkFmuP56ucGMTs2hA/gV4q2M9xTmNo5Tg4o8ffRR+Nm3AsXnQXxKRyYovrA==", "dev": true, "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", + "bonjour": "^3.5.0", + "chokidar": "^3.5.2", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", + "del": "^6.0.0", + "express": "^4.17.1", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", + "http-proxy-middleware": "^2.0.0", + "internal-ip": "^6.2.0", "ipaddr.js": "^2.0.1", "open": "^8.0.9", "p-retry": "^4.5.0", "portfinder": "^1.0.28", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", + "schema-utils": "^3.1.0", + "selfsigned": "^1.10.11", "serve-index": "^1.9.1", "sockjs": "^0.3.21", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" + "strip-ansi": "^7.0.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^5.2.1", + "ws": "^8.1.0" }, "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" + "ansi-regex": "^6.0.1" } } } @@ -37480,21 +36864,10 @@ "isexe": "^2.0.0" } }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz", + "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==", "dev": true, "requires": {} }, @@ -37511,53 +36884,44 @@ "dev": true }, "yargs": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", - "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", + "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", "dev": true, "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^4.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^20.2.2" } - }, - "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true } } }, + "laravel-mix-tailwind": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/laravel-mix-tailwind/-/laravel-mix-tailwind-0.1.2.tgz", + "integrity": "sha512-0a69bIZz9K0y2z/fZ+f1VXVswu7Ll49Y9IChKYp21MTQxgbMPDlC9d1srx0qfOj9tvg+pdOf750MSq4e6EVNhQ==" + }, "launch-editor": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.3.0.tgz", - "integrity": "sha512-3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", + "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", "dev": true, "requires": { - "picocolors": "^1.0.0", + "chalk": "^2.3.0", "shell-quote": "^1.6.1" - }, - "dependencies": { - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - } } }, "launch-editor-middleware": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.3.0.tgz", - "integrity": "sha512-GJR64trLdFFwCoL9DMn/d1SZX0OzTDPixu4mcfWTShQ4tIqCHCGvlg9fOEYQXyBlrSMQwylsJfUWncheShfV2w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", "dev": true, "requires": { - "launch-editor": "^2.3.0" + "launch-editor": "^2.2.1" } }, "levn": { @@ -37570,16 +36934,14 @@ } }, "lilconfig": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", - "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==" }, "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" }, "loader-fs-cache": { "version": "1.0.3", @@ -37633,29 +36995,41 @@ } }, "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true }, "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } } }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^4.1.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -37773,19 +37147,17 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "peer": true - }, "lodash.restparam": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", "dev": true }, + "lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=" + }, "lodash.transform": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", @@ -37808,9 +37180,9 @@ } }, "loglevel": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", - "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", "dev": true }, "loose-envify": { @@ -37823,13 +37195,10 @@ } }, "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true }, "lru-cache": { "version": "5.1.1", @@ -37855,110 +37224,12 @@ "dev": true, "requires": { "semver": "^6.0.0" - } - }, - "make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "dev": true, - "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" }, "dependencies": { - "cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dev": true, - "requires": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } @@ -38057,10 +37328,55 @@ "yargs-parser": "^20.2.3" }, "dependencies": { - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -38072,19 +37388,17 @@ "dev": true }, "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "requires": { - "source-map": "^0.6.1" + "source-map": "^0.5.6" }, "dependencies": { "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -38097,8 +37411,7 @@ "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "methods": { "version": "1.1.2", @@ -38125,76 +37438,6 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } } }, "miller-rabin": { @@ -38208,32 +37451,32 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true } } }, "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true }, "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", "dev": true }, "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "dev": true, "requires": { - "mime-db": "1.52.0" + "mime-db": "1.50.0" } }, "mimic-fn": { @@ -38259,6 +37502,17 @@ "webpack-sources": "^1.1.0" }, "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -38272,6 +37526,11 @@ } } }, + "mini-svg-data-uri": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.3.tgz", + "integrity": "sha512-gSfqpMRC8IxghvMcxzzmMnWpXAChSA+vy4cia33RgerMS8Fex95akUyQZPbxJJmeBGiGmK7n/1OpUX8ksRjIdA==" + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -38285,18 +37544,17 @@ "dev": true }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minimist-options": { "version": "4.1.0", @@ -38326,54 +37584,6 @@ } } }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dev": true, - "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, "minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -38393,9 +37603,9 @@ } }, "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -38404,22 +37614,10 @@ "flush-write-stream": "^1.0.0", "from2": "^2.1.0", "parallel-transform": "^1.1.0", - "pump": "^2.0.1", + "pump": "^3.0.0", "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } } }, "mixin-deep": { @@ -38430,21 +37628,37 @@ "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { - "minimist": "^1.2.6" + "minimist": "^1.2.5" } }, + "modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==" + }, "moment": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "move-concurrently": { "version": "1.0.1", @@ -38463,7 +37677,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "multicast-dns": { "version": "6.2.3", @@ -38485,7 +37700,8 @@ "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true + "dev": true, + "optional": true }, "mz": { "version": "2.7.0", @@ -38499,16 +37715,21 @@ } }, "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true + }, + "nanocolors": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", + "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==", "dev": true }, "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==" }, "nanomatch": { "version": "1.2.13", @@ -38533,12 +37754,13 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "dev": true, + "optional": true }, "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true }, "neo-async": { @@ -38554,65 +37776,46 @@ "dev": true }, "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "dev": true, "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "lower-case": "^1.1.1" + } + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "requires": { + "lodash": "^4.17.21" } }, "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true }, "node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", "dev": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", + "graceful-fs": "^4.2.3", "nopt": "^5.0.0", - "npmlog": "^6.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", + "semver": "^7.3.2", + "tar": "^6.0.2", "which": "^2.0.2" }, "dependencies": { - "are-we-there-yet": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", - "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -38622,29 +37825,6 @@ "yallist": "^4.0.0" } }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -38655,9 +37835,9 @@ } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -38681,9 +37861,9 @@ } }, "node-ipc": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz", - "integrity": "sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.3.tgz", + "integrity": "sha512-8RS4RZyS/KMKKYG8mrje+cLxwATe9dBCuOiqKFSWND4oOuKytfuKCiR9yinvhoXF/nGdX/WnbywaUee+9U87zA==", "dev": true, "requires": { "event-pubsub": "4.3.0", @@ -38720,6 +37900,14 @@ "url": "^0.11.0", "util": "^0.11.0", "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } } }, "node-notifier": { @@ -38736,6 +37924,15 @@ "which": "^2.0.2" }, "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -38746,9 +37943,9 @@ } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -38778,18 +37975,18 @@ } }, "node-releases": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", - "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" }, "node-sass": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz", - "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-6.0.1.tgz", + "integrity": "sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==", "dev": true, "requires": { "async-foreach": "^0.1.3", - "chalk": "^4.1.2", + "chalk": "^1.1.1", "cross-spawn": "^7.0.3", "gaze": "^1.0.0", "get-stdin": "^4.0.1", @@ -38797,40 +37994,37 @@ "lodash": "^4.17.15", "meow": "^9.0.0", "nan": "^2.13.2", - "node-gyp": "^8.4.1", - "npmlog": "^5.0.0", + "node-gyp": "^7.1.0", + "npmlog": "^4.0.0", "request": "^2.88.0", - "sass-graph": "4.0.0", + "sass-graph": "2.2.5", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true }, "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "cross-spawn": { @@ -38850,12 +38044,6 @@ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -38877,15 +38065,21 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "has-flag": "^4.0.0" + "ansi-regex": "^2.0.0" } }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -38907,54 +38101,26 @@ } }, "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, "normalize-url": { "version": "3.3.0", @@ -38967,6 +38133,12 @@ "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" }, + "normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==", + "dev": true + }, "nouislider": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/nouislider/-/nouislider-12.1.0.tgz", @@ -38982,15 +38154,15 @@ } }, "npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "nprogress": { @@ -38999,12 +38171,12 @@ "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" }, "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", "dev": true, "requires": { - "boolbase": "^1.0.0" + "boolbase": "~1.0.0" } }, "num2fraction": { @@ -39013,6 +38185,12 @@ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -39045,43 +38223,6 @@ "is-descriptor": "^0.1.0" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -39100,17 +38241,16 @@ "dev": true }, "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "dev": true + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" }, "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", + "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", "requires": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3" } }, @@ -39120,9 +38260,9 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-path": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", - "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", + "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", "dev": true }, "object-visit": { @@ -39147,14 +38287,14 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "dev": true, "requires": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "es-abstract": "^1.18.0-next.1" } }, "object.pick": { @@ -39167,14 +38307,15 @@ } }, "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", "dev": true, "requires": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" } }, "obuf": { @@ -39184,9 +38325,9 @@ "dev": true }, "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "requires": { "ee-first": "1.1.1" @@ -39202,7 +38343,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -39223,14 +38363,6 @@ "dev": true, "requires": { "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - } } }, "opener": { @@ -39246,14 +38378,6 @@ "dev": true, "requires": { "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - } } }, "optimist": { @@ -39289,23 +38413,6 @@ "log-symbols": "^2.2.0", "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } } }, "original": { @@ -39327,7 +38434,17 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "dev": true, + "optional": true + }, + "p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dev": true, + "requires": { + "p-timeout": "^3.1.0" + } }, "p-finally": { "version": "1.0.0", @@ -39345,29 +38462,12 @@ } }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^2.2.0" - }, - "dependencies": { - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - } + "p-limit": "^1.1.0" } }, "p-map": { @@ -39391,6 +38491,15 @@ "retry": "^0.12.0" } }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -39415,13 +38524,12 @@ } }, "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "no-case": "^2.2.0" } }, "parchment": { @@ -39433,7 +38541,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "requires": { "callsites": "^3.0.0" }, @@ -39441,8 +38548,7 @@ "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" } } }, @@ -39506,6 +38612,33 @@ "requires": { "no-case": "^3.0.4", "tslib": "^2.0.3" + }, + "dependencies": { + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } } }, "pascalcase": { @@ -39535,8 +38668,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -39551,9 +38683,9 @@ "dev": true }, "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-to-regexp": { "version": "0.1.7", @@ -39579,9 +38711,9 @@ } }, "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -39592,9 +38724,9 @@ } }, "perfect-scrollbar": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz", - "integrity": "sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.0.tgz", + "integrity": "sha512-NrNHJn5mUGupSiheBTy6x+6SXCFbLlm8fVZh9moIzw/LgqElN5q4ncR4pbCBCYuCJ8Kcl9mYM0NgDxvW+b4LxA==" }, "performance-now": { "version": "2.1.0", @@ -39609,10 +38741,9 @@ "dev": true }, "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" }, "pify": { "version": "4.0.1", @@ -39642,6 +38773,57 @@ "dev": true, "requires": { "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } } }, "pkg-up": { @@ -39651,43 +38833,14 @@ "dev": true, "requires": { "find-up": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - } } }, "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true + "dev": true, + "optional": true }, "popper.js": { "version": "1.16.1", @@ -39705,15 +38858,6 @@ "mkdirp": "^0.5.5" }, "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -39732,21 +38876,41 @@ "dev": true }, "postcss": { - "version": "8.4.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", - "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", - "dev": true, + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", "requires": { - "nanoid": "^3.3.1", + "nanoid": "^3.1.30", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.0.1" }, "dependencies": { "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } } } }, @@ -39770,12 +38934,118 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + } + } + }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "dev": true, + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } } } }, @@ -39807,12 +39077,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -39841,12 +39105,127 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + } + } + }, + "postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "dev": true, + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } } } }, @@ -39868,12 +39247,6 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -39895,12 +39268,6 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -39922,12 +39289,6 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -39949,57 +39310,19 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, - "postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", "dev": true, "requires": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" }, "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, "postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", @@ -40009,36 +39332,368 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + } + } + }, + "postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + } + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-functions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", + "integrity": "sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=", + "dev": true, + "requires": { + "glob": "^7.1.2", + "object-assign": "^4.1.1", + "postcss": "^6.0.9", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true } } }, + "postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-import": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "requires": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "requires": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "postcss-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.0.tgz", + "integrity": "sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.5" + }, + "dependencies": { + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, "postcss-merge-longhand": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", @@ -40066,12 +39721,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40109,12 +39758,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40143,12 +39786,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40179,12 +39816,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40217,12 +39848,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40258,12 +39883,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40303,6 +39922,35 @@ "icss-utils": "^5.0.0" } }, + "postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, "postcss-normalize-charset": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", @@ -40321,12 +39969,6 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40356,12 +39998,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40392,12 +40028,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40428,12 +40058,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40463,12 +40087,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40498,12 +40116,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40533,12 +40145,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40569,12 +40175,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40603,12 +40203,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40638,12 +40232,181 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + } + } + }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "dev": true, + "requires": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "dependencies": { + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } } } }, @@ -40668,12 +40431,6 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40704,31 +40461,90 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + } + } + }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } } } }, "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", - "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", "dev": true, "requires": { + "is-svg": "^3.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0", "svgo": "^1.0.0" @@ -40749,12 +40565,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -40778,20 +40588,24 @@ "picocolors": "^0.2.1", "source-map": "^0.6.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, "postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } }, "prelude-ls": { "version": "1.1.2", @@ -40805,11 +40619,10 @@ "dev": true }, "prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", - "dev": true, - "optional": true + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true }, "prettier-linter-helpers": { "version": "1.0.0", @@ -40830,12 +40643,23 @@ "renderkid": "^2.0.4" } }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + }, "pretty-time": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", "dev": true }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -40851,7 +40675,8 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "dev": true, + "optional": true }, "promise-inflight": { "version": "1.0.1", @@ -40859,23 +40684,13 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", "dev": true, "requires": { - "forwarded": "0.2.0", + "forwarded": "~0.1.2", "ipaddr.js": "1.9.1" } }, @@ -40912,9 +40727,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true } } @@ -40953,11 +40768,42 @@ } }, "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, + "purgecss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", + "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", + "requires": { + "commander": "^8.0.0", + "glob": "^7.1.7", + "postcss": "^8.3.5", + "postcss-selector-parser": "^6.0.6" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -40965,9 +40811,9 @@ "dev": true }, "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "query-string": { @@ -41001,14 +40847,12 @@ "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" }, "quill": { "version": "1.3.7", @@ -41069,17 +40913,34 @@ "dev": true }, "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", + "bytes": "3.1.0", + "http-errors": "1.7.2", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -41092,24 +40953,6 @@ "type-fest": "^0.6.0" }, "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -41121,18 +40964,6 @@ "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true } } }, @@ -41147,6 +40978,55 @@ "type-fest": "^0.8.1" }, "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -41167,23 +41047,12 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -41205,6 +41074,33 @@ "requires": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" + }, + "dependencies": { + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + } + } + }, + "reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "requires": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } } }, "regenerate": { @@ -41214,23 +41110,23 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "dev": true, "requires": { "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" @@ -41253,45 +41149,45 @@ "dev": true }, "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "define-properties": "^1.1.3" } }, "regexpp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", - "dev": true + "dev": true, + "optional": true }, "regexpu-core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", - "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "dev": true, "requires": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -41318,16 +41214,16 @@ "dev": true }, "renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", "dev": true, "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" + "css-select": "^2.0.2", + "dom-converter": "^0.2", + "htmlparser2": "^3.10.1", + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" }, "dependencies": { "ansi-regex": { @@ -41336,46 +41232,6 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -41388,9 +41244,9 @@ } }, "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", "dev": true }, "repeat-string": { @@ -41476,32 +41332,10 @@ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, + "optional": true, "requires": { "caller-path": "^0.1.0", "resolve-from": "^1.0.0" - }, - "dependencies": { - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "requires": { - "callsites": "^0.2.0" - } - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - } } }, "requires-port": { @@ -41522,37 +41356,37 @@ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" }, "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "requires": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" } }, "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^5.0.0" + "resolve-from": "^3.0.0" }, "dependencies": { "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true } } }, "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true, + "optional": true }, "resolve-url": { "version": "0.2.1", @@ -41583,25 +41417,11 @@ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -41630,8 +41450,7 @@ "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rework": { "version": "1.0.1", @@ -41660,14 +41479,12 @@ "rgb-regex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" }, "rgba-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" }, "rimraf": { "version": "2.7.1", @@ -41692,13 +41509,13 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true + "dev": true, + "optional": true }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "requires": { "queue-microtask": "^1.2.2" } @@ -41721,13 +41538,15 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true + "dev": true, + "optional": true }, "rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, + "optional": true, "requires": { "rx-lite": "*" } @@ -41752,26 +41571,138 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz", - "integrity": "sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==", + "version": "1.32.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.5.tgz", + "integrity": "sha512-kU1yJ5zUAmPxr7f3q0YXTAd1oZjSR1g3tYyv+xu0HZSl5JiNOaE987eiz7wCUvbm4I9fGWGU2TgApTtcP4GMNQ==", "dev": true, + "optional": true, + "peer": true, "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" + "chokidar": ">=2.0.0 <4.0.0" } }, "sass-graph": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz", - "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", "dev": true, "requires": { "glob": "^7.0.0", - "lodash": "^4.17.11", - "scss-tokenizer": "^0.3.0", - "yargs": "^17.2.1" + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "sass-loader": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", + "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sass-resources-loader": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-resources-loader/-/sass-resources-loader-2.2.4.tgz", + "integrity": "sha512-hIQhBygYky+rLf+4cuoGYONZ623CEH4Swo1fs1WRJkukbqdvN1VIu2KCL59du6vX92bNELzNkGPLx+NorN73xA==", + "dev": true, + "requires": { + "async": "^3.2.0", + "chalk": "^4.1.0", + "glob": "^7.1.6", + "loader-utils": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -41783,15 +41714,20 @@ "color-convert": "^2.0.1" } }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "async": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", + "integrity": "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "color-convert": { @@ -41803,56 +41739,34 @@ "color-name": "~1.1.4" } }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "yargs": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", - "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" } }, - "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "dev": true, - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -41871,20 +41785,23 @@ } }, "scss-tokenizer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz", - "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "^2.4.3", - "source-map": "^0.7.1" + "js-base64": "^2.1.8", + "source-map": "^0.4.2" }, "dependencies": { "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } } } }, @@ -41900,46 +41817,39 @@ "dev": true }, "selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", "dev": true, "requires": { "node-forge": "^0.10.0" - }, - "dependencies": { - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - } } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true }, "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", + "depd": "~1.1.2", + "destroy": "~1.0.4", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "2.0.0", + "http-errors": "~1.7.2", "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", + "ms": "2.1.1", + "on-finished": "~2.3.0", "range-parser": "~1.2.1", - "statuses": "2.0.1" + "statuses": "~1.5.0" }, "dependencies": { "debug": { @@ -41959,24 +41869,24 @@ } } }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true } } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -42035,25 +41945,19 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true } } }, "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.17.1" } }, "set-blocking": { @@ -42082,12 +41986,6 @@ "requires": { "is-extendable": "^0.1.0" } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true } } }, @@ -42098,9 +41996,9 @@ "dev": true }, "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, "sha.js": { @@ -42165,9 +42063,9 @@ "dev": true }, "shell-quote": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, "shellwords": { @@ -42176,28 +42074,16 @@ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, "requires": { "is-arrayish": "^0.3.1" }, @@ -42205,8 +42091,7 @@ "is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" } } }, @@ -42221,24 +42106,11 @@ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, + "optional": true, "requires": { "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } } }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -42282,74 +42154,17 @@ "is-extendable": "^0.1.0" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -42372,6 +42187,35 @@ "requires": { "is-descriptor": "^1.0.0" } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } } } }, @@ -42396,35 +42240,28 @@ } }, "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", "dev": true, "requires": { "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", + "uuid": "^3.4.0", "websocket-driver": "^0.7.4" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - } } }, "sockjs-client": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz", - "integrity": "sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", "dev": true, "requires": { - "debug": "^3.2.7", - "eventsource": "^1.1.0", - "faye-websocket": "^0.11.4", + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", "inherits": "^2.0.4", - "url-parse": "^1.5.10" + "json3": "^3.3.3", + "url-parse": "^1.4.7" }, "dependencies": { "debug": { @@ -42438,27 +42275,6 @@ } } }, - "socks": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", - "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", - "dev": true, - "requires": { - "ip": "^1.1.5", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", - "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, "sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -42475,15 +42291,14 @@ "dev": true }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", + "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==" }, "source-map-resolve": { "version": "0.5.3", @@ -42499,27 +42314,19 @@ } }, "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "spdx-correct": { @@ -42549,9 +42356,9 @@ } }, "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "spdy": { @@ -42610,9 +42417,9 @@ "dev": true }, "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -42626,13 +42433,18 @@ "tweetnacl": "~0.14.0" } }, + "ssr-window": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.1.tgz", + "integrity": "sha512-5q936lkCk5Lg5hM6tG8Nutdym4vNiuFSWorslTzOn71PWb3Wnx44q/k2Ryn1LWA1G4FtxMzjywUFOiOxPkVGrA==" + }, "ssri": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.0.tgz", - "integrity": "sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", "dev": true, "requires": { - "minipass": "^3.1.1" + "figgy-pudding": "^3.5.1" } }, "stable": { @@ -42642,9 +42454,9 @@ "dev": true }, "stackframe": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", - "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", "dev": true }, "static-eval": { @@ -42667,11 +42479,10 @@ "source-map": "~0.6.1" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" } } }, @@ -42693,63 +42504,6 @@ "requires": { "is-descriptor": "^0.1.0" } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true } } }, @@ -42772,34 +42526,30 @@ "shallow-copy": "~0.0.1", "static-eval": "^2.0.0", "through2": "~2.0.3" - }, - "dependencies": { - "merge-source-map": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", - "requires": { - "source-map": "^0.5.6" - } - }, - "object-inspect": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", - "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" - } } }, "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "std-env": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.1.1.tgz", - "integrity": "sha512-/c645XdExBypL01TpFKiG/3RAa/Qmu+zRi0MwAmrdEkwHNuN0ebo8ccAXBBDa5Z0QOJgBskUIbuCK91x0sCVEw==", - "dev": true + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", + "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + }, + "dependencies": { + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + } + } }, "stdout-stream": { "version": "1.4.1", @@ -42862,90 +42612,89 @@ "dev": true }, "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } + "safe-buffer": "~5.1.0" } }, "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "string.prototype.padend": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz", - "integrity": "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.1.tgz", + "integrity": "sha512-eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==", "dev": true, "requires": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "es-abstract": "^1.18.0-next.1" } }, "string.prototype.padstart": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.3.tgz", - "integrity": "sha512-NZydyOMtYxpTjGqp0VN5PYUF/tsU15yDMZnUdj16qRUIUiMJkHHSDElYyQFrMu+/WloTpA7MQSiADhBicDfaoA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.1.tgz", + "integrity": "sha512-kcFjKhQYg40AK9MITCWYr/vIebruAD01sc/fxi8szHJaEG7Rke4XHw6LU9c1VWXh/+J/PxvWLLf/aIAGKhXkAQ==", "dev": true, "requires": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "es-abstract": "^1.18.0-next.1" } }, "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", "dev": true, "requires": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "dev": true, "requires": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.0", "define-properties": "^1.1.3" } }, "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - } + "ansi-regex": "^4.1.0" } }, "strip-eof": { @@ -42961,25 +42710,17 @@ "dev": true }, "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "dev": true + "dev": true, + "optional": true }, "style-loader": { "version": "2.0.0", @@ -42991,6 +42732,17 @@ "schema-utils": "^3.0.0" }, "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -43035,12 +42787,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -43052,11 +42798,6 @@ "has-flag": "^3.0.0" } }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, "svg-tags": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", @@ -43089,11 +42830,21 @@ "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-7.33.1.tgz", "integrity": "sha512-69KYtyhtxejFG0HDb8aVhAwbpAWPSTZwaL5vxDHgojErD2KeFxTmRgmkbiLtMC8UdTFXRmvTPtZTF4459MUb7w==" }, + "swiper": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-7.3.1.tgz", + "integrity": "sha512-YHa8uI22UwF9Q6F9tCDSai7/BJo8uVHKampKYAIShlFrWoHfM+sCCn24Yeq3oqIKZv2bfSULzXKsXmh0VpCNeQ==", + "requires": { + "dom7": "^4.0.1", + "ssr-window": "^4.0.1" + } + }, "table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, + "optional": true, "requires": { "ajv": "^5.2.3", "ajv-keywords": "^2.1.0", @@ -43108,6 +42859,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, + "optional": true, "requires": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -43120,57 +42872,601 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true, - "requires": {} - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true + "optional": true }, "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "dev": true, + "optional": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, + "optional": true + } + } + }, + "tailwindcss": { + "version": "2.2.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.17.tgz", + "integrity": "sha512-WgRpn+Pxn7eWqlruxnxEbL9ByVRWi3iC10z4b6dW0zSdnkPVC4hPMSWLQkkW8GCyBIv/vbJ0bxIi9dVrl4CfoA==", + "requires": { + "arg": "^5.0.1", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "color-convert": "^2.0.1" } }, - "strip-ansi": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/color/-/color-4.0.1.tgz", + "integrity": "sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==", + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.6.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "requires": { + "rimraf": "^3.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "tailwindcss-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tailwindcss-dir/-/tailwindcss-dir-4.0.0.tgz", + "integrity": "sha512-G5orTODS8sDQOZqKa2Q4Ey/F4nlxK1mTZm02iKHLxZaNjpboPews/h2KUksC5KbgIVrpmOe1hqcNYZJy07ftwA==", + "dev": true, + "requires": { + "tailwindcss": "^1.0.1" + }, + "dependencies": { + "@fullhuman/postcss-purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz", + "integrity": "sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "postcss": "7.0.32", + "purgecss": "^2.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true + }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", + "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1", + "postcss": "^7.0.18" + } + }, + "postcss-nested": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", + "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", + "dev": true, + "requires": { + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2" + } + }, + "purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", + "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", + "dev": true, + "requires": { + "commander": "^5.0.0", + "glob": "^7.0.0", + "postcss": "7.0.32", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tailwindcss": { + "version": "1.9.6", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.9.6.tgz", + "integrity": "sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ==", + "dev": true, + "requires": { + "@fullhuman/postcss-purgecss": "^2.1.2", + "autoprefixer": "^9.4.5", + "browserslist": "^4.12.0", + "bytes": "^3.0.0", + "chalk": "^3.0.0 || ^4.0.0", + "color": "^3.1.2", + "detective": "^5.2.0", + "fs-extra": "^8.0.0", + "html-tags": "^3.1.0", + "lodash": "^4.17.20", + "node-emoji": "^1.8.1", + "normalize.css": "^8.0.1", + "object-hash": "^2.0.3", + "postcss": "^7.0.11", + "postcss-functions": "^3.0.0", + "postcss-js": "^2.0.0", + "postcss-nested": "^4.1.1", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "reduce-css-calc": "^2.1.6", + "resolve": "^1.14.2" } } } }, "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, "tar": { @@ -43208,60 +43504,116 @@ } }, "terser": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", - "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "requires": { - "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" } }, "terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", - "terser": "^5.7.2" + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } } } }, @@ -43289,6 +43641,17 @@ "thenify": ">= 3.1.0 < 4" } }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, "throttle-debounce": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", @@ -43298,7 +43661,8 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "dev": true, + "optional": true }, "through2": { "version": "2.0.5", @@ -43340,6 +43704,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, + "optional": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -43353,7 +43718,8 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true }, "to-object-path": { "version": "0.3.0", @@ -43388,26 +43754,19 @@ } }, "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "^7.0.0" - }, - "dependencies": { - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - } + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true }, "topojson": { @@ -43444,20 +43803,12 @@ "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - } } }, "trim-newlines": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", - "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, "true-case-path": { @@ -43476,9 +43827,9 @@ "dev": true }, "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tty-browserify": { @@ -43511,9 +43862,9 @@ } }, "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true }, "type-is": { @@ -43546,27 +43897,9 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -43605,14 +43938,6 @@ "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } } }, "uniq": { @@ -43722,14 +44047,6 @@ "dev": true, "requires": { "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - } } }, "urix": { @@ -43756,10 +44073,45 @@ } } }, + "url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -43804,6 +44156,33 @@ "es-abstract": "^1.17.2", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + } } }, "utila": { @@ -43829,13 +44208,6 @@ "resolved": "https://registry.npmjs.org/v-money/-/v-money-0.8.1.tgz", "integrity": "sha512-raz87AP5F2YEpv1GAocI3SC/y9af1+TQeZQIhAK5UNovho6dnh6RQBa5UG8ZNC+BPLpUh5VECi7EWTjr4+4s1g==" }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true, - "peer": true - }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -43872,14 +44244,6 @@ "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - } } }, "vlq": { @@ -43894,9 +44258,9 @@ "dev": true }, "vue": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", - "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", + "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" }, "vue-chartjs": { "version": "3.5.1", @@ -43907,9 +44271,9 @@ } }, "vue-clipboard2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/vue-clipboard2/-/vue-clipboard2-0.3.3.tgz", - "integrity": "sha512-aNWXIL2DKgJyY/1OOeITwAQz1fHaCIGvUFHf9h8UcoQBG5a74MkdhS/xqoYe7DNZdQmZRL+TAdIbtUs9OyVjbw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/vue-clipboard2/-/vue-clipboard2-0.3.1.tgz", + "integrity": "sha512-H5S/agEDj0kXjUb5GP2c0hCzIXWRBygaWLN3NEFsaI9I3uWin778SFEMt8QRXiPG+7anyjqWiw2lqcxWUSfkYg==", "requires": { "clipboard": "^2.0.0" } @@ -43938,13 +44302,24 @@ "requires": { "ms": "^2.1.1" } + }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "optional": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } } } }, "vue-flatpickr-component": { - "version": "8.1.7", - "resolved": "https://registry.npmjs.org/vue-flatpickr-component/-/vue-flatpickr-component-8.1.7.tgz", - "integrity": "sha512-T9aapLERf5XrisKUHw8QVByFpN9UB583Bhu6+HtzvhCcfXqIYBtRc3rQC0ZhFSRk3CNMo7533U+B5Qs4WAbhyA==", + "version": "8.1.6", + "resolved": "https://registry.npmjs.org/vue-flatpickr-component/-/vue-flatpickr-component-8.1.6.tgz", + "integrity": "sha512-RUu/M/1lbuzQT+U3yP7O5/M2EIizr9vXLXqSc1eFOvCT3AHurQg8+iO02rjW+2l78Kit8pCNAUvHw7eexws6hw==", "requires": { "flatpickr": "^4.6.6" } @@ -43955,31 +44330,6 @@ "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", "dev": true }, - "vue-image-lightbox": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/vue-image-lightbox/-/vue-image-lightbox-7.2.0.tgz", - "integrity": "sha512-Gykb05xg3tHqUKny/p4pjHp2B68izo5vOg6meUAZd3oKSc+eqQvd9q54n0L94KBkF2m8zjusKMP1tdhu150VOQ==", - "requires": { - "@babel/runtime": "7.9.2", - "hammerjs": "^2.0.8", - "vue-lazyload": "^1.3.2" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", - "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - } - } - }, - "vue-lazyload": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.3.3.tgz", - "integrity": "sha512-uHnq0FTEeNmqnbBC2aRKlmtd9LofMZ6Q3mWvgfLa+i9vhxU8fDK+nGs9c1iVT85axSua/AUnMttIq3xPaU9G3A==" - }, "vue-loader": { "version": "15.9.8", "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", @@ -43991,40 +44341,17 @@ "loader-utils": "^1.1.0", "vue-hot-reload-api": "^2.3.0", "vue-style-loader": "^4.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } } }, "vue-loading-overlay": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/vue-loading-overlay/-/vue-loading-overlay-3.4.2.tgz", - "integrity": "sha512-xcB+NPjl76eA0uggm707x3ZFgrNosZXpynHipyS3K+rrK1NztOV49R1LY+/4ij5W1KYANp7eRI2EIHrxCpmWAw==", - "requires": {} + "integrity": "sha512-xcB+NPjl76eA0uggm707x3ZFgrNosZXpynHipyS3K+rrK1NztOV49R1LY+/4ij5W1KYANp7eRI2EIHrxCpmWAw==" }, "vue-router": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz", - "integrity": "sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg==" + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.9.tgz", + "integrity": "sha512-CGAKWN44RqXW06oC+u4mPgHLQQi2t6vLD/JbGRDAXm0YpMv0bgpKuU5bBd7AvMgfTz9kXVRIWKHqRwGEb8xFkA==" }, "vue-style-loader": { "version": "4.1.3", @@ -44034,34 +44361,12 @@ "requires": { "hash-sum": "^1.0.2", "loader-utils": "^1.0.2" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } } }, "vue-template-compiler": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", - "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", + "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", "dev": true, "requires": { "de-indent": "^1.0.2", @@ -44074,6 +44379,14 @@ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", "dev": true }, + "vue2-editor": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/vue2-editor/-/vue2-editor-2.10.3.tgz", + "integrity": "sha512-99rWL93xfGeFRrq8NY5L7U+Cog/Uenx+UOOJragtxtbhBE9Rv5/C3P/YhJhjMECSbQyHFjUriqv1S3mghvU9Kg==", + "requires": { + "quill": "^1.3.6" + } + }, "vue2-transitions": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/vue2-transitions/-/vue2-transitions-0.3.0.tgz", @@ -44137,25 +44450,6 @@ "dev": true, "optional": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -44177,29 +44471,6 @@ "upath": "^1.1.1" } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, "fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", @@ -44244,13 +44515,6 @@ "binary-extensions": "^1.0.0" } }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "optional": true - }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -44262,17 +44526,6 @@ "micromatch": "^3.1.10", "readable-stream": "^2.0.2" } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } } } }, @@ -44295,13 +44548,13 @@ } }, "webpack": { - "version": "5.72.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", - "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", + "version": "5.65.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz", + "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==", "dev": true, "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", @@ -44309,12 +44562,12 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", + "enhanced-resolve": "^5.8.3", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.4", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -44323,13 +44576,13 @@ "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.3.1", - "webpack-sources": "^3.2.3" + "webpack-sources": "^3.2.2" }, "dependencies": { "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", "dev": true }, "acorn-import-assertions": { @@ -44339,22 +44592,27 @@ "dev": true, "requires": {} }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, "glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -44366,10 +44624,58 @@ "ajv-keywords": "^3.5.2" } }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", + "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", + "dev": true, + "requires": { + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + } + }, "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", + "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", "dev": true } } @@ -44395,12 +44701,6 @@ "ws": "^6.0.0" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, "acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", @@ -44420,15 +44720,15 @@ } }, "webpack-cli": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", - "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", + "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.1", - "@webpack-cli/info": "^1.4.1", - "@webpack-cli/serve": "^1.6.1", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", @@ -44485,6 +44785,16 @@ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, + "import-local": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -44521,6 +44831,21 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -44568,23 +44893,15 @@ "mkdirp": "^0.5.1", "range-parser": "^1.2.1", "webpack-log": "^2.0.0" - }, - "dependencies": { - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - } } }, "webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "dev": true, "requires": { - "ansi-html-community": "0.0.8", + "ansi-html": "0.0.7", "bonjour": "^3.5.0", "chokidar": "^2.1.8", "compression": "^1.7.4", @@ -44652,24 +44969,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -44696,27 +44995,6 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -44758,16 +45036,6 @@ } } }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, "is-absolute-url": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", @@ -44783,18 +45051,6 @@ "binary-extensions": "^1.0.0" } }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -44829,15 +45085,6 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -44849,15 +45096,6 @@ "readable-stream": "^2.0.2" } }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -44869,6 +45107,12 @@ "ajv-keywords": "^3.1.0" } }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -44881,9 +45125,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "strip-ansi": { @@ -44915,16 +45159,6 @@ "has-flag": "^3.0.0" } }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, "yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", @@ -44975,13 +45209,30 @@ } }, "webpack-notifier": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz", - "integrity": "sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.14.1.tgz", + "integrity": "sha512-OVOoiOyKHS3z9pN1nLdPY2Pf/R3wiBsN0KiPc3K6ApwMBfHbyUomQc2Mr0naeKxfqXyCBPHfQuqpL9yoL0rgkA==", "dev": true, "requires": { "node-notifier": "^9.0.0", "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "webpack-sources": { @@ -44992,28 +45243,33 @@ "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "webpackbar": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", - "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "version": "5.0.0-3", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.0-3.tgz", + "integrity": "sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g==", "dev": true, "requires": { + "ansi-escapes": "^4.3.1", "chalk": "^4.1.0", - "consola": "^2.15.3", + "consola": "^2.15.0", + "figures": "^3.2.0", "pretty-time": "^1.1.0", - "std-env": "^3.0.1" + "std-env": "^2.2.1", + "text-table": "^0.2.0", + "wrap-ansi": "^7.0.0" }, "dependencies": { + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -45042,6 +45298,15 @@ "color-name": "~1.1.4" } }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -45056,6 +45321,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true } } }, @@ -45085,19 +45356,6 @@ "isexe": "^2.0.0" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -45139,52 +45397,64 @@ } }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" } } } @@ -45192,22 +45462,22 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, + "optional": true, "requires": { "mkdirp": "^0.5.1" } }, "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -45219,9 +45489,9 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, "yallist": { @@ -45233,8 +45503,7 @@ "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs": { "version": "16.2.0", @@ -45251,14 +45520,11 @@ "yargs-parser": "^20.2.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true }, "cliui": { "version": "7.0.4", @@ -45271,38 +45537,50 @@ "wrap-ansi": "^7.0.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.0" } }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", "dev": true } } }, "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true }, "yorkie": { @@ -45365,12 +45643,6 @@ "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", "dev": true }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", diff --git a/package.json b/package.json index 7a65b7a60..bde564dcf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "akaunting", - "version": "2.0.0", + "version": "3.0.0", "private": true, "scripts": { "dev": "npm run development", @@ -13,84 +13,68 @@ }, "dependencies": { "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@fullcalendar/core": "^4.3.1", - "@fullcalendar/daygrid": "^4.3.0", - "@fullcalendar/interaction": "^4.3.0", - "@fullcalendar/timegrid": "^4.3.0", - "@fullcalendar/vue": "^4.3.1", + "@fullcalendar/core": "^5.11.0", + "@fullcalendar/daygrid": "^5.11.0", + "@fullcalendar/interaction": "^5.11.0", + "@fullcalendar/timegrid": "^5.11.0", + "@fullcalendar/vue": "^5.11.0", + "@popperjs/core": "^2.11.0", + "@tailwindcss/forms": "^0.4.0", + "@themesberg/flowbite": "^1.2.0", "axios": "^0.21", - "bootstrap": "^4.3.1", - "chart.js": "^2.7.1", - "d3": "^5.12.0", - "datamaps": "^0.5.9", "date-fns": "^1.30.1", "dropzone": "^5.5.1", "element-ui": "^2.12.0", "es6-promise": "^4.1.1", "flatpickr": "^4.6.3", "fuse.js": "^3.2.0", + "glightbox": "^3.1.0", "google-maps": "^3.2.1", - "jquery": "^3.4.1", "json-schema": ">=0.4.0", + "laravel-mix-tailwind": "^0.1.2", "lodash": "^4.17.15", - "nouislider": "^12.1.0", "nprogress": "^0.2.0", - "perfect-scrollbar": "^1.3.0", - "popper.js": "^1.12", - "quill": "^1.3.7", - "sweetalert2": "^7.29.2", + "popper.js": "^1.16.1", + "swiper": "^7.3.1", + "tailwind": "^4.0.0", + "tailwindcss": "^3.0.23", "v-money": "^0.8.1", "vee-validate": "^2.2.15", "vue": "^2.6.10", - "vue-chartjs": "^3.4.0", "vue-clipboard2": "^0.3.1", "vue-flatpickr-component": "^8.1.3", - "vue-image-lightbox": "^7.1.3", - "vue-loading-overlay": "^3.2.0", "vue-router": "^3.1.3", + "vue2-editor": "^2.10.3", "vue2-transitions": "^0.3.0" }, "devDependencies": { + "@babel/core": "^7.15.5", + "@babel/preset-env": "^7.3.4", "@vue/cli-plugin-babel": "^3.11.0", "@vue/cli-plugin-eslint": "^3.11.0", "@vue/cli-service": "^3.11.0", "@vue/eslint-config-prettier": "^4.0.1", - "ansi-regex": ">=5.0.1", + "autoprefixer": "10.4.5", "babel-plugin-component": "^1.1.0", "cross-env": "^5.2.1", - "is-svg": "^4.3.2", - "laravel-mix": "^6.0.39", - - "node-sass": ">=7.0.0", - "nth-check": ">=2.0.1", - "object-path": ">=0.11.8", - "resolve-url-loader": "^2.3.1", - "sass": "^1.44.0", + "css-loader": "^5.2.7", + "laravel-mix": "^6.0.43", + "mini-css-extract-plugin": "^1.6.2", + "node-sass": "^7.0.1", + "postcss": "^8.4.6", + "postcss-import": "^14.0.2", + "postcss-loader": "^6.1.1", + "postcss-nesting": "^10.1.2", + "postcss-preset-env": "^7.4.1", "sass-loader": "^12.3.0", - "tar": ">=4.4.18", - "trim-newlines": ">=3.0.1", + "style-loader": "^2.0.0", + "tailwindcss-dir": "^4.0.0", + "url-loader": "^4.1.1", "vue-loader": "^15.9.8", + "vue-style-loader": "^4.1.3", "vue-template-compiler": "^2.6.10", "webpack": "^5.64.4", - "webpack-cli": "^4.9.1", - "serialize-javascript": ">=3.1.0", - "glob-parent": ">=5.1.2", - "async": ">=2.6.4", - "nanoid": ">=3.1.31", - "node-forge": ">=1.3.0", - "follow-redirects": ">=1.14.8", - "ajv": ">=6.12.3", - "object-path": ">=0.11.8", - "ssri": ">=6.0.2", - "url-parse": ">=1.5.9", - "postcss": ">=7.0.36", - "moment": ">=2.29.2", - "minimist": ">=1.2.6" - }, - "postcss": { - "plugins": { - "autoprefixer": {} - } + "webpack-cli": "^4.9.1" }, "browserslist": [ "> 1%", diff --git a/presets.js b/presets.js new file mode 100644 index 000000000..02e25bb8c --- /dev/null +++ b/presets.js @@ -0,0 +1,285 @@ +const defaultTheme = require('tailwindcss/defaultTheme') + +const fontFamily = defaultTheme.fontFamily; +fontFamily['sans'] = [ + 'Quicksand', // <-- Quicksand is default sans font now + 'system-ui', + // <-- Can provide more font fallbacks here +]; + +module.exports = { + content: [ + './resources/views/**/*.blade.php', + './resources/views/**/**/*.blade.php', + './resources/assets/js/components/**/*.vue', + './resources/assets/js/**/*.vue', + './modules/Cloud/Resources/views/**/**/*.blade.php', + './vendor/akaunting/laravel-menu/src/Presenters/Admin/Tailwind.php', + './safelist.txt' + ], + + safelist: [ + { + pattern: /.*/, + }, + ], + + darkMode: 'class', // or 'media' or 'class', + theme: { + fontFamily: fontFamily, + + extend: { + fontSize: { + '2xl': ['1.375rem','1.5rem'], // 22PX + '3xl': ['1.5rem','1.75rem'], // 24PX + '4xl': ['1.75rem','2rem'], // 28PX + '5xl': ['2.25rem','2.5rem'], // 36PX + '6xl': ['2.5rem','2.75rem'], // 40PX + '7xl': ['2.75rem', '3rem'], // 44PX + '8xl': ['3rem', '3.25rem'], + }, + + colors: { + 'green': { + DEFAULT: '#6ea152', + '50': '#f8faf6', + '100': '#f1f6ee', + '200': '#dbe8d4', + '300': '#c5d9ba', + '400': '#9abd86', + '500': '#6ea152', + '600': '#63914a', + '700': '#53793e', + '800': '#426131', + '900': '#364f28' + }, + 'purple': { + DEFAULT: '#55588b', + '50': '#f7f7f9', + '100': '#eeeef3', + '200': '#d5d5e2', + '300': '#bbbcd1', + '400': '#888aae', + '500': '#55588b', + '600': '#4d4f7d', + '700': '#404268', + '800': '#333553', + '900': '#2a2b44' + }, + 'red': { + DEFAULT: '#cc0000', + '50': '#fcf2f2', + '100': '#fae6e6', + '200': '#f2bfbf', + '300': '#eb9999', + '400': '#db4d4d', + '500': '#cc0000', + '600': '#b80000', + '700': '#990000', + '800': '#7a0000', + '900': '#640000' + }, + 'orange': { + DEFAULT: '#f59e0b', + '50': '#fffaf3', + '100': '#fef5e7', + '200': '#fde7c2', + '300': '#fbd89d', + '400': '#f8bb54', + '500': '#f59e0b', + '600': '#dd8e0a', + '700': '#b87708', + '800': '#935f07', + '900': '#784d05' + }, + 'blue': { + DEFAULT: '#006ea6', + '50': '#f2f8fb', + '100': '#e6f1f6', + '200': '#bfdbe9', + '300': '#99c5db', + '400': '#4d9ac1', + '500': '#006ea6', + '600': '#006395', + '700': '#00537d', + '800': '#004264', + '900': '#003651' + }, + 'black': { + DEFAULT: '#424242', + '50': '#f6f6f6', + '100': '#ececec', + '200': '#d0d0d0', + '300': '#b3b3b3', + '400': '#7b7b7b', + '500': '#424242', + '600': '#3b3b3b', + '700': '#323232', + '800': '#282828', + '900': '#202020' + }, + 'lilac': { + DEFAULT: '#F8F9FE', + '100': '#F5F7FA', + '300': '#EDF0FC', + '900': '#DCE2F9' + }, + 'golden': { + DEFAULT: '#D1C989', + '900': '#BFB882', + }, + 'rose': { + DEFAULT: '#f43f5e', + '50' : '#fff1f2', + '100': '#ffe4e6', + '200': '#fecdd3', + '300': '#fda4af', + '400': '#fb7185', + '500': '#f43f5e', + '600': '#e11d48', + '700': '#be123c', + '800': '#9f1239', + '900': '#881337' + }, + 'status': { + 'success': '#F1F6EE', + 'danger': '#fae6e6', + 'sent': '#FEF5E7', + 'viewed': '#EEEEF3', + 'draft': '#ECECEC', + 'partial': '#E6F1F6', + 'canceled': '#282828', + 'warning': '#FEF5E7' + }, + 'text-status': { + 'success': '#63914A', + 'danger': '#B80000', + 'sent': '#DD8E0A', + 'viewed': '#4D4F7D', + 'draft': '#3B3B3B', + 'partial': '#006395', + 'canceled': '#ffffff', + 'warning': '#b87708' + }, + 'body': { + DEFAULT: '#fcfcfc' + }, + 'light-gray': '#C7C9D9', + 'dark-blue': '#15284B', + 'lighter-gray': '#F2F2F5', + 'purple-lighter': '#F2F4FC', + 'modal-background': 'rgba(0, 0, 0, 0.3)' + }, + + spacing: { + 'modal': '610px', + '5.5': '1.30rem', + '9.5': '2.45rem', + '12.5': '3.2rem', + '31': '30.938rem', + '32.5': '8.5rem', + '33': '8.5rem', + '37': '9.25rem', + '46': '46.875rem', + }, + + margin: { + '10.5': '2.6rem', + }, + + keyframes: { + vibrate: { + '0.50%, 10%, 20%, 30%, 40%, 50%': { transform: 'translate3d(0.5px, 0, 0)' }, + '5%, 15%, 25%, 35%, 45%': { transform: 'translate3d(-0.5px, 0, 0)' }, + '100%': { transform: 'translate3d(0.5px, 0, 0)' }, + }, + pulsate_transparent: { + '0%': { transform: 'scale(0.9, 0.9)' }, + '50%': { transform: 'scale(1.14, 1.14)' }, + '100%': { transform: 'scale(0.9, 0.9)' }, + }, + pulsate: { + '0%': { transform: 'transform: scale(1, 1)', opacity: '0.05' }, + '50%': { opacity: '0.25' }, + '100%': { transform: 'scale(1.5, 1.5)', opacity: '0' }, + }, + spin: { + '0%': { transform: 'rotate(0deg)' }, + '100%': { transform: 'rotate(360deg)' }, + }, + submit: { + '0%': { boxShadow: '0 28px 0 -28px #ffffff' }, + '100%': { boxShadow: '0 28px 0 #ffffff' }, + }, + }, + + animation: { + vibrate: 'vibrate 2s cubic-bezier(.36, .07, .19, .97) infinite;', + pulsate_transparent: 'pulsate_transparent 1500ms ease infinite;', + pulsate: 'pulsate 1500ms ease infinite;', + spin: 'spin 1000ms infinite', + submit: 'submit 0.7s ease alternate infinite' + }, + + transitionProperty: { + 'height': 'height', + 'spacing': 'margin, padding', + 'visible': 'visible, opacity' + } + }, + + appearance: ['hover', 'focus'], + container: { + center: true, + }, + }, + + variants: { + transitionProperty: ['responsive', 'motion-safe', 'motion-reduce'], + float: ['responsive', 'direction'], + margin: ['responsive', 'direction'], + padding: ['responsive', 'direction'], + inset: ['responsive', 'direction'], + textAlign: ['responsive', 'direction'], + space: ['responsive', 'direction'], + rotate: ['responsive', 'direction'], + + extend: { + display: ['group-hover'], + opacity: ['checked', 'disabled'], + borderColor: ['checked'], + fontWeight: ['hover'], + borderRadius: ['responsive', 'hover', 'focus'], + borderWidth: ['responsive', 'hover', 'focus'], + translate: ['responsive', 'hover'], + } + }, + + plugins: [ + require('@tailwindcss/forms'), + require('@themesberg/flowbite/plugin'), + require('tailwindcss-dir')(), + function ({ addComponents }) { + addComponents({ + '.container': { + maxWidth: '100%', + '@screen sm': { + maxWidth: '100%', + }, + '@screen md': { + maxWidth: '100%', + }, + '@screen lg': { + maxWidth: '1000px', + }, + '@screen xl': { + maxWidth: '895px', + }, + '@screen 2xl': { + maxWidth: '1145px', + }, + } + }) + } + ] +}; \ No newline at end of file diff --git a/public/akaunting-js/generalAction.js b/public/akaunting-js/generalAction.js new file mode 100644 index 000000000..f3912a3f5 --- /dev/null +++ b/public/akaunting-js/generalAction.js @@ -0,0 +1,278 @@ +// remove dropdown menu when mouseleave in index more actions +document.querySelectorAll("[data-table-list]").forEach((row) => { + row.addEventListener("mouseleave", function() { + if (row.querySelector("[data-dropdown-actions]")) { + row.querySelector("[data-dropdown-actions]").classList.remove("block"); + row.querySelector("[data-dropdown-actions]").classList.add("hidden"); + } + }); +}); +// remove dropdown menu when mouseleave in index more actions + +//redirect edit or show page for table row click +document.querySelectorAll("[data-table-body]").forEach((table) => { + let rows = table.querySelectorAll("tr"); + + rows.forEach((row) => { + let row_href = row.getAttribute("href"); + + if (! row_href) { + return; + } + + let td = row.getElementsByTagName("td"); + let first_selector = row.querySelector('[data-bulkaction]') && row.querySelector('[data-bulkaction]') !== null ? 1 : 0; + + if (row_href) { + for (let i=first_selector; i { + window.location.href = row_href; + }); + } + } + }); +}); +//redirect edit or show page for table row click + +//collapse accordion +function toggleSub(key, event) { + let isExpanded = + document.querySelectorAll( + `[data-collapse="${key}"]` + ".active-collapse" + ).length > 0; + + if (isExpanded) { + this.collapseSub(key, event); + } else { + this.expandSub(key, event); + } +} + +function collapseSub(key, event) { + event.stopPropagation(); + event.target.classList.add("rotate-90"); + + document + .querySelectorAll(`[data-collapse="${key}"]` + ".active-collapse") + .forEach(function(element) { + element.classList.toggle("active-collapse"); + element.classList.toggle("collapse-sub"); + }); + + // if collapsed key has childs(table row constantly), they will be collapsed as well + document + .querySelectorAll(`[data-collapse="${key}"]` + " button[node|='child']") + .forEach(function(element) { + element.childNodes[0].classList.add("rotate-90") + + this.collapseSub(element.getAttribute("node"), event); + }.bind(this) + ); +} + +function expandSub(key, event) { + event.stopPropagation(); + event.target.classList.remove("rotate-90"); + + document + .querySelectorAll(`[data-collapse="${key}"]`) + .forEach(function(element) { + if (element.getAttribute("data-animation")) { + element.classList.toggle("active-collapse-animation"); + } + + element.classList.toggle("active-collapse"); + element.classList.toggle("collapse-sub"); + }); +} +//collapse accordion + +// run dropdown and tooltip functions for Virtual DOM +document.addEventListener("DOMContentLoaded", () => { + const triggers = [ + { event: "mouseover", checker: isHoverable }, + { event: "mouseout", checker: isHoverable }, + { event: "click", checker: isClickable }, + ]; + + triggers.forEach(({ event, checker, fn }) => { + document.addEventListener( + event, + (e) => { + const dropdownToggleEl = e.target.closest( + "[data-dropdown-toggle]" + ); + const tooltipToggleEl = e.target.closest( + "[data-tooltip-target]" + ); + if (dropdownToggleEl !== null && event == "click") { + runDropdown(dropdownToggleEl); + } + + if (tooltipToggleEl !== null && event == "mouseover") { + runTooltip(tooltipToggleEl); + } + }, + false + ); + }); +}); + +function isClickable(dropdownToggleEl) { + return dropdownToggleEl.getAttribute("data-dropdown-toggle") === "click"; +} + +function isHoverable(tooltipToggleEl) { + return tooltipToggleEl.getAttribute("data-tooltip-target") === "hover"; +} +//run dropdown and tooltip functions for Virtual DOM + +// Toggle dropdown elements using [data-dropdown-toggle] +function runDropdown(dropdownToggleEl) { + const dropdownMenuId = dropdownToggleEl.getAttribute( + "data-dropdown-toggle" + ); + const dropdownMenuEl = document.getElementById(dropdownMenuId); // options + + const placement = dropdownToggleEl.getAttribute("data-dropdown-placement"); + + var element = dropdownToggleEl; + + while (element.nodeName !== "BUTTON") { + element = element.parentNode; + } + + Popper.createPopper(element, dropdownMenuEl, { + placement: placement ? placement : "bottom-start", + modifiers: [ + { + name: "offset", + options: { + offset: [0, 10], + }, + }, + ], + }); // toggle when click on the button + + dropdownMenuEl.classList.toggle("hidden"); + dropdownMenuEl.classList.toggle("block"); + + function handleDropdownOutsideClick(event) { + var targetElement = event.target; // clicked element + + if ( + targetElement !== dropdownMenuEl && + targetElement !== dropdownToggleEl && + !dropdownToggleEl.contains(targetElement) + ) { + dropdownMenuEl.classList.add("hidden"); + dropdownMenuEl.classList.remove("block"); + document.body.removeEventListener( + "click", + handleDropdownOutsideClick, + true + ); + } + } // hide popper when clicking outside the element + + document.body.addEventListener("click", handleDropdownOutsideClick, true); + + if (dropdownMenuEl.getAttribute("data-click-outside-none") != null) { + if (event.target.getAttribute("data-click-outside") != null || event.target.parentElement.getAttribute("data-click-outside") != null) { + dropdownMenuEl.classList.add("hidden"); + dropdownMenuEl.classList.remove("block"); + return; + } + dropdownMenuEl.classList.add("block"); + dropdownMenuEl.classList.remove("hidden"); + } +} +// Toggle dropdown elements using [data-dropdown-toggle] + +// Tooltip elements using [data-tooltip-target], [data-tooltip-placement] +function runTooltip(tooltipToggleEl) { + const tooltipEl = document.getElementById( + tooltipToggleEl.getAttribute("data-tooltip-target") + ); + const placement = tooltipToggleEl.getAttribute("data-tooltip-placement"); + const trigger = tooltipToggleEl.getAttribute("data-tooltip-trigger"); + const popperInstance = Popper.createPopper(tooltipToggleEl, tooltipEl, { + placement: placement ? placement : "top", + modifiers: [ + { + name: "offset", + options: { + offset: [0, 8], + }, + }, + ], + }); + + function show() { + // Make the tooltip visible + tooltipEl.classList.remove("opacity-0"); + tooltipEl.classList.add("opacity-100"); + tooltipEl.classList.remove("invisible"); + tooltipEl.classList.add("visible"); // Enable the event listeners + + popperInstance.setOptions((options) => ({ + ...options, + modifiers: [ + ...options.modifiers, + { + name: "eventListeners", + enabled: true, + }, + ], + })); // Update its position + + popperInstance.update(); + } + + function hide() { + // Hide the tooltip + tooltipEl.classList.remove("opacity-100"); + tooltipEl.classList.add("opacity-0"); + tooltipEl.classList.remove("visible"); + tooltipEl.classList.add("invisible"); // Disable the event listeners + + popperInstance.setOptions((options) => ({ + ...options, + modifiers: [ + ...options.modifiers, + { + name: "eventListeners", + enabled: false, + }, + ], + })); + } + + var showEvents = []; + var hideEvents = []; + + switch (trigger) { + case "hover": + showEvents = ["mouseenter", "focus"]; + hideEvents = ["mouseleave", "blur"]; + break; + + case "click": + showEvents = ["click", "focus"]; + hideEvents = ["focusout", "blur"]; + break; + + default: + showEvents = ["mouseenter", "focus"]; + hideEvents = ["mouseleave", "blur"]; + } + + showEvents.forEach((event) => { + tooltipToggleEl.addEventListener(event, show); + }); + hideEvents.forEach((event) => { + tooltipToggleEl.addEventListener(event, hide); + }); +} +// Tooltip elements using [data-tooltip-target], [data-tooltip-placement] \ No newline at end of file diff --git a/public/akaunting-js/hotkeys.js b/public/akaunting-js/hotkeys.js new file mode 100644 index 000000000..c0d6774f4 --- /dev/null +++ b/public/akaunting-js/hotkeys.js @@ -0,0 +1,62 @@ +let shortcuts; + +axios.get('public/shortcuts-config.json') + .then(function (response) { + shortcuts = response.data + }) + +const handlePageEvent = (event, routeData) => { + const hotkeys = Object.keys(routeData); + + hotkeys.includes([event.code]) + ? routeData[event.code]() //type of function - to execute when the event happens + : {} +}; + +const handlePrint = () => { + window.location.replace(window.location.href + '/print'); +}; + +const handleKeydown = (event) => { + const keyName = event.key; + const urlPath = window.location.href; + const constainsDocID = !isNaN(urlPath.substr(-1)); + + if (keyName === ('Meta' || 'Control' || 'Alt')) { + return; + } + + if (event.metaKey || event.ctrlKey) { + const action = shortcuts.ctrlKey[event.code]; + + action + ? (event.preventDefault(), handleShortCuts(action)) + : {}; + } + + if (event.altKey) { + const action = shortcuts.altKey[event.code]; + + action + ? handleShortCuts(action) + : {}; + } + + const matchingRoute = Object.keys(shortcuts.pages).filter(route => urlPath.includes(route)); + + matchingRoute + ? constainsDocID && event.code === 'KeyP' + ? handlePrint() + : handlePageEvent(event, matchingRoute) + : {}; +}; + +const handleShortCuts = (target) => { + let targetURL = url + target; + + window.location.replace(targetURL); +}; + +document.addEventListener('keydown', (event) => { + handleKeydown(event) +}, false); diff --git a/public/akaunting-js/popper.js b/public/akaunting-js/popper.js new file mode 100644 index 000000000..795bcce4f --- /dev/null +++ b/public/akaunting-js/popper.js @@ -0,0 +1,6 @@ +/** + * @popperjs/core v2.11.5 - MIT License + */ + + !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),o=1,i=1;if(r(e)&&t){var a=e.offsetHeight,f=e.offsetWidth;f>0&&(o=s(n.width)/f||1),a>0&&(i=s(n.height)/a||1)}return{width:n.width/o,height:n.height/i,top:n.top/i,right:n.right/o,bottom:n.bottom/i,left:n.left/o,x:n.left/o,y:n.top/i}}function c(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function p(e){return e?(e.nodeName||"").toLowerCase():null}function u(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function l(e){return f(u(e)).left+c(e).scrollLeft}function d(e){return t(e).getComputedStyle(e)}function h(e){var t=d(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function m(e,n,o){void 0===o&&(o=!1);var i,a,d=r(n),m=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),v=u(n),g=f(e,m),y={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(d||!d&&!o)&&(("body"!==p(n)||h(v))&&(y=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:c(i)),r(n)?((b=f(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):v&&(b.x=l(v))),{x:g.left+y.scrollLeft-b.x,y:g.top+y.scrollTop-b.y,width:g.width,height:g.height}}function v(e){var t=f(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function g(e){return"html"===p(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||u(e)}function y(e){return["html","body","#document"].indexOf(p(e))>=0?e.ownerDocument.body:r(e)&&h(e)?e:y(g(e))}function b(e,n){var r;void 0===n&&(n=[]);var o=y(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],h(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(b(g(s)))}function x(e){return["table","td","th"].indexOf(p(e))>=0}function w(e){return r(e)&&"fixed"!==d(e).position?e.offsetParent:null}function O(e){for(var n=t(e),i=w(e);i&&x(i)&&"static"===d(i).position;)i=w(i);return i&&("html"===p(i)||"body"===p(i)&&"static"===d(i).position)?n:i||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&r(e)&&"fixed"===d(e).position)return null;var n=g(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(p(n))<0;){var i=d(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var j="top",E="bottom",D="right",A="left",L="auto",P=[j,E,D,A],M="start",k="end",W="viewport",B="popper",H=P.reduce((function(e,t){return e.concat([t+"-"+M,t+"-"+k])}),[]),T=[].concat(P,[L]).reduce((function(e,t){return e.concat([t,t+"-"+M,t+"-"+k])}),[]),R=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function S(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function q(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function V(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function N(e,r){return r===W?V(function(e){var n=t(e),r=u(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,f=0;return o&&(i=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,f=o.offsetTop)),{width:i,height:a,x:s+l(e),y:f}}(e)):n(r)?function(e){var t=f(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(r):V(function(e){var t,n=u(e),r=c(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+l(e),p=-r.scrollTop;return"rtl"===d(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:p}}(u(e)))}function I(e,t,o){var s="clippingParents"===t?function(e){var t=b(g(e)),o=["absolute","fixed"].indexOf(d(e).position)>=0&&r(e)?O(e):e;return n(o)?t.filter((function(e){return n(e)&&q(e,o)&&"body"!==p(e)})):[]}(e):[].concat(t),f=[].concat(s,[o]),c=f[0],u=f.reduce((function(t,n){var r=N(e,n);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),N(e,c));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function _(e){return e.split("-")[1]}function F(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function U(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?_(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case j:t={x:s,y:n.y-r.height};break;case E:t={x:s,y:n.y+n.height};break;case D:t={x:n.x+n.width,y:f};break;case A:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?F(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case M:t[c]=t[c]-(n[p]/2-r[p]/2);break;case k:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function z(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function X(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Y(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.boundary,s=void 0===a?"clippingParents":a,c=r.rootBoundary,p=void 0===c?W:c,l=r.elementContext,d=void 0===l?B:l,h=r.altBoundary,m=void 0!==h&&h,v=r.padding,g=void 0===v?0:v,y=z("number"!=typeof g?g:X(g,P)),b=d===B?"reference":B,x=e.rects.popper,w=e.elements[m?b:d],O=I(n(w)?w:w.contextElement||u(e.elements.popper),s,p),A=f(e.elements.reference),L=U({reference:A,element:x,strategy:"absolute",placement:i}),M=V(Object.assign({},x,L)),k=d===B?M:A,H={top:O.top-k.top+y.top,bottom:k.bottom-O.bottom+y.bottom,left:O.left-k.left+y.left,right:k.right-O.right+y.right},T=e.modifiersData.offset;if(d===B&&T){var R=T[i];Object.keys(H).forEach((function(e){var t=[D,E].indexOf(e)>=0?1:-1,n=[j,E].indexOf(e)>=0?"y":"x";H[e]+=R[n]*t}))}return H}var G={placement:"bottom",modifiers:[],strategy:"absolute"};function J(){for(var e=arguments.length,t=new Array(e),n=0;n=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[A,D].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},ie={left:"right",right:"left",bottom:"top",top:"bottom"};function ae(e){return e.replace(/left|right|bottom|top/g,(function(e){return ie[e]}))}var se={start:"end",end:"start"};function fe(e){return e.replace(/start|end/g,(function(e){return se[e]}))}function ce(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?T:f,p=_(r),u=p?s?H:H.filter((function(e){return _(e)===p})):P,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=Y(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var pe={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,g=C(v),y=f||(g===v||!h?[ae(v)]:function(e){if(C(e)===L)return[];var t=ae(e);return[fe(e),t,fe(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(C(n)===L?ce(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,P=!0,k=b[0],W=0;W=0,S=R?"width":"height",q=Y(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),V=R?T?D:A:T?E:j;x[S]>w[S]&&(V=ae(V));var N=ae(V),I=[];if(i&&I.push(q[H]<=0),s&&I.push(q[V]<=0,q[N]<=0),I.every((function(e){return e}))){k=B,P=!1;break}O.set(B,I)}if(P)for(var F=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},U=h?3:1;U>0;U--){if("break"===F(U))break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ue(e,t,n){return i(e,a(t,n))}var le={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,g=n.tetherOffset,y=void 0===g?0:g,b=Y(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=_(t.placement),L=!w,P=F(x),k="x"===P?"y":"x",W=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,q={x:0,y:0};if(W){if(s){var V,N="y"===P?j:A,I="y"===P?E:D,U="y"===P?"height":"width",z=W[P],X=z+b[N],G=z-b[I],J=m?-H[U]/2:0,K=w===M?B[U]:H[U],Q=w===M?-H[U]:-B[U],Z=t.elements.arrow,$=m&&Z?v(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=ue(0,B[U],$[U]),oe=L?B[U]/2-J-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=L?-B[U]/2+J+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&O(t.elements.arrow),se=ae?"y"===P?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(V=null==S?void 0:S[P])?V:0,ce=z+ie-fe,pe=ue(m?a(X,z+oe-fe-se):X,z,m?i(G,ce):G);W[P]=pe,q[P]=pe-z}if(c){var le,de="x"===P?j:A,he="x"===P?E:D,me=W[k],ve="y"===k?"height":"width",ge=me+b[de],ye=me-b[he],be=-1!==[j,A].indexOf(x),xe=null!=(le=null==S?void 0:S[k])?le:0,we=be?ge:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ye,je=m&&be?function(e,t,n){var r=ue(e,t,n);return r>n?n:r}(we,me,Oe):ue(m?we:ge,me,m?Oe:ye);W[k]=je,q[k]=je-me}t.modifiersData[r]=q}},requiresIfExists:["offset"]};var de={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=F(s),c=[A,D].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return z("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:X(e,P))}(o.padding,n),u=v(i),l="y"===f?j:A,d="y"===f?E:D,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],g=O(i),y=g?"y"===f?g.clientHeight||0:g.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],L=y/2-u[c]/2+b,M=ue(x,L,w),k=f;n.modifiersData[r]=((t={})[k]=M,t.centerOffset=M-L,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&q(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function me(e){return[j,D,E,A].some((function(t){return e[t]>=0}))}var ve={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=Y(t,{elementContext:"reference"}),s=Y(t,{altBoundary:!0}),f=he(a,r),c=he(s,o,i),p=me(f),u=me(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},ge=K({defaultModifiers:[Z,$,ne,re]}),ye=[Z,$,ne,re,oe,pe,le,de,ve],be=K({defaultModifiers:ye});e.applyStyles=re,e.arrow=de,e.computeStyles=ne,e.createPopper=be,e.createPopperLite=ge,e.defaultModifiers=ye,e.detectOverflow=Y,e.eventListeners=Z,e.flip=pe,e.hide=ve,e.offset=oe,e.popperGenerator=K,e.popperOffsets=$,e.preventOverflow=le,Object.defineProperty(e,"__esModule",{value:!0})})); + //# sourceMappingURL=popper.min.js.map \ No newline at end of file diff --git a/public/akaunting-js/swiper-bundle.min.js b/public/akaunting-js/swiper-bundle.min.js new file mode 100644 index 000000000..991d1e0c7 --- /dev/null +++ b/public/akaunting-js/swiper-bundle.min.js @@ -0,0 +1,14 @@ +/** + * Swiper 7.4.1 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2021 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: December 24, 2021 + */ + + !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s={},a={}){Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}class n extends Array{constructor(e){super(...e||[]),function(e){const t=e.__proto__;Object.defineProperty(e,"__proto__",{get:()=>t,set(e){t.__proto__=e}})}(this)}}function l(e=[]){const t=[];return e.forEach((e=>{Array.isArray(e)?t.push(...l(e)):t.push(e)})),t}function o(e,t){return Array.prototype.filter.call(e,t)}function d(e,t){const s=r(),i=a();let l=[];if(!t&&e instanceof n)return e;if(!e)return new n(l);if("string"==typeof e){const s=e.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){let e="div";0===s.indexOf("e.split(" "))));return this.forEach((e=>{e.classList.add(...t)})),this},removeClass:function(...e){const t=l(e.map((e=>e.split(" "))));return this.forEach((e=>{e.classList.remove(...t)})),this},hasClass:function(...e){const t=l(e.map((e=>e.split(" "))));return o(this,(e=>t.filter((t=>e.classList.contains(t))).length>0)).length>0},toggleClass:function(...e){const t=l(e.map((e=>e.split(" "))));this.forEach((e=>{t.forEach((t=>{e.classList.toggle(t)}))}))},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(let s=0;s=0;e-=1){const s=n[e];a&&s.listener===a||a&&s.listener&&s.listener.dom7proxy&&s.listener.dom7proxy===a?(r.removeEventListener(t,s.proxyListener,i),n.splice(e,1)):a||(r.removeEventListener(t,s.proxyListener,i),n.splice(e,1))}}}return this},trigger:function(...e){const t=r(),s=e[0].split(" "),a=e[1];for(let i=0;it>0)),i.dispatchEvent(s),i.dom7EventData=[],delete i.dom7EventData}}}return this},transitionEnd:function(e){const t=this;return e&&t.on("transitionend",(function s(a){a.target===this&&(e.call(this,a),t.off("transitionend",s))})),this},outerWidth:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){const e=r();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){const e=r(),t=a(),s=this[0],i=s.getBoundingClientRect(),n=t.body,l=s.clientTop||n.clientTop||0,o=s.clientLeft||n.clientLeft||0,d=s===e?e.scrollY:s.scrollTop,p=s===e?e.scrollX:s.scrollLeft;return{top:i.top+d-l,left:i.left+p-o}}return null},css:function(e,t){const s=r();let a;if(1===arguments.length){if("string"!=typeof e){for(a=0;a{e.apply(t,[t,s])})),this):this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:null;for(let t=0;tt-1)return d([]);if(e<0){const s=t+e;return d(s<0?[]:[this[s]])}return d([this[e]])},append:function(...e){let t;const s=a();for(let a=0;a=0;i-=1)this[s].insertBefore(a.childNodes[i],this[s].childNodes[0])}else if(e instanceof n)for(i=0;i0?e?this[0].nextElementSibling&&d(this[0].nextElementSibling).is(e)?d([this[0].nextElementSibling]):d([]):this[0].nextElementSibling?d([this[0].nextElementSibling]):d([]):d([])},nextAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.nextElementSibling;){const a=s.nextElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},prev:function(e){if(this.length>0){const t=this[0];return e?t.previousElementSibling&&d(t.previousElementSibling).is(e)?d([t.previousElementSibling]):d([]):t.previousElementSibling?d([t.previousElementSibling]):d([])}return d([])},prevAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.previousElementSibling;){const a=s.previousElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},parent:function(e){const t=[];for(let s=0;s6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function m(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function f(...e){const t=Object(e[0]),s=["__proto__","constructor","prototype"];for(let i=1;is.indexOf(e)<0));for(let s=0,a=e.length;si?"next":"prev",p=(e,t)=>"next"===d&&e>=t||"prev"===d&&e<=t,c=()=>{n=(new Date).getTime(),null===l&&(l=n);const r=Math.max(Math.min((n-l)/o,1),0),d=.5-Math.cos(r*Math.PI)/2;let u=i+d*(t-i);if(p(u,t)&&(u=t),e.wrapperEl.scrollTo({[s]:u}),p(u,t))return e.wrapperEl.style.overflow="hidden",e.wrapperEl.style.scrollSnapType="",setTimeout((()=>{e.wrapperEl.style.overflow="",e.wrapperEl.scrollTo({[s]:u})})),void a.cancelAnimationFrame(e.cssModeFrameID);e.cssModeFrameID=a.requestAnimationFrame(c)};c()}let w,b,x;function y(){return w||(w=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch),passiveListener:function(){let t=!1;try{const s=Object.defineProperty({},"passive",{get(){t=!0}});e.addEventListener("testPassiveListener",null,s)}catch(e){}return t}(),gestures:"ongesturestart"in e}}()),w}function E(e={}){return b||(b=function({userAgent:e}={}){const t=y(),s=r(),a=s.navigator.platform,i=e||s.navigator.userAgent,n={ios:!1,android:!1},l=s.screen.width,o=s.screen.height,d=i.match(/(Android);?[\s\/]+([\d.]+)?/);let p=i.match(/(iPad).*OS\s([\d_]+)/);const c=i.match(/(iPod)(.*OS\s([\d_]+))?/),u=!p&&i.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===a;let m="MacIntel"===a;return!p&&m&&t.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${l}x${o}`)>=0&&(p=i.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),m=!1),d&&!h&&(n.os="android",n.android=!0),(p||u||c)&&(n.os="ios",n.ios=!0),n}(e)),b}function T(){return x||(x=function(){const e=r();return{isSafari:function(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),x}Object.keys(p).forEach((e=>{Object.defineProperty(d.fn,e,{value:p[e],writable:!0})}));var C={on(e,t,s){const a=this;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if("function"!=typeof t)return a;function i(...s){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy,t.apply(a,s)}return i.__emitterProxy=t,a.on(e,i,s)},onAny(e,t){const s=this;if("function"!=typeof e)return s;const a=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[a](e),s},offAny(e){const t=this;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(...e){const t=this;if(!t.eventsListeners)return t;let s,a,i;"string"==typeof e[0]||Array.isArray(e[0])?(s=e[0],a=e.slice(1,e.length),i=t):(s=e[0].events,a=e[0].data,i=e[0].context||t),a.unshift(i);return(Array.isArray(s)?s:s.split(" ")).forEach((e=>{t.eventsAnyListeners&&t.eventsAnyListeners.length&&t.eventsAnyListeners.forEach((t=>{t.apply(i,[e,...a])})),t.eventsListeners&&t.eventsListeners[e]&&t.eventsListeners[e].forEach((e=>{e.apply(i,a)}))})),t}};function $({swiper:e,runCallbacks:t,direction:s,step:a}){const{activeIndex:i,previousIndex:r}=e;let n=s;if(n||(n=i>r?"next":i0)return;if(n.isTouched&&n.isMoved)return;!!l.noSwipingClass&&""!==l.noSwipingClass&&c.target&&c.target.shadowRoot&&e.path&&e.path[0]&&(h=d(e.path[0]));const m=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!c.target||!c.target.shadowRoot);if(l.noSwiping&&(f?function(e,t=this){return function t(s){return s&&s!==a()&&s!==r()?(s.assignedSlot&&(s=s.assignedSlot),s.closest(e)||t(s.getRootNode().host)):null}(t)}(m,c.target):h.closest(m)[0]))return void(t.allowClick=!0);if(l.swipeHandler&&!h.closest(l.swipeHandler)[0])return;o.currentX="touchstart"===c.type?c.targetTouches[0].pageX:c.pageX,o.currentY="touchstart"===c.type?c.targetTouches[0].pageY:c.pageY;const g=o.currentX,v=o.currentY,w=l.edgeSwipeDetection||l.iOSEdgeSwipeDetection,b=l.edgeSwipeThreshold||l.iOSEdgeSwipeThreshold;if(w&&(g<=b||g>=i.innerWidth-b)){if("prevent"!==w)return;e.preventDefault()}if(Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=g,o.startY=v,n.touchStartTime=u(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1),"touchstart"!==c.type){let e=!0;h.is(n.focusableElements)&&(e=!1),s.activeElement&&d(s.activeElement).is(n.focusableElements)&&s.activeElement!==h[0]&&s.activeElement.blur();const a=e&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!a||h[0].isContentEditable||c.preventDefault()}t.emit("touchStart",c)}function M(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:o}=s;if(!o)return;let p=e;if(p.originalEvent&&(p=p.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",p));if(i.isTouchEvent&&"touchmove"!==p.type)return;const c="touchmove"===p.type&&p.targetTouches&&(p.targetTouches[0]||p.changedTouches[0]),h="touchmove"===p.type?c.pageX:p.pageX,m="touchmove"===p.type?c.pageY:p.pageY;if(p.preventedByNestedSwiper)return n.startX=h,void(n.startY=m);if(!s.allowTouchMove)return s.allowClick=!1,void(i.isTouched&&(Object.assign(n,{startX:h,startY:m,currentX:h,currentY:m}),i.touchStartTime=u()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(hn.startX&&s.translate>=s.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&p.target===t.activeElement&&d(p.target).is(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);if(i.allowTouchCallbacks&&s.emit("touchMove",p),p.targetTouches&&p.targetTouches.length>1)return;n.currentX=h,n.currentY=m;const f=n.currentX-n.startX,g=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+g**2)=25&&(e=180*Math.atan2(Math.abs(g),Math.abs(f))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",p),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation(),i.isMoved||(r.loop&&!r.cssMode&&s.loopFix(),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating&&s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)),s.emit("sliderMove",p),i.isMoved=!0;let v=s.isHorizontal()?f:g;n.diff=v,v*=r.touchRatio,l&&(v=-v),s.swipeDirection=v>0?"prev":"next",i.currentTranslate=v+i.startTranslate;let w=!0,b=r.resistanceRatio;if(r.touchReleaseOnEdges&&(b=0),v>0&&i.currentTranslate>s.minTranslate()?(w=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+v)**b)):v<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(v)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),s.params.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function P(e){const t=this,s=t.touchEventsData,{params:a,touches:i,rtlTranslate:r,slidesGrid:n,enabled:l}=t;if(!l)return;let o=e;if(o.originalEvent&&(o=o.originalEvent),s.allowTouchCallbacks&&t.emit("touchEnd",o),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&a.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);a.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const d=u(),p=d-s.touchStartTime;if(t.allowClick){const e=o.path||o.composedPath&&o.composedPath();t.updateClickedSlide(e&&e[0]||o.target),t.emit("tap click",o),p<300&&d-s.lastClickTime<300&&t.emit("doubleTap doubleClick",o)}if(s.lastClickTime=u(),c((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===i.diff||s.currentTranslate===s.startTranslate)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=a.followFinger?r?t.translate:-t.translate:-s.currentTranslate,a.cssMode)return;if(t.params.freeMode&&a.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});let m=0,f=t.slidesSizesGrid[0];for(let e=0;e=n[e]&&h=n[e]&&(m=e,f=n[n.length-1]-n[n.length-2])}const g=(h-n[m])/f,v=ma.longSwipesMs){if(!a.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(g>=a.longSwipesRatio?t.slideTo(m+v):t.slideTo(m)),"prev"===t.swipeDirection&&(g>1-a.longSwipesRatio?t.slideTo(m+v):t.slideTo(m))}else{if(!a.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(o.target===t.navigation.nextEl||o.target===t.navigation.prevEl)?o.target===t.navigation.nextEl?t.slideTo(m+v):t.slideTo(m):("next"===t.swipeDirection&&t.slideTo(m+v),"prev"===t.swipeDirection&&t.slideTo(m))}}function k(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function z(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function O(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,-0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}let I=!1;function L(){}const A=(e,t)=>{const s=a(),{params:i,touchEvents:r,el:n,wrapperEl:l,device:o,support:d}=e,p=!!i.nested,c="on"===t?"addEventListener":"removeEventListener",u=t;if(d.touch){const t=!("touchstart"!==r.start||!d.passiveListener||!i.passiveListeners)&&{passive:!0,capture:!1};n[c](r.start,e.onTouchStart,t),n[c](r.move,e.onTouchMove,d.passiveListener?{passive:!1,capture:p}:p),n[c](r.end,e.onTouchEnd,t),r.cancel&&n[c](r.cancel,e.onTouchEnd,t)}else n[c](r.start,e.onTouchStart,!1),s[c](r.move,e.onTouchMove,p),s[c](r.end,e.onTouchEnd,!1);(i.preventClicks||i.preventClicksPropagation)&&n[c]("click",e.onClick,!0),i.cssMode&&l[c]("scroll",e.onScroll),i.updateOnWindowResize?e[u](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",k,!0):e[u]("observerUpdate",k,!0)};const D=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var G={init:!0,direction:"horizontal",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function N(e,t){return function(s={}){const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(["navigation","pagination","scrollbar"].indexOf(a)>=0&&!0===e[a]&&(e[a]={auto:!0}),a in e&&"enabled"in i?(!0===e[a]&&(e[a]={enabled:!0}),"object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),f(t,s)):f(t,s)):f(t,s)}}const B={eventsEmitter:C,update:{updateSize:function(){const e=this;let t,s;const a=e.$el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a[0].clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a[0].clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(a.css("padding-left")||0,10)-parseInt(a.css("padding-right")||0,10),s=s-parseInt(a.css("padding-top")||0,10)-parseInt(a.css("padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t){return e.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}function s(e,s){return parseFloat(e.getPropertyValue(t(s))||0)}const a=e.params,{$wrapperEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&a.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,p=i.children(`.${e.params.slideClass}`),c=o?e.virtual.slides.length:p.length;let u=[];const h=[],m=[];let f=a.slidesOffsetBefore;"function"==typeof f&&(f=a.slidesOffsetBefore.call(e));let v=a.slidesOffsetAfter;"function"==typeof v&&(v=a.slidesOffsetAfter.call(e));const w=e.snapGrid.length,b=e.slidesGrid.length;let x=a.spaceBetween,y=-f,E=0,T=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0&&(x=parseFloat(x.replace("%",""))/100*r),e.virtualSize=-x,n?p.css({marginLeft:"",marginBottom:"",marginTop:""}):p.css({marginRight:"",marginBottom:"",marginTop:""}),a.centeredSlides&&a.cssMode&&(g(e.wrapperEl,"--swiper-centered-offset-before",""),g(e.wrapperEl,"--swiper-centered-offset-after",""));const C=a.grid&&a.grid.rows>1&&e.grid;let $;C&&e.grid.initSlides(c);const S="auto"===a.slidesPerView&&a.breakpoints&&Object.keys(a.breakpoints).filter((e=>void 0!==a.breakpoints[e].slidesPerView)).length>0;for(let i=0;i1&&u.push(e.virtualSize-r)}if(0===u.length&&(u=[0]),0!==a.spaceBetween){const s=e.isHorizontal()&&n?"marginLeft":t("marginRight");p.filter(((e,t)=>!a.cssMode||t!==p.length-1)).css({[s]:`${x}px`})}if(a.centeredSlides&&a.centeredSlidesBounds){let e=0;m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween;const t=e-r;u=u.map((e=>e<0?-f:e>t?t+v:e))}if(a.centerInsufficientSlides){let e=0;if(m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween,e{u[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:p,snapGrid:u,slidesGrid:h,slidesSizesGrid:m}),a.centeredSlides&&a.cssMode&&!a.centeredSlidesBounds){g(e.wrapperEl,"--swiper-centered-offset-before",-u[0]+"px"),g(e.wrapperEl,"--swiper-centered-offset-after",e.size/2-m[m.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}c!==d&&e.emit("slidesLengthChange"),u.length!==w&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==b&&e.emit("slidesGridLengthChange"),a.watchSlidesProgress&&e.updateSlidesOffset()},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides.filter((t=>parseInt(t.getAttribute("data-swiper-slide-index"),10)===e))[0]:t.slides.eq(e)[0];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)t.visibleSlides.each((e=>{s.push(e)}));else for(i=0;it.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;ir?e:r}(r||0===r)&&t.$wrapperEl.css("height",`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides;for(let s=0;s=0&&c1&&u<=t.size||c<=0&&u>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(e),a.eq(e).addClass(s.slideVisibleClass)),l.progress=i?-d:d,l.originalProgress=i?-p:p}t.visibleSlides=d(t.visibleSlides)},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n}=t;const l=r,o=n;0===a?(i=0,r=!0,n=!0):(i=(e-t.minTranslate())/a,r=i<=0,n=i>=1),Object.assign(t,{progress:i,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!l&&t.emit("reachBeginning toEdge"),n&&!o&&t.emit("reachEnd toEdge"),(l&&!r||o&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,$wrapperEl:a,activeIndex:i,realIndex:r}=e,n=e.virtual&&s.virtual.enabled;let l;t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`),l=n?e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${i}"]`):t.eq(i),l.addClass(s.slideActiveClass),s.loop&&(l.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));let o=l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);s.loop&&0===o.length&&(o=t.eq(0),o.addClass(s.slideNextClass));let d=l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);s.loop&&0===d.length&&(d=t.eq(-1),d.addClass(s.slidePrevClass)),s.loop&&(o.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass),d.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{slidesGrid:a,snapGrid:i,params:r,activeIndex:n,realIndex:l,snapIndex:o}=t;let d,p=e;if(void 0===p){for(let e=0;e=a[e]&&s=a[e]&&s=a[e]&&(p=e);r.normalizeSlideIndex&&(p<0||void 0===p)&&(p=0)}if(i.indexOf(s)>=0)d=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,p);d=e+Math.floor((p-e)/r.slidesPerGroup)}if(d>=i.length&&(d=i.length-1),p===n)return void(d!==o&&(t.snapIndex=d,t.emit("snapIndexChange")));const c=parseInt(t.slides.eq(p).attr("data-swiper-slide-index")||p,10);Object.assign(t,{snapIndex:d,realIndex:c,previousIndex:n,activeIndex:p}),t.emit("activeIndexChange"),t.emit("snapIndexChange"),l!==c&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")},updateClickedSlide:function(e){const t=this,s=t.params,a=d(e).closest(`.${s.slideClass}`)[0];let i,r=!1;if(a)for(let e=0;eo?o:a&&e=o.length&&(g=o.length-1),(c||l.initialSlide||0)===(p||0)&&s&&r.emit("beforeSlideChangeStart");const w=-o[g];if(r.updateProgress(w),l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==c){if(!r.allowSlideNext&&wr.translate&&w>r.maxTranslate()&&(c||0)!==n)return!1}let b;if(b=n>c?"next":n{r.wrapperEl.style.scrollSnapType="",r._swiperImmediateVirtual=!1}))}else{if(!r.support.smoothScroll)return v({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e=0,t=this.params.speed,s=!0,a){const i=this;let r=e;return i.params.loop&&(r+=i.loopedSlides),i.slideTo(r,t,s,a)},slideNext:function(e=this.params.speed,t=!0,s){const a=this,{animating:i,enabled:r,params:n}=a;if(!r)return a;let l=n.slidesPerGroup;"auto"===n.slidesPerView&&1===n.slidesPerGroup&&n.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndexp(e)));let h=n[u.indexOf(c)-1];if(void 0===h&&i.cssMode){let e;n.forEach(((t,s)=>{c>=t&&(e=s)})),void 0!==e&&(h=n[e>0?e-1:e])}let m=0;return void 0!==h&&(m=l.indexOf(h),m<0&&(m=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(m=m-a.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),i.rewind&&a.isBeginning?a.slideTo(a.slides.length-1,e,t,s):a.slideTo(m,e,t,s)},slideReset:function(e=this.params.speed,t=!0,s){return this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e=this.params.speed,t=!0,s,a=.5){const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,$wrapperEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;if(t.loop){if(e.animating)return;i=parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),c((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),c((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}},loop:{loopCreate:function(){const e=this,t=a(),{params:s,$wrapperEl:i}=e,r=i.children().length>0?d(i.children()[0].parentNode):i;r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();let n=r.children(`.${s.slideClass}`);if(s.loopFillGroupWithBlank){const e=s.slidesPerGroup-n.length%s.slidesPerGroup;if(e!==s.slidesPerGroup){for(let a=0;an.length&&(e.loopedSlides=n.length);const l=[],o=[];n.each(((t,s)=>{const a=d(t);s=n.length-e.loopedSlides&&l.push(t),a.attr("data-swiper-slide-index",s)}));for(let e=0;e=0;e-=1)r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass))},loopFix:function(){const e=this;e.emit("beforeLoopFix");const{activeIndex:t,slides:s,loopedSlides:a,allowSlidePrev:i,allowSlideNext:r,snapGrid:n,rtlTranslate:l}=e;let o;e.allowSlidePrev=!0,e.allowSlideNext=!0;const d=-n[t]-e.getTranslate();if(t=s.length-a){o=-s.length+t+a,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}e.allowSlidePrev=i,e.allowSlideNext=r,e.emit("loopFix")},loopDestroy:function(){const{$wrapperEl:e,params:t,slides:s}=this;e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(),s.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(e){const t=this;if(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;s.style.cursor="move",s.style.cursor=e?"-webkit-grabbing":"-webkit-grab",s.style.cursor=e?"-moz-grabbin":"-moz-grab",s.style.cursor=e?"grabbing":"grab"},unsetGrabCursor:function(){const e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="")}},events:{attachEvents:function(){const e=this,t=a(),{params:s,support:i}=e;e.onTouchStart=S.bind(e),e.onTouchMove=M.bind(e),e.onTouchEnd=P.bind(e),s.cssMode&&(e.onScroll=O.bind(e)),e.onClick=z.bind(e),i.touch&&!I&&(t.addEventListener("touchstart",L),I=!0),A(e,"on")},detachEvents:function(){A(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{activeIndex:t,initialized:s,loopedSlides:a=0,params:i,$el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!l||e.currentBreakpoint===l)return;const o=(l in n?n[l]:void 0)||e.originalParams,d=D(e,i),p=D(e,o),c=i.enabled;d&&!p?(r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!d&&p&&(r.addClass(`${i.containerModifierClass}grid`),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===i.grid.fill)&&r.addClass(`${i.containerModifierClass}grid-column`),e.emitContainerClasses());const u=o.direction&&o.direction!==i.direction,h=i.loop&&(o.slidesPerView!==i.slidesPerView||u);u&&s&&e.changeDirection(),f(e.params,o);const m=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),c&&!m?e.disable():!c&&m&&e.enable(),e.currentBreakpoint=l,e.emit("_beforeBreakpoint",o),h&&s&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-a+e.loopedSlides,0,!1)),e.emit("breakpoint",o)},getBreakpoint:function(e,t="window",s){if(!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,$el:i,device:r,support:n}=e,l=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"pointer-events":!n.touch},{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides}],s.containerModifierClass);t.push(...l),i.addClass([...t].join(" ")),e.emitContainerClasses()},removeClasses:function(){const{$el:e,classNames:t}=this;e.removeClass(t.join(" ")),this.emitContainerClasses()}},images:{loadImage:function(e,t,s,a,i,n){const l=r();let o;function p(){n&&n()}d(e).parent("picture")[0]||e.complete&&i?p():t?(o=new l.Image,o.onload=p,o.onerror=p,a&&(o.sizes=a),s&&(o.srcset=s),t&&(o.src=t)):p()},preloadImages:function(){const e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(let s=0;s1){const e=[];return d(s.el).each((t=>{const a=f({},s,{el:t});e.push(new H(a))})),e}const a=this;a.__swiper__=!0,a.support=y(),a.device=E({userAgent:s.userAgent}),a.browser=T(),a.eventsListeners={},a.eventsAnyListeners=[],a.modules=[...a.__modules__],s.modules&&Array.isArray(s.modules)&&a.modules.push(...s.modules);const i={};a.modules.forEach((e=>{e({swiper:a,extendParams:N(s,i),on:a.on.bind(a),once:a.once.bind(a),off:a.off.bind(a),emit:a.emit.bind(a)})}));const r=f({},G,i);return a.params=f({},r,X,s),a.originalParams=f({},a.params),a.passedParams=f({},s),a.params&&a.params.on&&Object.keys(a.params.on).forEach((e=>{a.on(e,a.params.on[e])})),a.params&&a.params.onAny&&a.onAny(a.params.onAny),a.$=d,Object.assign(a,{enabled:a.params.enabled,el:t,classNames:[],slides:d(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===a.params.direction,isVertical:()=>"vertical"===a.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:a.params.allowSlideNext,allowSlidePrev:a.params.allowSlidePrev,touchEvents:function(){const e=["touchstart","touchmove","touchend","touchcancel"],t=["pointerdown","pointermove","pointerup"];return a.touchEventsTouch={start:e[0],move:e[1],end:e[2],cancel:e[3]},a.touchEventsDesktop={start:t[0],move:t[1],end:t[2]},a.support.touch||!a.params.simulateTouch?a.touchEventsTouch:a.touchEventsDesktop}(),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:a.params.focusableElements,lastClickTime:u(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.emit("_swiper"),a.params.init&&a.init(),a}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.each((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e="current",t=!1){const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if(s.centeredSlides){let e,t=a[l].swiperSlideSize;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){i[l]-i[e]1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),i||a()),s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t=!0){const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.each((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}mount(e){const t=this;if(t.mounted)return!0;const s=d(e||t.params.el);if(!(e=s[0]))return!1;e.swiper=t;const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(e&&e.shadowRoot&&e.shadowRoot.querySelector){const t=d(e.shadowRoot.querySelector(i()));return t.children=e=>s.children(e),t}return s.children(i())})();if(0===r.length&&t.params.createElements){const e=a().createElement("div");r=d(e),e.className=t.params.wrapperClass,s.append(e),s.children(`.${t.params.slideClass}`).each((e=>{r.append(e)}))}return Object.assign(t,{$el:s,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0}init(e){const t=this;if(t.initialized)return t;return!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.params.loop?t.slideTo(t.params.initialSlide+t.loopedSlides,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t}destroy(e=!0,t=!0){const s=this,{params:a,$el:i,$wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([a.slideVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.$el[0].swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){f(X,e)}static get extendedDefaults(){return X}static get defaults(){return G}static installModule(e){H.prototype.__modules__||(H.prototype.__modules__=[]);const t=H.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>H.installModule(e))),H):(H.installModule(e),H)}}function Y(e,t,s,i){const r=a();return e.params.createElements&&Object.keys(i).forEach((a=>{if(!s[a]&&!0===s.auto){let n=e.$el.children(`.${i[a]}`)[0];n||(n=r.createElement("div"),n.className=i[a],e.$el.append(n)),s[a]=n,t[a]=n}})),s}function W(e=""){return`.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}`}function R(e){const t=this,{$wrapperEl:s,params:a}=t;if(a.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides.eq(t);e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else a.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)}))}function U(e,t){return e.transformEl?t.find(e.transformEl).css({"backface-visibility":"hidden","-webkit-backface-visibility":"hidden"}):t}function K({swiper:e,duration:t,transformEl:s,allSlides:a}){const{slides:i,activeIndex:r,$wrapperEl:n}=e;if(e.params.virtualTranslate&&0!==t){let t,l=!1;t=a?s?i.find(s):i:s?i.eq(r).find(s):i.eq(r),t.transitionEnd((()=>{if(l)return;if(!e||e.destroyed)return;l=!0,e.animating=!1;const t=["webkitTransitionEnd","transitionend"];for(let e=0;e`),i.append(r)),r}Object.keys(B).forEach((e=>{Object.keys(B[e]).forEach((t=>{H.prototype[t]=B[e][t]}))})),H.use([function({swiper:e,on:t,emit:s}){const a=r();let i=null;const n=()=>{e&&!e.destroyed&&e.initialized&&(s("beforeResize"),s("resize"))},l=()=>{e&&!e.destroyed&&e.initialized&&s("orientationchange")};t("init",(()=>{e.params.resizeObserver&&void 0!==a.ResizeObserver?e&&!e.destroyed&&e.initialized&&(i=new ResizeObserver((t=>{const{width:s,height:a}=e;let i=s,r=a;t.forEach((({contentBoxSize:t,contentRect:s,target:a})=>{a&&a!==e.el||(i=s?s.width:(t[0]||t).inlineSize,r=s?s.height:(t[0]||t).blockSize)})),i===s&&r===a||n()})),i.observe(e.el)):(a.addEventListener("resize",n),a.addEventListener("orientationchange",l))})),t("destroy",(()=>{i&&i.unobserve&&e.el&&(i.unobserve(e.el),i=null),a.removeEventListener("resize",n),a.removeEventListener("orientationchange",l)}))},function({swiper:e,extendParams:t,on:s,emit:a}){const i=[],n=r(),l=(e,t={})=>{const s=new(n.MutationObserver||n.WebkitMutationObserver)((e=>{if(1===e.length)return void a("observerUpdate",e[0]);const t=function(){a("observerUpdate",e[0])};n.requestAnimationFrame?n.requestAnimationFrame(t):n.setTimeout(t,0)}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),i.push(s)};t({observer:!1,observeParents:!1,observeSlideChildren:!1}),s("init",(()=>{if(e.params.observer){if(e.params.observeParents){const t=e.$el.parents();for(let e=0;e{i.forEach((e=>{e.disconnect()})),i.splice(0,i.length)}))}]);const J=[function({swiper:e,extendParams:t,on:s}){let a;function i(t,s){const a=e.params.virtual;if(a.cache&&e.virtual.cache[s])return e.virtual.cache[s];const i=a.renderSlide?d(a.renderSlide.call(e,t,s)):d(`
    ${t}
    `);return i.attr("data-swiper-slide-index")||i.attr("data-swiper-slide-index",s),a.cache&&(e.virtual.cache[s]=i),i}function r(t){const{slidesPerView:s,slidesPerGroup:a,centeredSlides:r}=e.params,{addSlidesBefore:n,addSlidesAfter:l}=e.params.virtual,{from:o,to:d,slides:p,slidesGrid:c,offset:u}=e.virtual;e.params.cssMode||e.updateActiveIndex();const h=e.activeIndex||0;let m,f,g;m=e.rtlTranslate?"right":e.isHorizontal()?"left":"top",r?(f=Math.floor(s/2)+a+l,g=Math.floor(s/2)+a+n):(f=s+(a-1)+l,g=a+n);const v=Math.max((h||0)-g,0),w=Math.min((h||0)+f,p.length-1),b=(e.slidesGrid[v]||0)-(e.slidesGrid[0]||0);function x(){e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.lazy&&e.params.lazy.enabled&&e.lazy.load()}if(Object.assign(e.virtual,{from:v,to:w,offset:b,slidesGrid:e.slidesGrid}),o===v&&d===w&&!t)return e.slidesGrid!==c&&b!==u&&e.slides.css(m,`${b}px`),void e.updateProgress();if(e.params.virtual.renderExternal)return e.params.virtual.renderExternal.call(e,{offset:b,from:v,to:w,slides:function(){const e=[];for(let t=v;t<=w;t+=1)e.push(p[t]);return e}()}),void(e.params.virtual.renderExternalUpdate&&x());const y=[],E=[];if(t)e.$wrapperEl.find(`.${e.params.slideClass}`).remove();else for(let t=o;t<=d;t+=1)(tw)&&e.$wrapperEl.find(`.${e.params.slideClass}[data-swiper-slide-index="${t}"]`).remove();for(let e=0;e=v&&e<=w&&(void 0===d||t?E.push(e):(e>d&&E.push(e),e{e.$wrapperEl.append(i(p[t],t))})),y.sort(((e,t)=>t-e)).forEach((t=>{e.$wrapperEl.prepend(i(p[t],t))})),e.$wrapperEl.children(".swiper-slide").css(m,`${b}px`),x()}t({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}}),e.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]},s("beforeInit",(()=>{e.params.virtual.enabled&&(e.virtual.slides=e.params.virtual.slides,e.classNames.push(`${e.params.containerModifierClass}virtual`),e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0,e.params.initialSlide||r())})),s("setTranslate",(()=>{e.params.virtual.enabled&&(e.params.cssMode&&!e._immediateVirtual?(clearTimeout(a),a=setTimeout((()=>{r()}),100)):r())})),s("init update resize",(()=>{e.params.virtual.enabled&&e.params.cssMode&&g(e.wrapperEl,"--swiper-virtual-size",`${e.virtualSize}px`)})),Object.assign(e.virtual,{appendSlide:function(t){if("object"==typeof t&&"length"in t)for(let s=0;s{const a=t[e],r=a.attr("data-swiper-slide-index");r&&a.attr("data-swiper-slide-index",parseInt(r,10)+i),s[parseInt(e,10)+i]=a})),e.virtual.cache=s}r(!0),e.slideTo(a,0)},removeSlide:function(t){if(null==t)return;let s=e.activeIndex;if(Array.isArray(t))for(let a=t.length-1;a>=0;a-=1)e.virtual.slides.splice(t[a],1),e.params.virtual.cache&&delete e.virtual.cache[t[a]],t[a]0&&0===e.$el.parents(`.${e.params.slideActiveClass}`).length)return;const a=e.$el,i=a[0].clientWidth,r=a[0].clientHeight,n=l.innerWidth,o=l.innerHeight,d=e.$el.offset();s&&(d.left-=e.$el[0].scrollLeft);const p=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let e=0;e=0&&s[0]<=n&&s[1]>=0&&s[1]<=o){if(0===s[0]&&0===s[1])continue;t=!0}}if(!t)return}e.isHorizontal()?((d||p||c||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((p||u)&&!s||(d||c)&&s)&&e.slideNext(),((d||c)&&!s||(p||u)&&s)&&e.slidePrev()):((d||p||h||m)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(p||m)&&e.slideNext(),(d||h)&&e.slidePrev()),i("keyPress",r)}}function p(){e.keyboard.enabled||(d(n).on("keydown",o),e.keyboard.enabled=!0)}function c(){e.keyboard.enabled&&(d(n).off("keydown",o),e.keyboard.enabled=!1)}e.keyboard={enabled:!1},t({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),s("init",(()=>{e.params.keyboard.enabled&&p()})),s("destroy",(()=>{e.keyboard.enabled&&c()})),Object.assign(e.keyboard,{enable:p,disable:c})},function({swiper:e,extendParams:t,on:s,emit:a}){const i=r();let n;t({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null}}),e.mousewheel={enabled:!1};let l,o=u();const p=[];function h(){e.enabled&&(e.mouseEntered=!0)}function m(){e.enabled&&(e.mouseEntered=!1)}function f(t){return!(e.params.mousewheel.thresholdDelta&&t.delta=6&&u()-o<60||(t.direction<0?e.isEnd&&!e.params.loop||e.animating||(e.slideNext(),a("scroll",t.raw)):e.isBeginning&&!e.params.loop||e.animating||(e.slidePrev(),a("scroll",t.raw)),o=(new i.Date).getTime(),!1)))}function g(t){let s=t,i=!0;if(!e.enabled)return;const r=e.params.mousewheel;e.params.cssMode&&s.preventDefault();let o=e.$el;if("container"!==e.params.mousewheel.eventsTarget&&(o=d(e.params.mousewheel.eventsTarget)),!e.mouseEntered&&!o[0].contains(s.target)&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let h=0;const m=e.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(e.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;h=-g.pixelX*m}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;h=-g.pixelY}else h=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*m:-g.pixelY;if(0===h)return!0;r.invert&&(h=-h);let v=e.getTranslate()+h*r.sensitivity;if(v>=e.minTranslate()&&(v=e.minTranslate()),v<=e.maxTranslate()&&(v=e.maxTranslate()),i=!!e.params.loop||!(v===e.minTranslate()||v===e.maxTranslate()),i&&e.params.nested&&s.stopPropagation(),e.params.freeMode&&e.params.freeMode.enabled){const t={time:u(),delta:Math.abs(h),direction:Math.sign(h)},i=l&&t.time=e.minTranslate()&&(o=e.minTranslate()),o<=e.maxTranslate()&&(o=e.maxTranslate()),e.setTransition(0),e.setTranslate(o),e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses(),(!d&&e.isBeginning||!u&&e.isEnd)&&e.updateSlidesClasses(),e.params.freeMode.sticky){clearTimeout(n),n=void 0,p.length>=15&&p.shift();const s=p.length?p[p.length-1]:void 0,a=p[0];if(p.push(t),s&&(t.delta>s.delta||t.direction!==s.direction))p.splice(0);else if(p.length>=15&&t.time-a.time<500&&a.delta-t.delta>=1&&t.delta<=6){const s=h>0?.8:.2;l=t,p.splice(0),n=c((()=>{e.slideToClosest(e.params.speed,!0,void 0,s)}),0)}n||(n=c((()=>{l=t,p.splice(0),e.slideToClosest(e.params.speed,!0,void 0,.5)}),500))}if(i||a("scroll",s),e.params.autoplay&&e.params.autoplayDisableOnInteraction&&e.autoplay.stop(),o===e.minTranslate()||o===e.maxTranslate())return!0}}else{const s={time:u(),delta:Math.abs(h),direction:Math.sign(h),raw:t};p.length>=2&&p.shift();const a=p.length?p[p.length-1]:void 0;if(p.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(t){const s=e.params.mousewheel;if(t.direction<0){if(e.isEnd&&!e.params.loop&&s.releaseOnEdges)return!0}else if(e.isBeginning&&!e.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(t){let s=e.$el;"container"!==e.params.mousewheel.eventsTarget&&(s=d(e.params.mousewheel.eventsTarget)),s[t]("mouseenter",h),s[t]("mouseleave",m),s[t]("wheel",g)}function w(){return e.params.cssMode?(e.wrapperEl.removeEventListener("wheel",g),!0):!e.mousewheel.enabled&&(v("on"),e.mousewheel.enabled=!0,!0)}function b(){return e.params.cssMode?(e.wrapperEl.addEventListener(event,g),!0):!!e.mousewheel.enabled&&(v("off"),e.mousewheel.enabled=!1,!0)}s("init",(()=>{!e.params.mousewheel.enabled&&e.params.cssMode&&b(),e.params.mousewheel.enabled&&w()})),s("destroy",(()=>{e.params.cssMode&&w(),e.mousewheel.enabled&&b()})),Object.assign(e.mousewheel,{enable:w,disable:b})},function({swiper:e,extendParams:t,on:s,emit:a}){function i(t){let s;return t&&(s=d(t),e.params.uniqueNavElements&&"string"==typeof t&&s.length>1&&1===e.$el.find(t).length&&(s=e.$el.find(t))),s}function r(t,s){const a=e.params.navigation;t&&t.length>0&&(t[s?"addClass":"removeClass"](a.disabledClass),t[0]&&"BUTTON"===t[0].tagName&&(t[0].disabled=s),e.params.watchOverflow&&e.enabled&&t[e.isLocked?"addClass":"removeClass"](a.lockClass))}function n(){if(e.params.loop)return;const{$nextEl:t,$prevEl:s}=e.navigation;r(s,e.isBeginning&&!e.params.rewind),r(t,e.isEnd&&!e.params.rewind)}function l(t){t.preventDefault(),(!e.isBeginning||e.params.loop||e.params.rewind)&&e.slidePrev()}function o(t){t.preventDefault(),(!e.isEnd||e.params.loop||e.params.rewind)&&e.slideNext()}function p(){const t=e.params.navigation;if(e.params.navigation=Y(e,e.originalParams.navigation,e.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!t.nextEl&&!t.prevEl)return;const s=i(t.nextEl),a=i(t.prevEl);s&&s.length>0&&s.on("click",o),a&&a.length>0&&a.on("click",l),Object.assign(e.navigation,{$nextEl:s,nextEl:s&&s[0],$prevEl:a,prevEl:a&&a[0]}),e.enabled||(s&&s.addClass(t.lockClass),a&&a.addClass(t.lockClass))}function c(){const{$nextEl:t,$prevEl:s}=e.navigation;t&&t.length&&(t.off("click",o),t.removeClass(e.params.navigation.disabledClass)),s&&s.length&&(s.off("click",l),s.removeClass(e.params.navigation.disabledClass))}t({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}}),e.navigation={nextEl:null,$nextEl:null,prevEl:null,$prevEl:null},s("init",(()=>{p(),n()})),s("toEdge fromEdge lock unlock",(()=>{n()})),s("destroy",(()=>{c()})),s("enable disable",(()=>{const{$nextEl:t,$prevEl:s}=e.navigation;t&&t[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass),s&&s[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass)})),s("click",((t,s)=>{const{$nextEl:i,$prevEl:r}=e.navigation,n=s.target;if(e.params.navigation.hideOnClick&&!d(n).is(r)&&!d(n).is(i)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===n||e.pagination.el.contains(n)))return;let t;i?t=i.hasClass(e.params.navigation.hiddenClass):r&&(t=r.hasClass(e.params.navigation.hiddenClass)),a(!0===t?"navigationShow":"navigationHide"),i&&i.toggleClass(e.params.navigation.hiddenClass),r&&r.toggleClass(e.params.navigation.hiddenClass)}})),Object.assign(e.navigation,{update:n,init:p,destroy:c})},function({swiper:e,extendParams:t,on:s,emit:a}){const i="swiper-pagination";let r;t({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${i}-bullet`,bulletActiveClass:`${i}-bullet-active`,modifierClass:`${i}-`,currentClass:`${i}-current`,totalClass:`${i}-total`,hiddenClass:`${i}-hidden`,progressbarFillClass:`${i}-progressbar-fill`,progressbarOppositeClass:`${i}-progressbar-opposite`,clickableClass:`${i}-clickable`,lockClass:`${i}-lock`,horizontalClass:`${i}-horizontal`,verticalClass:`${i}-vertical`}}),e.pagination={el:null,$el:null,bullets:[]};let n=0;function l(){return!e.params.pagination.el||!e.pagination.el||!e.pagination.$el||0===e.pagination.$el.length}function o(t,s){const{bulletActiveClass:a}=e.params.pagination;t[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`)}function p(){const t=e.rtl,s=e.params.pagination;if(l())return;const i=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,p=e.pagination.$el;let c;const u=e.params.loop?Math.ceil((i-2*e.loopedSlides)/e.params.slidesPerGroup):e.snapGrid.length;if(e.params.loop?(c=Math.ceil((e.activeIndex-e.loopedSlides)/e.params.slidesPerGroup),c>i-1-2*e.loopedSlides&&(c-=i-2*e.loopedSlides),c>u-1&&(c-=u),c<0&&"bullets"!==e.params.paginationType&&(c=u+c)):c=void 0!==e.snapIndex?e.snapIndex:e.activeIndex||0,"bullets"===s.type&&e.pagination.bullets&&e.pagination.bullets.length>0){const a=e.pagination.bullets;let i,l,u;if(s.dynamicBullets&&(r=a.eq(0)[e.isHorizontal()?"outerWidth":"outerHeight"](!0),p.css(e.isHorizontal()?"width":"height",r*(s.dynamicMainBullets+4)+"px"),s.dynamicMainBullets>1&&void 0!==e.previousIndex&&(n+=c-(e.previousIndex-e.loopedSlides||0),n>s.dynamicMainBullets-1?n=s.dynamicMainBullets-1:n<0&&(n=0)),i=Math.max(c-n,0),l=i+(Math.min(a.length,s.dynamicMainBullets)-1),u=(l+i)/2),a.removeClass(["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`)).join(" ")),p.length>1)a.each((e=>{const t=d(e),a=t.index();a===c&&t.addClass(s.bulletActiveClass),s.dynamicBullets&&(a>=i&&a<=l&&t.addClass(`${s.bulletActiveClass}-main`),a===i&&o(t,"prev"),a===l&&o(t,"next"))}));else{const t=a.eq(c),r=t.index();if(t.addClass(s.bulletActiveClass),s.dynamicBullets){const t=a.eq(i),n=a.eq(l);for(let e=i;e<=l;e+=1)a.eq(e).addClass(`${s.bulletActiveClass}-main`);if(e.params.loop)if(r>=a.length){for(let e=s.dynamicMainBullets;e>=0;e-=1)a.eq(a.length-e).addClass(`${s.bulletActiveClass}-main`);a.eq(a.length-s.dynamicMainBullets-1).addClass(`${s.bulletActiveClass}-prev`)}else o(t,"prev"),o(n,"next");else o(t,"prev"),o(n,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),n=(r*i-r)/2-u*r,l=t?"right":"left";a.css(e.isHorizontal()?l:"top",`${n}px`)}}if("fraction"===s.type&&(p.find(W(s.currentClass)).text(s.formatFractionCurrent(c+1)),p.find(W(s.totalClass)).text(s.formatFractionTotal(u))),"progressbar"===s.type){let t;t=s.progressbarOpposite?e.isHorizontal()?"vertical":"horizontal":e.isHorizontal()?"horizontal":"vertical";const a=(c+1)/u;let i=1,r=1;"horizontal"===t?i=a:r=a,p.find(W(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${r})`).transition(e.params.speed)}"custom"===s.type&&s.renderCustom?(p.html(s.renderCustom(e,c+1,u)),a("paginationRender",p[0])):a("paginationUpdate",p[0]),e.params.watchOverflow&&e.enabled&&p[e.isLocked?"addClass":"removeClass"](s.lockClass)}function c(){const t=e.params.pagination;if(l())return;const s=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,i=e.pagination.$el;let r="";if("bullets"===t.type){let a=e.params.loop?Math.ceil((s-2*e.loopedSlides)/e.params.slidesPerGroup):e.snapGrid.length;e.params.freeMode&&e.params.freeMode.enabled&&!e.params.loop&&a>s&&(a=s);for(let s=0;s`;i.html(r),e.pagination.bullets=i.find(W(t.bulletClass))}"fraction"===t.type&&(r=t.renderFraction?t.renderFraction.call(e,t.currentClass,t.totalClass):` / `,i.html(r)),"progressbar"===t.type&&(r=t.renderProgressbar?t.renderProgressbar.call(e,t.progressbarFillClass):``,i.html(r)),"custom"!==t.type&&a("paginationRender",e.pagination.$el[0])}function u(){e.params.pagination=Y(e,e.originalParams.pagination,e.params.pagination,{el:"swiper-pagination"});const t=e.params.pagination;if(!t.el)return;let s=d(t.el);0!==s.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&s.length>1&&(s=e.$el.find(t.el),s.length>1&&(s=s.filter((t=>d(t).parents(".swiper")[0]===e.el)))),"bullets"===t.type&&t.clickable&&s.addClass(t.clickableClass),s.addClass(t.modifierClass+t.type),s.addClass(t.modifierClass+e.params.direction),"bullets"===t.type&&t.dynamicBullets&&(s.addClass(`${t.modifierClass}${t.type}-dynamic`),n=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&s.addClass(t.progressbarOppositeClass),t.clickable&&s.on("click",W(t.bulletClass),(function(t){t.preventDefault();let s=d(this).index()*e.params.slidesPerGroup;e.params.loop&&(s+=e.loopedSlides),e.slideTo(s)})),Object.assign(e.pagination,{$el:s,el:s[0]}),e.enabled||s.addClass(t.lockClass))}function h(){const t=e.params.pagination;if(l())return;const s=e.pagination.$el;s.removeClass(t.hiddenClass),s.removeClass(t.modifierClass+t.type),s.removeClass(t.modifierClass+e.params.direction),e.pagination.bullets&&e.pagination.bullets.removeClass&&e.pagination.bullets.removeClass(t.bulletActiveClass),t.clickable&&s.off("click",W(t.bulletClass))}s("init",(()=>{u(),c(),p()})),s("activeIndexChange",(()=>{(e.params.loop||void 0===e.snapIndex)&&p()})),s("snapIndexChange",(()=>{e.params.loop||p()})),s("slidesLengthChange",(()=>{e.params.loop&&(c(),p())})),s("snapGridLengthChange",(()=>{e.params.loop||(c(),p())})),s("destroy",(()=>{h()})),s("enable disable",(()=>{const{$el:t}=e.pagination;t&&t[e.enabled?"removeClass":"addClass"](e.params.pagination.lockClass)})),s("lock unlock",(()=>{p()})),s("click",((t,s)=>{const i=s.target,{$el:r}=e.pagination;if(e.params.pagination.el&&e.params.pagination.hideOnClick&&r.length>0&&!d(i).hasClass(e.params.pagination.bulletClass)){if(e.navigation&&(e.navigation.nextEl&&i===e.navigation.nextEl||e.navigation.prevEl&&i===e.navigation.prevEl))return;const t=r.hasClass(e.params.pagination.hiddenClass);a(!0===t?"paginationShow":"paginationHide"),r.toggleClass(e.params.pagination.hiddenClass)}})),Object.assign(e.pagination,{render:c,update:p,init:u,destroy:h})},function({swiper:e,extendParams:t,on:s,emit:i}){const r=a();let n,l,o,p,u=!1,h=null,m=null;function f(){if(!e.params.scrollbar.el||!e.scrollbar.el)return;const{scrollbar:t,rtlTranslate:s,progress:a}=e,{$dragEl:i,$el:r}=t,n=e.params.scrollbar;let d=l,p=(o-l)*a;s?(p=-p,p>0?(d=l-p,p=0):-p+l>o&&(d=o+p)):p<0?(d=l+p,p=0):p+l>o&&(d=o-p),e.isHorizontal()?(i.transform(`translate3d(${p}px, 0, 0)`),i[0].style.width=`${d}px`):(i.transform(`translate3d(0px, ${p}px, 0)`),i[0].style.height=`${d}px`),n.hide&&(clearTimeout(h),r[0].style.opacity=1,h=setTimeout((()=>{r[0].style.opacity=0,r.transition(400)}),1e3))}function g(){if(!e.params.scrollbar.el||!e.scrollbar.el)return;const{scrollbar:t}=e,{$dragEl:s,$el:a}=t;s[0].style.width="",s[0].style.height="",o=e.isHorizontal()?a[0].offsetWidth:a[0].offsetHeight,p=e.size/(e.virtualSize+e.params.slidesOffsetBefore-(e.params.centeredSlides?e.snapGrid[0]:0)),l="auto"===e.params.scrollbar.dragSize?o*p:parseInt(e.params.scrollbar.dragSize,10),e.isHorizontal()?s[0].style.width=`${l}px`:s[0].style.height=`${l}px`,a[0].style.display=p>=1?"none":"",e.params.scrollbar.hide&&(a[0].style.opacity=0),e.params.watchOverflow&&e.enabled&&t.$el[e.isLocked?"addClass":"removeClass"](e.params.scrollbar.lockClass)}function v(t){return e.isHorizontal()?"touchstart"===t.type||"touchmove"===t.type?t.targetTouches[0].clientX:t.clientX:"touchstart"===t.type||"touchmove"===t.type?t.targetTouches[0].clientY:t.clientY}function w(t){const{scrollbar:s,rtlTranslate:a}=e,{$el:i}=s;let r;r=(v(t)-i.offset()[e.isHorizontal()?"left":"top"]-(null!==n?n:l/2))/(o-l),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const d=e.minTranslate()+(e.maxTranslate()-e.minTranslate())*r;e.updateProgress(d),e.setTranslate(d),e.updateActiveIndex(),e.updateSlidesClasses()}function b(t){const s=e.params.scrollbar,{scrollbar:a,$wrapperEl:r}=e,{$el:l,$dragEl:o}=a;u=!0,n=t.target===o[0]||t.target===o?v(t)-t.target.getBoundingClientRect()[e.isHorizontal()?"left":"top"]:null,t.preventDefault(),t.stopPropagation(),r.transition(100),o.transition(100),w(t),clearTimeout(m),l.transition(0),s.hide&&l.css("opacity",1),e.params.cssMode&&e.$wrapperEl.css("scroll-snap-type","none"),i("scrollbarDragStart",t)}function x(t){const{scrollbar:s,$wrapperEl:a}=e,{$el:r,$dragEl:n}=s;u&&(t.preventDefault?t.preventDefault():t.returnValue=!1,w(t),a.transition(0),r.transition(0),n.transition(0),i("scrollbarDragMove",t))}function y(t){const s=e.params.scrollbar,{scrollbar:a,$wrapperEl:r}=e,{$el:n}=a;u&&(u=!1,e.params.cssMode&&(e.$wrapperEl.css("scroll-snap-type",""),r.transition("")),s.hide&&(clearTimeout(m),m=c((()=>{n.css("opacity",0),n.transition(400)}),1e3)),i("scrollbarDragEnd",t),s.snapOnRelease&&e.slideToClosest())}function E(t){const{scrollbar:s,touchEventsTouch:a,touchEventsDesktop:i,params:n,support:l}=e,o=s.$el[0],d=!(!l.passiveListener||!n.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!n.passiveListeners)&&{passive:!0,capture:!1};if(!o)return;const c="on"===t?"addEventListener":"removeEventListener";l.touch?(o[c](a.start,b,d),o[c](a.move,x,d),o[c](a.end,y,p)):(o[c](i.start,b,d),r[c](i.move,x,d),r[c](i.end,y,p))}function T(){const{scrollbar:t,$el:s}=e;e.params.scrollbar=Y(e,e.originalParams.scrollbar,e.params.scrollbar,{el:"swiper-scrollbar"});const a=e.params.scrollbar;if(!a.el)return;let i=d(a.el);e.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.find(a.el).length&&(i=s.find(a.el));let r=i.find(`.${e.params.scrollbar.dragClass}`);0===r.length&&(r=d(`
    `),i.append(r)),Object.assign(t,{$el:i,el:i[0],$dragEl:r,dragEl:r[0]}),a.draggable&&e.params.scrollbar.el&&E("on"),i&&i[e.enabled?"removeClass":"addClass"](e.params.scrollbar.lockClass)}function C(){e.params.scrollbar.el&&E("off")}t({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}}),e.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null},s("init",(()=>{T(),g(),f()})),s("update resize observerUpdate lock unlock",(()=>{g()})),s("setTranslate",(()=>{f()})),s("setTransition",((t,s)=>{!function(t){e.params.scrollbar.el&&e.scrollbar.el&&e.scrollbar.$dragEl.transition(t)}(s)})),s("enable disable",(()=>{const{$el:t}=e.scrollbar;t&&t[e.enabled?"removeClass":"addClass"](e.params.scrollbar.lockClass)})),s("destroy",(()=>{C()})),Object.assign(e.scrollbar,{updateSize:g,setTranslate:f,init:T,destroy:C})},function({swiper:e,extendParams:t,on:s}){t({parallax:{enabled:!1}});const a=(t,s)=>{const{rtl:a}=e,i=d(t),r=a?-1:1,n=i.attr("data-swiper-parallax")||"0";let l=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y");const p=i.attr("data-swiper-parallax-scale"),c=i.attr("data-swiper-parallax-opacity");if(l||o?(l=l||"0",o=o||"0"):e.isHorizontal()?(l=n,o="0"):(o=n,l="0"),l=l.indexOf("%")>=0?parseInt(l,10)*s*r+"%":l*s*r+"px",o=o.indexOf("%")>=0?parseInt(o,10)*s+"%":o*s+"px",null!=c){const e=c-(c-1)*(1-Math.abs(s));i[0].style.opacity=e}if(null==p)i.transform(`translate3d(${l}, ${o}, 0px)`);else{const e=p-(p-1)*(1-Math.abs(s));i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)}},i=()=>{const{$el:t,slides:s,progress:i,snapGrid:r}=e;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{a(e,i)})),s.each(((t,s)=>{let n=t.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(n+=Math.ceil(s/2)-i*(r.length-1)),n=Math.min(Math.max(n,-1),1),d(t).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{a(e,n)}))}))};s("beforeInit",(()=>{e.params.parallax.enabled&&(e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0)})),s("init",(()=>{e.params.parallax.enabled&&i()})),s("setTranslate",(()=>{e.params.parallax.enabled&&i()})),s("setTransition",((t,s)=>{e.params.parallax.enabled&&((t=e.params.speed)=>{const{$el:s}=e;s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{const s=d(e);let a=parseInt(s.attr("data-swiper-parallax-duration"),10)||t;0===t&&(a=0),s.transition(a)}))})(s)}))},function({swiper:e,extendParams:t,on:s,emit:a}){const i=r();t({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),e.zoom={enabled:!1};let n,l,o,p=1,c=!1;const u={$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},m={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},f={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let g=1;function v(e){if(e.targetTouches.length<2)return 1;const t=e.targetTouches[0].pageX,s=e.targetTouches[0].pageY,a=e.targetTouches[1].pageX,i=e.targetTouches[1].pageY;return Math.sqrt((a-t)**2+(i-s)**2)}function w(t){const s=e.support,a=e.params.zoom;if(l=!1,o=!1,!s.gestures){if("touchstart"!==t.type||"touchstart"===t.type&&t.targetTouches.length<2)return;l=!0,u.scaleStart=v(t)}u.$slideEl&&u.$slideEl.length||(u.$slideEl=d(t.target).closest(`.${e.params.slideClass}`),0===u.$slideEl.length&&(u.$slideEl=e.slides.eq(e.activeIndex)),u.$imageEl=u.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),u.$imageWrapEl=u.$imageEl.parent(`.${a.containerClass}`),u.maxRatio=u.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,0!==u.$imageWrapEl.length)?(u.$imageEl&&u.$imageEl.transition(0),c=!0):u.$imageEl=void 0}function b(t){const s=e.support,a=e.params.zoom,i=e.zoom;if(!s.gestures){if("touchmove"!==t.type||"touchmove"===t.type&&t.targetTouches.length<2)return;o=!0,u.scaleMove=v(t)}u.$imageEl&&0!==u.$imageEl.length?(s.gestures?i.scale=t.scale*p:i.scale=u.scaleMove/u.scaleStart*p,i.scale>u.maxRatio&&(i.scale=u.maxRatio-1+(i.scale-u.maxRatio+1)**.5),i.scalem.touchesStart.x))return void(m.isTouched=!1);if(!e.isHorizontal()&&(Math.floor(m.minY)===Math.floor(m.startY)&&m.touchesCurrent.ym.touchesStart.y))return void(m.isTouched=!1)}t.cancelable&&t.preventDefault(),t.stopPropagation(),m.isMoved=!0,m.currentX=m.touchesCurrent.x-m.touchesStart.x+m.startX,m.currentY=m.touchesCurrent.y-m.touchesStart.y+m.startY,m.currentXm.maxX&&(m.currentX=m.maxX-1+(m.currentX-m.maxX+1)**.8),m.currentYm.maxY&&(m.currentY=m.maxY-1+(m.currentY-m.maxY+1)**.8),f.prevPositionX||(f.prevPositionX=m.touchesCurrent.x),f.prevPositionY||(f.prevPositionY=m.touchesCurrent.y),f.prevTime||(f.prevTime=Date.now()),f.x=(m.touchesCurrent.x-f.prevPositionX)/(Date.now()-f.prevTime)/2,f.y=(m.touchesCurrent.y-f.prevPositionY)/(Date.now()-f.prevTime)/2,Math.abs(m.touchesCurrent.x-f.prevPositionX)<2&&(f.x=0),Math.abs(m.touchesCurrent.y-f.prevPositionY)<2&&(f.y=0),f.prevPositionX=m.touchesCurrent.x,f.prevPositionY=m.touchesCurrent.y,f.prevTime=Date.now(),u.$imageWrapEl.transform(`translate3d(${m.currentX}px, ${m.currentY}px,0)`)}}function E(){const t=e.zoom;u.$slideEl&&e.previousIndex!==e.activeIndex&&(u.$imageEl&&u.$imageEl.transform("translate3d(0,0,0) scale(1)"),u.$imageWrapEl&&u.$imageWrapEl.transform("translate3d(0,0,0)"),t.scale=1,p=1,u.$slideEl=void 0,u.$imageEl=void 0,u.$imageWrapEl=void 0)}function T(t){const s=e.zoom,a=e.params.zoom;if(u.$slideEl||(t&&t.target&&(u.$slideEl=d(t.target).closest(`.${e.params.slideClass}`)),u.$slideEl||(e.params.virtual&&e.params.virtual.enabled&&e.virtual?u.$slideEl=e.$wrapperEl.children(`.${e.params.slideActiveClass}`):u.$slideEl=e.slides.eq(e.activeIndex)),u.$imageEl=u.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),u.$imageWrapEl=u.$imageEl.parent(`.${a.containerClass}`)),!u.$imageEl||0===u.$imageEl.length||!u.$imageWrapEl||0===u.$imageWrapEl.length)return;let r,n,l,o,c,h,f,g,v,w,b,x,y,E,T,C,$,S;e.params.cssMode&&(e.wrapperEl.style.overflow="hidden",e.wrapperEl.style.touchAction="none"),u.$slideEl.addClass(`${a.zoomedSlideClass}`),void 0===m.touchesStart.x&&t?(r="touchend"===t.type?t.changedTouches[0].pageX:t.pageX,n="touchend"===t.type?t.changedTouches[0].pageY:t.pageY):(r=m.touchesStart.x,n=m.touchesStart.y),s.scale=u.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,p=u.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,t?($=u.$slideEl[0].offsetWidth,S=u.$slideEl[0].offsetHeight,l=u.$slideEl.offset().left+i.scrollX,o=u.$slideEl.offset().top+i.scrollY,c=l+$/2-r,h=o+S/2-n,v=u.$imageEl[0].offsetWidth,w=u.$imageEl[0].offsetHeight,b=v*s.scale,x=w*s.scale,y=Math.min($/2-b/2,0),E=Math.min(S/2-x/2,0),T=-y,C=-E,f=c*s.scale,g=h*s.scale,fT&&(f=T),gC&&(g=C)):(f=0,g=0),u.$imageWrapEl.transition(300).transform(`translate3d(${f}px, ${g}px,0)`),u.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`)}function C(){const t=e.zoom,s=e.params.zoom;u.$slideEl||(e.params.virtual&&e.params.virtual.enabled&&e.virtual?u.$slideEl=e.$wrapperEl.children(`.${e.params.slideActiveClass}`):u.$slideEl=e.slides.eq(e.activeIndex),u.$imageEl=u.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),u.$imageWrapEl=u.$imageEl.parent(`.${s.containerClass}`)),u.$imageEl&&0!==u.$imageEl.length&&u.$imageWrapEl&&0!==u.$imageWrapEl.length&&(e.params.cssMode&&(e.wrapperEl.style.overflow="",e.wrapperEl.style.touchAction=""),t.scale=1,p=1,u.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),u.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),u.$slideEl.removeClass(`${s.zoomedSlideClass}`),u.$slideEl=void 0)}function $(t){const s=e.zoom;s.scale&&1!==s.scale?C():T(t)}function S(){const t=e.support;return{passiveListener:!("touchstart"!==e.touchEvents.start||!t.passiveListener||!e.params.passiveListeners)&&{passive:!0,capture:!1},activeListenerWithCapture:!t.passiveListener||{passive:!1,capture:!0}}}function M(){return`.${e.params.slideClass}`}function P(t){const{passiveListener:s}=S(),a=M();e.$wrapperEl[t]("gesturestart",a,w,s),e.$wrapperEl[t]("gesturechange",a,b,s),e.$wrapperEl[t]("gestureend",a,x,s)}function k(){n||(n=!0,P("on"))}function z(){n&&(n=!1,P("off"))}function O(){const t=e.zoom;if(t.enabled)return;t.enabled=!0;const s=e.support,{passiveListener:a,activeListenerWithCapture:i}=S(),r=M();s.gestures?(e.$wrapperEl.on(e.touchEvents.start,k,a),e.$wrapperEl.on(e.touchEvents.end,z,a)):"touchstart"===e.touchEvents.start&&(e.$wrapperEl.on(e.touchEvents.start,r,w,a),e.$wrapperEl.on(e.touchEvents.move,r,b,i),e.$wrapperEl.on(e.touchEvents.end,r,x,a),e.touchEvents.cancel&&e.$wrapperEl.on(e.touchEvents.cancel,r,x,a)),e.$wrapperEl.on(e.touchEvents.move,`.${e.params.zoom.containerClass}`,y,i)}function I(){const t=e.zoom;if(!t.enabled)return;const s=e.support;t.enabled=!1;const{passiveListener:a,activeListenerWithCapture:i}=S(),r=M();s.gestures?(e.$wrapperEl.off(e.touchEvents.start,k,a),e.$wrapperEl.off(e.touchEvents.end,z,a)):"touchstart"===e.touchEvents.start&&(e.$wrapperEl.off(e.touchEvents.start,r,w,a),e.$wrapperEl.off(e.touchEvents.move,r,b,i),e.$wrapperEl.off(e.touchEvents.end,r,x,a),e.touchEvents.cancel&&e.$wrapperEl.off(e.touchEvents.cancel,r,x,a)),e.$wrapperEl.off(e.touchEvents.move,`.${e.params.zoom.containerClass}`,y,i)}Object.defineProperty(e.zoom,"scale",{get:()=>g,set(e){if(g!==e){const t=u.$imageEl?u.$imageEl[0]:void 0,s=u.$slideEl?u.$slideEl[0]:void 0;a("zoomChange",e,t,s)}g=e}}),s("init",(()=>{e.params.zoom.enabled&&O()})),s("destroy",(()=>{I()})),s("touchStart",((t,s)=>{e.zoom.enabled&&function(t){const s=e.device;u.$imageEl&&0!==u.$imageEl.length&&(m.isTouched||(s.android&&t.cancelable&&t.preventDefault(),m.isTouched=!0,m.touchesStart.x="touchstart"===t.type?t.targetTouches[0].pageX:t.pageX,m.touchesStart.y="touchstart"===t.type?t.targetTouches[0].pageY:t.pageY))}(s)})),s("touchEnd",((t,s)=>{e.zoom.enabled&&function(){const t=e.zoom;if(!u.$imageEl||0===u.$imageEl.length)return;if(!m.isTouched||!m.isMoved)return m.isTouched=!1,void(m.isMoved=!1);m.isTouched=!1,m.isMoved=!1;let s=300,a=300;const i=f.x*s,r=m.currentX+i,n=f.y*a,l=m.currentY+n;0!==f.x&&(s=Math.abs((r-m.currentX)/f.x)),0!==f.y&&(a=Math.abs((l-m.currentY)/f.y));const o=Math.max(s,a);m.currentX=r,m.currentY=l;const d=m.width*t.scale,p=m.height*t.scale;m.minX=Math.min(u.slideWidth/2-d/2,0),m.maxX=-m.minX,m.minY=Math.min(u.slideHeight/2-p/2,0),m.maxY=-m.minY,m.currentX=Math.max(Math.min(m.currentX,m.maxX),m.minX),m.currentY=Math.max(Math.min(m.currentY,m.maxY),m.minY),u.$imageWrapEl.transition(o).transform(`translate3d(${m.currentX}px, ${m.currentY}px,0)`)}()})),s("doubleTap",((t,s)=>{!e.animating&&e.params.zoom.enabled&&e.zoom.enabled&&e.params.zoom.toggle&&$(s)})),s("transitionEnd",(()=>{e.zoom.enabled&&e.params.zoom.enabled&&E()})),s("slideChange",(()=>{e.zoom.enabled&&e.params.zoom.enabled&&e.params.cssMode&&E()})),Object.assign(e.zoom,{enable:O,disable:I,in:T,out:C,toggle:$})},function({swiper:e,extendParams:t,on:s,emit:a}){t({lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:"",elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}}),e.lazy={};let i=!1,n=!1;function l(t,s=!0){const i=e.params.lazy;if(void 0===t)return;if(0===e.slides.length)return;const r=e.virtual&&e.params.virtual.enabled?e.$wrapperEl.children(`.${e.params.slideClass}[data-swiper-slide-index="${t}"]`):e.slides.eq(t),n=r.find(`.${i.elementClass}:not(.${i.loadedClass}):not(.${i.loadingClass})`);!r.hasClass(i.elementClass)||r.hasClass(i.loadedClass)||r.hasClass(i.loadingClass)||n.push(r[0]),0!==n.length&&n.each((t=>{const n=d(t);n.addClass(i.loadingClass);const o=n.attr("data-background"),p=n.attr("data-src"),c=n.attr("data-srcset"),u=n.attr("data-sizes"),h=n.parent("picture");e.loadImage(n[0],p||o,c,u,!1,(()=>{if(null!=e&&e&&(!e||e.params)&&!e.destroyed){if(o?(n.css("background-image",`url("${o}")`),n.removeAttr("data-background")):(c&&(n.attr("srcset",c),n.removeAttr("data-srcset")),u&&(n.attr("sizes",u),n.removeAttr("data-sizes")),h.length&&h.children("source").each((e=>{const t=d(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeAttr("data-srcset"))})),p&&(n.attr("src",p),n.removeAttr("data-src"))),n.addClass(i.loadedClass).removeClass(i.loadingClass),r.find(`.${i.preloaderClass}`).remove(),e.params.loop&&s){const t=r.attr("data-swiper-slide-index");if(r.hasClass(e.params.slideDuplicateClass)){l(e.$wrapperEl.children(`[data-swiper-slide-index="${t}"]:not(.${e.params.slideDuplicateClass})`).index(),!1)}else{l(e.$wrapperEl.children(`.${e.params.slideDuplicateClass}[data-swiper-slide-index="${t}"]`).index(),!1)}}a("lazyImageReady",r[0],n[0]),e.params.autoHeight&&e.updateAutoHeight()}})),a("lazyImageLoad",r[0],n[0])}))}function o(){const{$wrapperEl:t,params:s,slides:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,o=s.lazy;let p=s.slidesPerView;function c(e){if(r){if(t.children(`.${s.slideClass}[data-swiper-slide-index="${e}"]`).length)return!0}else if(a[e])return!0;return!1}function u(e){return r?d(e).attr("data-swiper-slide-index"):d(e).index()}if("auto"===p&&(p=0),n||(n=!0),e.params.watchSlidesProgress)t.children(`.${s.slideVisibleClass}`).each((e=>{l(r?d(e).attr("data-swiper-slide-index"):d(e).index())}));else if(p>1)for(let e=i;e1||o.loadPrevNextAmount&&o.loadPrevNextAmount>1){const e=o.loadPrevNextAmount,t=p,s=Math.min(i+t+Math.max(e,t),a.length),r=Math.max(i-Math.max(t,e),0);for(let e=i+p;e0&&l(u(e));const a=t.children(`.${s.slidePrevClass}`);a.length>0&&l(u(a))}}function p(){const t=r();if(!e||e.destroyed)return;const s=e.params.lazy.scrollingElement?d(e.params.lazy.scrollingElement):d(t),a=s[0]===t,n=a?t.innerWidth:s[0].offsetWidth,l=a?t.innerHeight:s[0].offsetHeight,c=e.$el.offset(),{rtlTranslate:u}=e;let h=!1;u&&(c.left-=e.$el[0].scrollLeft);const m=[[c.left,c.top],[c.left+e.width,c.top],[c.left,c.top+e.height],[c.left+e.width,c.top+e.height]];for(let e=0;e=0&&t[0]<=n&&t[1]>=0&&t[1]<=l){if(0===t[0]&&0===t[1])continue;h=!0}}const f=!("touchstart"!==e.touchEvents.start||!e.support.passiveListener||!e.params.passiveListeners)&&{passive:!0,capture:!1};h?(o(),s.off("scroll",p,f)):i||(i=!0,s.on("scroll",p,f))}s("beforeInit",(()=>{e.params.lazy.enabled&&e.params.preloadImages&&(e.params.preloadImages=!1)})),s("init",(()=>{e.params.lazy.enabled&&(e.params.lazy.checkInView?p():o())})),s("scroll",(()=>{e.params.freeMode&&e.params.freeMode.enabled&&!e.params.freeMode.sticky&&o()})),s("scrollbarDragMove resize _freeModeNoMomentumRelease",(()=>{e.params.lazy.enabled&&(e.params.lazy.checkInView?p():o())})),s("transitionStart",(()=>{e.params.lazy.enabled&&(e.params.lazy.loadOnTransitionStart||!e.params.lazy.loadOnTransitionStart&&!n)&&(e.params.lazy.checkInView?p():o())})),s("transitionEnd",(()=>{e.params.lazy.enabled&&!e.params.lazy.loadOnTransitionStart&&(e.params.lazy.checkInView?p():o())})),s("slideChange",(()=>{const{lazy:t,cssMode:s,watchSlidesProgress:a,touchReleaseOnEdges:i,resistanceRatio:r}=e.params;t.enabled&&(s||a&&(i||0===r))&&o()})),Object.assign(e.lazy,{load:o,loadInSlide:l})},function({swiper:e,extendParams:t,on:s}){function a(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function i(){e.controller.control&&e.controller.spline&&(e.controller.spline=void 0,delete e.controller.spline)}t({controller:{control:void 0,inverse:!1,by:"slide"}}),e.controller={control:void 0},s("beforeInit",(()=>{e.controller.control=e.params.controller.control})),s("update",(()=>{i()})),s("resize",(()=>{i()})),s("observerUpdate",(()=>{i()})),s("setTranslate",((t,s,a)=>{e.controller.control&&e.controller.setTranslate(s,a)})),s("setTransition",((t,s,a)=>{e.controller.control&&e.controller.setTransition(s,a)})),Object.assign(e.controller,{setTranslate:function(t,s){const i=e.controller.control;let r,n;const l=e.constructor;function o(t){const s=e.rtlTranslate?-e.translate:e.translate;"slide"===e.params.controller.by&&(!function(t){e.controller.spline||(e.controller.spline=e.params.loop?new a(e.slidesGrid,t.slidesGrid):new a(e.snapGrid,t.snapGrid))}(t),n=-e.controller.spline.interpolate(-s)),n&&"container"!==e.params.controller.by||(r=(t.maxTranslate()-t.minTranslate())/(e.maxTranslate()-e.minTranslate()),n=(s-e.minTranslate())*r+t.minTranslate()),e.params.controller.inverse&&(n=t.maxTranslate()-n),t.updateProgress(n),t.setTranslate(n,e),t.updateActiveIndex(),t.updateSlidesClasses()}if(Array.isArray(i))for(let e=0;e{s.updateAutoHeight()})),s.$wrapperEl.transitionEnd((()=>{i&&(s.params.loop&&"slide"===e.params.controller.by&&s.loopFix(),s.transitionEnd())})))}if(Array.isArray(i))for(r=0;r0&&(e.isBeginning?(c(s),n(s)):(u(s),r(s))),t&&t.length>0&&(e.isEnd?(c(t),n(t)):(u(t),r(t)))}function f(){return e.pagination&&e.pagination.bullets&&e.pagination.bullets.length}function g(){return f()&&e.params.pagination.clickable}const v=(e,t,s)=>{r(e),"BUTTON"!==e[0].tagName&&(l(e,"button"),e.on("keydown",h)),p(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)};function w(){const t=e.params.a11y;e.$el.append(a);const s=e.$el;t.containerRoleDescriptionMessage&&o(s,t.containerRoleDescriptionMessage),t.containerMessage&&p(s,t.containerMessage);const i=e.$wrapperEl,r=i.attr("id")||`swiper-wrapper-${function(e=16){return"x".repeat(e).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}(16)}`,n=e.params.autoplay&&e.params.autoplay.enabled?"off":"polite";var c;c=r,i.attr("id",c),function(e,t){e.attr("aria-live",t)}(i,n),t.itemRoleDescriptionMessage&&o(d(e.slides),t.itemRoleDescriptionMessage),l(d(e.slides),t.slideRole);const u=e.params.loop?e.slides.filter((t=>!t.classList.contains(e.params.slideDuplicateClass))).length:e.slides.length;let m,f;e.slides.each(((s,a)=>{const i=d(s),r=e.params.loop?parseInt(i.attr("data-swiper-slide-index"),10):a;p(i,t.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,u))})),e.navigation&&e.navigation.$nextEl&&(m=e.navigation.$nextEl),e.navigation&&e.navigation.$prevEl&&(f=e.navigation.$prevEl),m&&m.length&&v(m,r,t.nextSlideMessage),f&&f.length&&v(f,r,t.prevSlideMessage),g()&&e.pagination.$el.on("keydown",W(e.params.pagination.bulletClass),h)}s("beforeInit",(()=>{a=d(``)})),s("afterInit",(()=>{e.params.a11y.enabled&&(w(),m())})),s("toEdge",(()=>{e.params.a11y.enabled&&m()})),s("fromEdge",(()=>{e.params.a11y.enabled&&m()})),s("paginationUpdate",(()=>{e.params.a11y.enabled&&function(){const t=e.params.a11y;f()&&e.pagination.bullets.each((s=>{const a=d(s);e.params.pagination.clickable&&(r(a),e.params.pagination.renderBullet||(l(a,"button"),p(a,t.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1)))),a.is(`.${e.params.pagination.bulletActiveClass}`)?a.attr("aria-current","true"):a.removeAttr("aria-current")}))}()})),s("destroy",(()=>{e.params.a11y.enabled&&function(){let t,s;a&&a.length>0&&a.remove(),e.navigation&&e.navigation.$nextEl&&(t=e.navigation.$nextEl),e.navigation&&e.navigation.$prevEl&&(s=e.navigation.$prevEl),t&&t.off("keydown",h),s&&s.off("keydown",h),g()&&e.pagination.$el.off("keydown",W(e.params.pagination.bulletClass),h)}()}))},function({swiper:e,extendParams:t,on:s}){t({history:{enabled:!1,root:"",replaceState:!1,key:"slides"}});let a=!1,i={};const n=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),l=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},o=(t,s)=>{const i=r();if(!a||!e.params.history.enabled)return;let l;l=e.params.url?new URL(e.params.url):i.location;const o=e.slides.eq(s);let d=n(o.attr("data-history"));if(e.params.history.root.length>0){let s=e.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${t}/${d}`}else l.pathname.includes(t)||(d=`${t}/${d}`);const p=i.history.state;p&&p.value===d||(e.params.history.replaceState?i.history.replaceState({value:d},null,d):i.history.pushState({value:d},null,d))},d=(t,s,a)=>{if(s)for(let i=0,r=e.slides.length;i{i=l(e.params.url),d(e.params.speed,e.paths.value,!1)};s("init",(()=>{e.params.history.enabled&&(()=>{const t=r();if(e.params.history){if(!t.history||!t.history.pushState)return e.params.history.enabled=!1,void(e.params.hashNavigation.enabled=!0);a=!0,i=l(e.params.url),(i.key||i.value)&&(d(0,i.value,e.params.runCallbacksOnInit),e.params.history.replaceState||t.addEventListener("popstate",p))}})()})),s("destroy",(()=>{e.params.history.enabled&&(()=>{const t=r();e.params.history.replaceState||t.removeEventListener("popstate",p)})()})),s("transitionEnd _freeModeNoMomentumRelease",(()=>{a&&o(e.params.history.key,e.activeIndex)})),s("slideChange",(()=>{a&&e.params.cssMode&&o(e.params.history.key,e.activeIndex)}))},function({swiper:e,extendParams:t,emit:s,on:i}){let n=!1;const l=a(),o=r();t({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}});const p=()=>{s("hashChange");const t=l.location.hash.replace("#","");if(t!==e.slides.eq(e.activeIndex).attr("data-hash")){const s=e.$wrapperEl.children(`.${e.params.slideClass}[data-hash="${t}"]`).index();if(void 0===s)return;e.slideTo(s)}},c=()=>{if(n&&e.params.hashNavigation.enabled)if(e.params.hashNavigation.replaceState&&o.history&&o.history.replaceState)o.history.replaceState(null,null,`#${e.slides.eq(e.activeIndex).attr("data-hash")}`||""),s("hashSet");else{const t=e.slides.eq(e.activeIndex),a=t.attr("data-hash")||t.attr("data-history");l.location.hash=a||"",s("hashSet")}};i("init",(()=>{e.params.hashNavigation.enabled&&(()=>{if(!e.params.hashNavigation.enabled||e.params.history&&e.params.history.enabled)return;n=!0;const t=l.location.hash.replace("#","");if(t){const s=0;for(let a=0,i=e.slides.length;a{e.params.hashNavigation.enabled&&e.params.hashNavigation.watchState&&d(o).off("hashchange",p)})),i("transitionEnd _freeModeNoMomentumRelease",(()=>{n&&c()})),i("slideChange",(()=>{n&&e.params.cssMode&&c()}))},function({swiper:e,extendParams:t,on:s,emit:i}){let r;function n(){const t=e.slides.eq(e.activeIndex);let s=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(s=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),clearTimeout(r),r=c((()=>{let t;e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),t=e.slidePrev(e.params.speed,!0,!0),i("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?o():(t=e.slideTo(e.slides.length-1,e.params.speed,!0,!0),i("autoplay")):(t=e.slidePrev(e.params.speed,!0,!0),i("autoplay")):e.params.loop?(e.loopFix(),t=e.slideNext(e.params.speed,!0,!0),i("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?o():(t=e.slideTo(0,e.params.speed,!0,!0),i("autoplay")):(t=e.slideNext(e.params.speed,!0,!0),i("autoplay")),(e.params.cssMode&&e.autoplay.running||!1===t)&&n()}),s)}function l(){return void 0===r&&(!e.autoplay.running&&(e.autoplay.running=!0,i("autoplayStart"),n(),!0))}function o(){return!!e.autoplay.running&&(void 0!==r&&(r&&(clearTimeout(r),r=void 0),e.autoplay.running=!1,i("autoplayStop"),!0))}function d(t){e.autoplay.running&&(e.autoplay.paused||(r&&clearTimeout(r),e.autoplay.paused=!0,0!==t&&e.params.autoplay.waitForTransition?["transitionend","webkitTransitionEnd"].forEach((t=>{e.$wrapperEl[0].addEventListener(t,u)})):(e.autoplay.paused=!1,n())))}function p(){const t=a();"hidden"===t.visibilityState&&e.autoplay.running&&d(),"visible"===t.visibilityState&&e.autoplay.paused&&(n(),e.autoplay.paused=!1)}function u(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===e.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach((t=>{e.$wrapperEl[0].removeEventListener(t,u)})),e.autoplay.paused=!1,e.autoplay.running?n():o())}function h(){e.params.autoplay.disableOnInteraction?o():d(),["transitionend","webkitTransitionEnd"].forEach((t=>{e.$wrapperEl[0].removeEventListener(t,u)}))}function m(){e.params.autoplay.disableOnInteraction||(e.autoplay.paused=!1,n())}e.autoplay={running:!1,paused:!1},t({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}}),s("init",(()=>{if(e.params.autoplay.enabled){l();a().addEventListener("visibilitychange",p),e.params.autoplay.pauseOnMouseEnter&&(e.$el.on("mouseenter",h),e.$el.on("mouseleave",m))}})),s("beforeTransitionStart",((t,s,a)=>{e.autoplay.running&&(a||!e.params.autoplay.disableOnInteraction?e.autoplay.pause(s):o())})),s("sliderFirstMove",(()=>{e.autoplay.running&&(e.params.autoplay.disableOnInteraction?o():d())})),s("touchEnd",(()=>{e.params.cssMode&&e.autoplay.paused&&!e.params.autoplay.disableOnInteraction&&n()})),s("destroy",(()=>{e.$el.off("mouseenter",h),e.$el.off("mouseleave",m),e.autoplay.running&&o();a().removeEventListener("visibilitychange",p)})),Object.assign(e.autoplay,{pause:d,run:n,start:l,stop:o})},function({swiper:e,extendParams:t,on:s}){t({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let a=!1,i=!1;function r(){const t=e.thumbs.swiper;if(!t)return;const s=t.clickedIndex,a=t.clickedSlide;if(a&&d(a).hasClass(e.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;if(i=t.params.loop?parseInt(d(t.clickedSlide).attr("data-swiper-slide-index"),10):s,e.params.loop){let t=e.activeIndex;e.slides.eq(t).hasClass(e.params.slideDuplicateClass)&&(e.loopFix(),e._clientLeft=e.$wrapperEl[0].clientLeft,t=e.activeIndex);const s=e.slides.eq(t).prevAll(`[data-swiper-slide-index="${i}"]`).eq(0).index(),a=e.slides.eq(t).nextAll(`[data-swiper-slide-index="${i}"]`).eq(0).index();i=void 0===s?a:void 0===a?s:a-t1?a:o:a-oe.previousIndex?"next":"prev"}else n=e.realIndex,l=n>e.previousIndex?"next":"prev";r&&(n+="next"===l?i:-1*i),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(n)<0&&(s.params.centeredSlides?n=n>o?n-Math.floor(a/2)+1:n+Math.floor(a/2)-1:n>o&&s.params.slidesPerGroup,s.slideTo(n,t?0:void 0))}let n=1;const l=e.params.thumbs.slideThumbActiveClass;if(e.params.slidesPerView>1&&!e.params.centeredSlides&&(n=e.params.slidesPerView),e.params.thumbs.multipleActiveThumbs||(n=1),n=Math.floor(n),s.slides.removeClass(l),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let t=0;t{const{thumbs:t}=e.params;t&&t.swiper&&(n(),l(!0))})),s("slideChange update resize observerUpdate",(()=>{e.thumbs.swiper&&l()})),s("setTransition",((t,s)=>{const a=e.thumbs.swiper;a&&a.setTransition(s)})),s("beforeDestroy",(()=>{const t=e.thumbs.swiper;t&&i&&t&&t.destroy()})),Object.assign(e.thumbs,{init:n,update:l})},function({swiper:e,extendParams:t,emit:s,once:a}){t({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(e,{freeMode:{onTouchMove:function(){const{touchEventsData:t,touches:s}=e;0===t.velocities.length&&t.velocities.push({position:s[e.isHorizontal()?"startX":"startY"],time:t.touchStartTime}),t.velocities.push({position:s[e.isHorizontal()?"currentX":"currentY"],time:u()})},onTouchEnd:function({currentPos:t}){const{params:i,$wrapperEl:r,rtlTranslate:n,snapGrid:l,touchEventsData:o}=e,d=u()-o.touchStartTime;if(t<-e.minTranslate())e.slideTo(e.activeIndex);else if(t>-e.maxTranslate())e.slides.length1){const t=o.velocities.pop(),s=o.velocities.pop(),a=t.position-s.position,r=t.time-s.time;e.velocity=a/r,e.velocity/=2,Math.abs(e.velocity)150||u()-t.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeMode.momentumVelocityRatio,o.velocities.length=0;let t=1e3*i.freeMode.momentumRatio;const d=e.velocity*t;let p=e.translate+d;n&&(p=-p);let c,h=!1;const m=20*Math.abs(e.velocity)*i.freeMode.momentumBounceRatio;let f;if(pe.minTranslate())i.freeMode.momentumBounce?(p-e.minTranslate()>m&&(p=e.minTranslate()+m),c=e.minTranslate(),h=!0,o.allowMomentumBounce=!0):p=e.minTranslate(),i.loop&&i.centeredSlides&&(f=!0);else if(i.freeMode.sticky){let t;for(let e=0;e-p){t=e;break}p=Math.abs(l[t]-p){e.loopFix()})),0!==e.velocity){if(t=n?Math.abs((-p-e.translate)/e.velocity):Math.abs((p-e.translate)/e.velocity),i.freeMode.sticky){const s=Math.abs((n?-p:p)-e.translate),a=e.slidesSizesGrid[e.activeIndex];t=s{e&&!e.destroyed&&o.allowMomentumBounce&&(s("momentumBounce"),e.setTransition(i.speed),setTimeout((()=>{e.setTranslate(c),r.transitionEnd((()=>{e&&!e.destroyed&&e.transitionEnd()}))}),0))}))):e.velocity?(s("_freeModeNoMomentumRelease"),e.updateProgress(p),e.setTransition(t),e.setTranslate(p),e.transitionStart(!0,e.swipeDirection),e.animating||(e.animating=!0,r.transitionEnd((()=>{e&&!e.destroyed&&e.transitionEnd()})))):e.updateProgress(p),e.updateActiveIndex(),e.updateSlidesClasses()}else{if(i.freeMode.sticky)return void e.slideToClosest();i.freeMode&&s("_freeModeNoMomentumRelease")}(!i.freeMode.momentum||d>=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses())}}}})},function({swiper:e,extendParams:t}){let s,a,i;t({grid:{rows:1,fill:"column"}}),e.grid={initSlides:t=>{const{slidesPerView:r}=e.params,{rows:n,fill:l}=e.params.grid;a=s/n,i=Math.floor(t/n),s=Math.floor(t/n)===t/n?t:Math.ceil(t/n)*n,"auto"!==r&&"row"===l&&(s=Math.max(s,r*n))},updateSlide:(t,r,n,l)=>{const{slidesPerGroup:o,spaceBetween:d}=e.params,{rows:p,fill:c}=e.params.grid;let u,h,m;if("row"===c&&o>1){const e=Math.floor(t/(o*p)),a=t-p*o*e,i=0===e?o:Math.min(Math.ceil((n-e*p*o)/p),o);m=Math.floor(a/i),h=a-m*i+e*o,u=h+m*s/p,r.css({"-webkit-order":u,order:u})}else"column"===c?(h=Math.floor(t/p),m=t-h*p,(h>i||h===i&&m===p-1)&&(m+=1,m>=p&&(m=0,h+=1))):(m=Math.floor(t/a),h=t-m*a);r.css(l("margin-top"),0!==m?d&&`${d}px`:"")},updateWrapperSize:(t,a,i)=>{const{spaceBetween:r,centeredSlides:n,roundLengths:l}=e.params,{rows:o}=e.params.grid;if(e.virtualSize=(t+r)*s,e.virtualSize=Math.ceil(e.virtualSize/o)-r,e.$wrapperEl.css({[i("width")]:`${e.virtualSize+r}px`}),n){a.splice(0,a.length);const t=[];for(let s=0;s{const{slides:t}=e,s=e.params.fadeEffect;for(let a=0;a{const{transformEl:s}=e.params.fadeEffect;(s?e.slides.find(s):e.slides).transition(t),K({swiper:e,duration:t,transformEl:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!e.params.cssMode})})},function({swiper:e,extendParams:t,on:s}){t({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}}),F({effect:"cube",swiper:e,on:s,setTranslate:()=>{const{$el:t,$wrapperEl:s,slides:a,width:i,height:r,rtlTranslate:n,size:l,browser:o}=e,p=e.params.cubeEffect,c=e.isHorizontal(),u=e.virtual&&e.params.virtual.enabled;let h,m=0;p.shadow&&(c?(h=s.find(".swiper-cube-shadow"),0===h.length&&(h=d('
    '),s.append(h)),h.css({height:`${i}px`})):(h=t.find(".swiper-cube-shadow"),0===h.length&&(h=d('
    '),t.append(h))));for(let e=0;e-1&&(m=90*s+90*o,n&&(m=90*-s-90*o)),t.transform(v),p.slideShadows){let e=c?t.find(".swiper-slide-shadow-left"):t.find(".swiper-slide-shadow-top"),s=c?t.find(".swiper-slide-shadow-right"):t.find(".swiper-slide-shadow-bottom");0===e.length&&(e=d(`
    `),t.append(e)),0===s.length&&(s=d(`
    `),t.append(s)),e.length&&(e[0].style.opacity=Math.max(-o,0)),s.length&&(s[0].style.opacity=Math.max(o,0))}}if(s.css({"-webkit-transform-origin":`50% 50% -${l/2}px`,"transform-origin":`50% 50% -${l/2}px`}),p.shadow)if(c)h.transform(`translate3d(0px, ${i/2+p.shadowOffset}px, ${-i/2}px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`);else{const e=Math.abs(m)-90*Math.floor(Math.abs(m)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;h.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${r/2+i}px, ${-r/2/a}px) rotateX(-90deg)`)}const f=o.isSafari||o.isWebView?-l/2:0;s.transform(`translate3d(0px,0,${f}px) rotateX(${e.isHorizontal()?0:m}deg) rotateY(${e.isHorizontal()?-m:0}deg)`)},setTransition:t=>{const{$el:s,slides:a}=e;a.transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t),e.params.cubeEffect.shadow&&!e.isHorizontal()&&s.find(".swiper-cube-shadow").transition(t)},perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function({swiper:e,extendParams:t,on:s}){t({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}}),F({effect:"flip",swiper:e,on:s,setTranslate:()=>{const{slides:t,rtlTranslate:s}=e,a=e.params.flipEffect;for(let i=0;i{const{transformEl:s}=e.params.flipEffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t),K({swiper:e,duration:t,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!e.params.cssMode})})},function({swiper:e,extendParams:t,on:s}){t({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,transformEl:null}}),F({effect:"coverflow",swiper:e,on:s,setTranslate:()=>{const{width:t,height:s,slides:a,slidesSizesGrid:i}=e,r=e.params.coverflowEffect,n=e.isHorizontal(),l=e.translate,o=n?t/2-l:s/2-l,d=n?r.rotate:-r.rotate,p=r.depth;for(let e=0,t=a.length;e0?l:0),s.length&&(s[0].style.opacity=-l>0?-l:0)}}},setTransition:t=>{const{transformEl:s}=e.params.coverflowEffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t)},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function({swiper:e,extendParams:t,on:s}){t({creativeEffect:{transformEl:null,limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const a=e=>"string"==typeof e?e:`${e}px`;F({effect:"creative",swiper:e,on:s,setTranslate:()=>{const{slides:t,$wrapperEl:s,slidesSizesGrid:i}=e,r=e.params.creativeEffect,{progressMultiplier:n}=r,l=e.params.centeredSlides;if(l){const t=i[0]/2-e.params.slidesOffsetBefore||0;s.transform(`translateX(calc(50% - ${t}px))`)}for(let s=0;s0&&(f=r.prev,m=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${a(f.translate[t])} * ${Math.abs(d*n)}))`})),h.forEach(((e,t)=>{h[t]=f.rotate[t]*Math.abs(d*n)})),i[0].style.zIndex=-Math.abs(Math.round(o))+t.length;const g=u.join(", "),v=`rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,w=p<0?`scale(${1+(1-f.scale)*p*n})`:`scale(${1-(1-f.scale)*p*n})`,b=p<0?1+(1-f.opacity)*p*n:1-(1-f.opacity)*p*n,x=`translate3d(${g}) ${v} ${w}`;if(m&&f.shadow||!m){let e=i.children(".swiper-slide-shadow");if(0===e.length&&f.shadow&&(e=Z(r,i)),e.length){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e[0].style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const y=U(r,i);y.transform(x).css({opacity:b}),f.origin&&y.css("transform-origin",f.origin)}},setTransition:t=>{const{transformEl:s}=e.params.creativeEffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow").transition(t),K({swiper:e,duration:t,transformEl:s,allSlides:!0})},perspective:()=>e.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!e.params.cssMode})})},function({swiper:e,extendParams:t,on:s}){t({cardsEffect:{slideShadows:!0,transformEl:null}}),F({effect:"cards",swiper:e,on:s,setTranslate:()=>{const{slides:t,activeIndex:s}=e,a=e.params.cardsEffect,{startTranslate:i,isTouched:r}=e.touchEventsData,n=e.translate;for(let l=0;l0&&p<1&&(r||e.params.cssMode)&&n-1&&(r||e.params.cssMode)&&n>i;if(w||b){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;g+=-28*p*e,f+=-.5*e,v+=96*e,h=-25*e*Math.abs(p)+"%"}if(u=p<0?`calc(${u}px + (${v*Math.abs(p)}%))`:p>0?`calc(${u}px + (-${v*Math.abs(p)}%))`:`${u}px`,!e.isHorizontal()){const e=h;h=u,u=e}const x=`\n translate3d(${u}, ${h}, ${m}px)\n rotateZ(${g}deg)\n scale(${p<0?""+(1+(1-f)*p):""+(1-(1-f)*p)})\n `;if(a.slideShadows){let e=o.find(".swiper-slide-shadow");0===e.length&&(e=Z(a,o)),e.length&&(e[0].style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}o[0].style.zIndex=-Math.abs(Math.round(d))+t.length;U(a,o).transform(x)}},setTransition:t=>{const{transformEl:s}=e.params.cardsEffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow").transition(t),K({swiper:e,duration:t,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!e.params.cssMode})})}];return H.use(J),H})); + //# sourceMappingURL=swiper-bundle.min.js.map \ No newline at end of file diff --git a/public/css/akaunting-color.css b/public/css/akaunting-color.css deleted file mode 100644 index 3787d0138..000000000 --- a/public/css/akaunting-color.css +++ /dev/null @@ -1,2519 +0,0 @@ -/*--Body Color--*/ -body -{ - color: #55588b; -} -/*--Body Color Finish--*/ - -/*--Header Set Color--*/ -h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 -{ - color: #55588b; -} -/*--Header Set Color Finish--*/ - -/*--------Selection Reference--------*/ -::selection -{ - background-color: #3c3f72; - color: #ffffff; -} -/*--------Selection Reference Finish--------*/ - -/*--Anchor Color--*/ -a -{ - color: #6da252; -} -a:hover -{ - color: #3d7224; -} -/*--Anchor Color Finish--*/ - - -/*--------Text Colors--------*/ -/*--Default Color--*/ -.text-default -{ - color: #3c3f72 !important; -} - -a.text-default:hover, -a.text-default:focus -{ - color: #3c3f72 !important; -} -/*--Default Color Finish--*/ - -/*--Primary Color--*/ -.text-primary -{ - color: #55588b !important; -} - -a.text-primary:hover, -a.text-primary:focus -{ - color: #55588b !important; -} -/*--Primary Color Finish--*/ - -/*--Secondary Color--*/ -.text-secondary -{ - color: #e5e5e5 !important; -} - -a.text-secondary:hover, -a.text-secondary:focus -{ - color: #e5e5e5 !important; -} -/*--Secondary Color Finish--*/ - -/*--Info Color--*/ -.text-info -{ - color: #328aef !important; -} - -a.text-info:hover, -a.text-info:focus -{ - color: #328aef !important; -} -/*--Info Color Finish--*/ - -/*--Success Color--*/ -.text-success -{ - color: #6da252 !important; -} - -a.text-success:hover, -a.text-success:focus -{ - color: #6da252 !important; -} -/*--Success Color Finish--*/ - -/*--Danger Color--*/ -.text-danger -{ - color: #ef3232 !important; -} - -a.text-danger:hover, -a.text-danger:focus -{ - color: #ef3232 !important; -} -/*--Danger Color Finish--*/ - -/*--Warning Color--*/ -.text-warning -{ - color: #efad32 !important; -} - -a.text-warning:hover, -a.text-warning:focus -{ - color: #efad32 !important; -} -/*--Warning Color Finish--*/ - -/*--Light Color--*/ -.text-light -{ - color: #e5e5e5 !important; -} - -a.text-light:hover, -a.text-light:focus -{ - color: #e5e5e5 !important; -} -/*--Light Color Finish--*/ - -/*--Dark Color--*/ -.text-dark -{ - color: #191919 !important; -} - -a.text-dark:hover, -a.text-dark:focus -{ - color: #191919 !important; -} -/*--Dark Color Finish--*/ - -/*--Neutral Color--*/ -.text-neutral -{ - color: #ffffff !important; -} - -a.text-neutral:hover, -a.text-neutral:focus -{ - color: #ffffff !important; -} -/*--Neutral Color Finish--*/ - -/*--White color--*/ -.text-white -{ - color: #ffffff !important; -} - -a.text-white:hover, -a.text-white:focus -{ - color: #ffffff !important; -} -/*--White Color Finish--*/ - -/*--Darker Color--*/ -.text-darker -{ - color: #000000 !important; -} - -a.text-darker:hover, -a.text-darker:focus -{ - color: #000000 !important; -} -/*--Darker Color Finish--*/ - -/*--Yellow Color--*/ -.text-yellow -{ - color: #efef32 !important; -} - -a.text-yellow:hover, -a.text-yellow:focus -{ - color: #efef32 !important; -} -/*--Yellow Color Finish--*/ -/*--------Text Colors Finish--------*/ - - -/*--------Alert Colors--------*/ -/*--Default Color--*/ -.alert-default -{ - color: #ffffff; - border-color: #3c3f72; - background-color: #3c3f72; -} -.alert-default a -{ - color: #ffffff; -} -.alert-default a:hover -{ - color: #fff; -} -.alert-default hr -{ - border-top-color: #7376a0; -} -.alert-default .alert-link -{ - color: #161842; -} -/*--Default Color Finish--*/ - -/*--Primary Color--*/ -.alert-primary -{ - color: #ffffff; - border-color: #55588b; - background-color: #55588b; -} -.alert-primary a -{ - color: #ffffff; -} -.alert-primary a:hover -{ - color: #fff; -} -.alert-primary hr -{ - border-top-color: #9699bc; -} -.alert-primary .alert-link -{ - color: #26285b; -} -/*--Primary Color Finish--*/ - -/*--Secondary Color--*/ -.alert-secondary -{ - color: #191919; - border-color: #e5e5e5; - background-color: #e5e5e5; -} -.alert-secondary a -{ - color: #191919; -} -.alert-secondary a:hover -{ - color: #191919; -} -.alert-secondary hr -{ - border-top-color: #ffffff; -} -.alert-secondary .alert-link -{ - color: #000000; -} -/*--Secondary Color Finish--*/ - -/*--Info Color--*/ -.alert-info -{ - color: #ffffff; - border-color: #328aef; - background-color: #328aef; -} -.alert-info a -{ - color: #ffffff; -} -.alert-info a:hover -{ - color: #ffffff; -} -.alert-info hr -{ - border-top-color: #66afff; -} -.alert-info .alert-link -{ - color: #0358bf; -} -/*--Info Color Finish--*/ - -/*--Success Color--*/ -.alert-success -{ - color: #ffffff; - border-color: #6da252; - background-color: #6da252; -} -.alert-success a -{ - color: #ffffff; -} -.alert-success a:hover -{ - color: #ffffff; -} -.alert-success hr -{ - border-top-color: #b8d3a9; -} -.alert-success .alert-link -{ - color: #3d7224; -} -/*--Success Color Finish--*/ - -/*--Danger Color--*/ -.alert-danger -{ - color: #ffffff; - border-color: #ef3232; - background-color: #ef3232; -} -.alert-danger a -{ - color: #ffffff; -} -.alert-danger a:hover -{ - color: #ffffff; -} -.alert-danger hr -{ - border-top-color: #ff6666; -} -.alert-danger .alert-link -{ - color: #bf0303; -} -/*--Danger Color Finish--*/ - -/*--Warning Color--*/ -.alert-warning -{ - color: #ffffff; - border-color: #efad32; - background-color: #efad32; -} -.alert-warning a -{ - color: #ffffff; -} -.alert-warning a:hover -{ - color: #ffffff; -} -.alert-warning hr -{ - border-top-color: #ffc666; -} -.alert-warning .alert-link -{ - color: #bf8003; -} -/*--Warning Color Finish--*/ -/*--------Alert Colors Finish--------*/ - - -/*--------Badge Colors--------*/ -/*--Default Color--*/ -.badge-default -{ - color: #ffffff; - background-color: #3c3f72; -} -.badge-default[href]:hover, -.badge-default[href]:focus -{ - color: #ffffff; - background-color: #161842; -} -/*--Default Color Finish--*/ - -/*--Primary Color--*/ -.badge-primary -{ - color: #ffffff; - background-color: #55588b; -} -.badge-primary[href]:hover, -.badge-primary[href]:focus -{ - color: #ffffff; - background-color: #26285b; -} -/*--Primary Color Finish--*/ - -/*--Secondary Color--*/ -.badge-secondary -{ - color: #191919; - background-color: #f8f9fe; -} -.badge-secondary[href]:hover, -.badge-secondary[href]:focus -{ - color: #191919; - background-color: #f8f9fe; -} -/*--Secondary Color Finish--*/ - -/*--Info Color--*/ -.badge-info -{ - color: #ffffff; - background-color: #328aef; -} -.badge-info[href]:hover, -.badge-info[href]:focus -{ - color: #ffffff; - background-color: #0358bf; -} -/*--Info Color Finish--*/ - -/*--Success Color--*/ -.badge-success -{ - color: #ffffff; - background-color: #6da252; -} -.badge-success[href]:hover, -.badge-success[href]:focus -{ - color: #ffffff; - background-color: #3d7224; -} -/*--Success Color Finish--*/ - -/*--Danger Color--*/ -.badge-danger -{ - color: #ffffff; - background-color: #ef3232; -} -.badge-danger[href]:hover, -.badge-danger[href]:focus -{ - color: #ffffff; - background-color: #bf0303; -} -/*--Danger Color Finish--*/ - -/*--Warning Color--*/ -.badge-warning -{ - color: #ffffff; - background-color: #efad32; -} -.badge-warning[href]:hover, -.badge-warning[href]:focus -{ - color: #ffffff; - background-color: #bf8003; -} -/*--Warning Color Finish--*/ -/*--Dark Color--*/ -.badge-dark -{ - color: #fff; - background-color: #191919; -} -.badge-dark[href]:hover, -.badge-dark[href]:focus -{ - color: #fff; - background-color: #191919; -} -/*--Dark Color Finish--*/ -/*--Darker Color--*/ -.badge-darker -{ - color: #fff; - background-color: #000000; -} -.badge-darker[href]:hover, -.badge-darker[href]:focus -{ - color: #fff; - background-color: #000000; -} -/*--Darker Color Finish--*/ -/*--------Badge Colors Finish--------*/ - -/*--------Background Colors--------*/ -/*--Default Color--*/ -.bg-default -{ - background-color: #3c3f72 !important; -} - -a.bg-default:hover, -a.bg-default:focus, -button.bg-default:hover, -button.bg-default:focus -{ - background-color: #161842 !important; -} -/*--Default Color Finish--*/ - -/*--Primary Color--*/ -.bg-primary -{ - background-color: #55588b !important; -} - -a.bg-primary:hover, -a.bg-primary:focus, -button.bg-primary:hover, -button.bg-primary:focus -{ - background-color: #26285b !important; -} -/*--Primary Color Finish--*/ - -/*--Secondary Color--*/ -.bg-secondary -{ - background-color: #e5e5e5 !important; -} - -a.bg-secondary:hover, -a.bg-secondary:focus, -button.bg-secondary:hover, -button.bg-secondary:focus -{ - background-color: #999999 !important; -} -/*--Secondary Color Finish--*/ - -/*--Info Color--*/ -.bg-info -{ - background-color: #328aef !important; -} - -a.bg-info:hover, -a.bg-info:focus, -button.bg-info:hover, -button.bg-info:focus -{ - background-color: #0358bf !important; -} -/*--Info Color Finish--*/ - -/*--Success Color--*/ -.bg-success -{ - background-color: #6da252 !important; -} - -a.bg-success:hover, -a.bg-success:focus, -button.bg-success:hover, -button.bg-success:focus -{ - background-color: #3d7224 !important; -} -/*--Success Color Finish--*/ - -/*--Danger Color--*/ -.bg-danger -{ - background-color: #ef3232 !important; -} - -a.bg-danger:hover, -a.bg-danger:focus, -button.bg-danger:hover, -button.bg-danger:focus -{ - background-color: #bf0303 !important; -} -/*--Danger Color Finish--*/ - -/*--Warning Color--*/ -.bg-warning -{ - background-color: #efad32 !important; -} - -a.bg-warning:hover, -a.bg-warning:focus, -button.bg-warning:hover, -button.bg-warning:focus -{ - background-color: #bf8003 !important; -} -/*--Warning Color Finish--*/ - -/*--Light Color--*/ -.bg-light -{ - background-color: #e5e5e5 !important; -} - -a.bg-light:hover, -a.bg-light:focus, -button.bg-light:hover, -button.bg-light:focus -{ - background-color: #999999 !important; -} -/*--Light Color Finish--*/ - -/*--Dark Color--*/ -.bg-dark -{ - background-color: #191919 !important; -} - -a.bg-dark:hover, -a.bg-dark:focus, -button.bg-dark:hover, -button.bg-dark:focus -{ - background-color: #000000 !important; -} -/*--Dark Color Finish--*/ - -/*--Neutral Color--*/ -.bg-neutral -{ - background-color: #ffffff !important; -} - -a.bg-neutral:hover, -a.bg-neutral:focus, -button.bg-neutral:hover, -button.bg-neutral:focus -{ - background-color: #ffffff !important; -} -/*--Neutral Color Finish--*/ - -/*--White Color--*/ -.bg-white -{ - background-color: #ffffff !important; -} - -a.bg-white:hover, -a.bg-white:focus, -button.bg-white:hover, -button.bg-white:focus -{ - background-color: #e5e5e5 !important; -} -/*--White Color Finish--*/ - -/*--Darker Color--*/ -.bg-darker -{ - background-color: #000000 !important; -} - -a.bg-darker:hover, -a.bg-darker:focus, -button.bg-darker:hover, -button.bg-darker:focus -{ - background-color: #191919 !important; -} -/*--Darker Color Finish--*/ - -/*--Green Color--*/ -.bg-green -{ - background-color: #6da252 !important; -} - -a.bg-green:hover, -a.bg-green:focus, -button.bg-green:hover, -button.bg-green:focus -{ - background-color: #3d7224 !important; -} -/*--Green Color Finish--*/ - -/*--Yellow Color--*/ -.bg-yellow -{ - background-color: #efef32 !important; -} - -a.bg-yellow:hover, -a.bg-yellow:focus, -button.bg-yellow:hover, -button.bg-yellow:focus -{ - background-color: #bcbf03 !important; -} -/*--Yellow Color Finish--*/ - -/*--Orange Color Finish--*/ -.bg-orange -{ - background-color: #fb6340 !important; -} - -a.bg-orange:hover, -a.bg-orange:focus, -button.bg-orange:hover, -button.bg-orange:focus -{ - background-color: #fb6340 !important; -} -/*--Orange Color Finish--*/ - -/*--Blue Color Finish--*/ -.bg-blue -{ - background-color: #5e72e4 !important; -} - -a.bg-blue:hover, -a.bg-blue:focus, -button.bg-blue:hover, -button.bg-blue:focus -{ - background-color: #5e72e4 !important; -} -/*--Blue Color Finish--*/ - -/*--purple Color Finish--*/ -.bg-purple -{ - background-color: #8965e0 !important; -} - -a.bg-purple:hover, -a.bg-purple:focus, -button.bg-purple:hover, -button.bg-purple:focus -{ - background-color: #8965e0 !important; -} -/*--purple Color Finish--*/ - -/*--red Color Finish--*/ -.bg-red -{ - background-color: #f5365c !important; -} - -a.bg-red:hover, -a.bg-red:focus, -button.bg-red:hover, -button.bg-red:focus -{ - background-color: #f5365c !important; -} -/*--red Color Finish--*/ - - -/*--------Background Colors Finish--------*/ - - -/*--------Button Colors--------*/ -/*--Default Color--*/ -.btn-default -{ - color: #ffffff; - border-color: #3c3f72; - background-color: #3c3f72; - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08); -} -.btn-default:hover -{ - color: #ffffff; - border-color: #3c3f72; - background-color: #3c3f72; -} -.btn-default:focus, -.btn-default.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(63, 63, 114, .5); -} -.btn-default.disabled, -.btn-default:disabled -{ - color: #ffffff; - border-color: #3c3f72; - background-color: #3c3f72; -} -.btn-default:not(:disabled):not(.disabled):active, -.btn-default:not(:disabled):not(.disabled).active, -.show > .btn-default.dropdown-toggle -{ - color: #ffffff; - border-color: #3c3f72; - background-color: #3c3f72; -} -.btn-default:not(:disabled):not(.disabled):active:focus, -.btn-default:not(:disabled):not(.disabled).active:focus, -.show > .btn-default.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(63, 63, 114, .5); -} -/*--Default Color Finish--*/ - -/*--Primary Color--*/ -.btn-primary -{ - color: #ffffff; - border-color: #55588b; - background-color: #55588b; - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08); -} -.btn-primary:hover -{ - color: #ffffff; - border-color: #55588b; - background-color: #55588b; -} -.btn-primary:focus, -.btn-primary.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(85, 88, 139, .5); -} -.btn-primary.disabled, -.btn-primary:disabled -{ - color: #ffffff; - border-color: #55588b; - background-color: #55588b; -} -.btn-primary:not(:disabled):not(.disabled):active, -.btn-primary:not(:disabled):not(.disabled).active, -.show > .btn-primary.dropdown-toggle -{ - color: #ffffff; - border-color: #55588b; - background-color: #55588b; -} -.btn-primary:not(:disabled):not(.disabled):active:focus, -.btn-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-primary.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(85, 88, 139, .5); -} -/*--Primary Color Finish--*/ - -/*--Secondary Color--*/ -.btn-secondary -{ - color: #191919; - border-color: #e5e5e5; - background-color: #e5e5e5; - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08); -} -.btn-secondary:hover -{ - color: #191919; - border-color: #e5e5e5; - background-color: #e5e5e5; -} -.btn-secondary:focus, -.btn-secondary.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(238, 238, 243, .5); -} -.btn-secondary.disabled, -.btn-secondary:disabled -{ - color: #191919; - border-color: #e5e5e5; - background-color: #e5e5e5; -} -.btn-secondary:not(:disabled):not(.disabled):active, -.btn-secondary:not(:disabled):not(.disabled).active, -.show > .btn-secondary.dropdown-toggle -{ - color: #191919; - border-color: #e5e5e5; - background-color: #e5e5e5; -} -.btn-secondary:not(:disabled):not(.disabled):active:focus, -.btn-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-secondary.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(238, 238, 243, .5); -} -/*--Secondary Color Finish--*/ - -/*--Info Color--*/ -.btn-info -{ - color: #ffffff; - border-color: #328aef; - background-color: #328aef; - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08); -} -.btn-info:hover -{ - color: #ffffff; - border-color: #328aef; - background-color: #328aef; -} -.btn-info:focus, -.btn-info.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(50, 138, 239, .5); -} -.btn-info.disabled, -.btn-info:disabled -{ - color: #ffffff; - border-color: #328aef; - background-color: #328aef; -} -.btn-info:not(:disabled):not(.disabled):active, -.btn-info:not(:disabled):not(.disabled).active, -.show > .btn-info.dropdown-toggle -{ - color: #ffffff; - border-color: #328aef; - background-color: #328aef; -} -.btn-info:not(:disabled):not(.disabled):active:focus, -.btn-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-info.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(50, 138, 239, .5); -} -/*--Info Color Finish--*/ - -/*--Success Color--*/ -.btn-success -{ - color: #ffffff; - border-color: #6da252; - background-color: #6da252; - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08); -} -.btn-success:hover -{ - color: #ffffff; - border-color: #6da252; - background-color: #6da252; -} -.btn-success:focus, -.btn-success.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(109, 162, 82, .5); -} -.btn-success.disabled, -.btn-success:disabled -{ - color: #ffffff; - border-color: #6da252; - background-color: #6da252; -} -.btn-success:not(:disabled):not(.disabled):active, -.btn-success:not(:disabled):not(.disabled).active, -.show > .btn-success.dropdown-toggle -{ - color: #ffffff; - border-color: #6da252; - background-color: #6da252; -} -.btn-success:not(:disabled):not(.disabled):active:focus, -.btn-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-success.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(109, 162, 82, .5); -} -.form-group.disabled .btn-group.btn-group-toggle.radio-yes-no .btn-success.active-disabled { - color: #ffffff !important; - border-color: #6da252 !important; - background-color: #6da252 !important; -} -/*--Success Color Finish--*/ - -/*--Danger Color--*/ -.btn-danger -{ - color: #ffffff; - border-color: #ef3232; - background-color: #ef3232; - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08); -} -.btn-danger:hover -{ - color: #ffffff; - border-color: #ef3232; - background-color: #ef3232; -} -.btn-danger:focus, -.btn-danger.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(239, 50, 50, .5); -} -.btn-danger.disabled, -.btn-danger:disabled -{ - color: #ffffff; - border-color: #ef3232; - background-color: #ef3232; -} -.btn-danger:not(:disabled):not(.disabled):active, -.btn-danger:not(:disabled):not(.disabled).active, -.show > .btn-danger.dropdown-toggle -{ - color: #ffffff; - border-color: #ef3232; - background-color: #ef3232; -} -.btn-danger:not(:disabled):not(.disabled):active:focus, -.btn-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-danger.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(239, 50, 50, .5); -} -.form-group.disabled .btn-group.btn-group-toggle.radio-yes-no .btn-danger.active-disabled { - color: #ffffff !important; - border-color: #ef3232 !important; - background-color: #ef3232 !important; -} -/*--Danger Color Finish--*/ - -/*--Warning Color--*/ -.btn-warning -{ - color: #ffffff; - border-color: #efad32; - background-color: #efad32; - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08); -} -.btn-warning:hover -{ - color: #ffffff; - border-color: #efad32; - background-color: #efad32; -} -.btn-warning:focus, -.btn-warning.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(239, 173, 50, .5); -} -.btn-warning.disabled, -.btn-warning:disabled -{ - color: #ffffff; - border-color: #efad32; - background-color: #efad32; -} -.btn-warning:not(:disabled):not(.disabled):active, -.btn-warning:not(:disabled):not(.disabled).active, -.show > .btn-warning.dropdown-toggle -{ - color: #ffffff; - border-color: #efad32; - background-color: #efad32; -} -.btn-warning:not(:disabled):not(.disabled):active:focus, -.btn-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-warning.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(239, 173, 50, .5); -} -/*--Warning Color Finish--*/ - -/*--White Color--*/ -.btn-white -{ - color: #000000; - border-color: #ffffff; - background-color: #ffffff; - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08); -} -.btn-white:hover -{ - color: #000000; - border-color: #ffffff; - background-color: #ffffff; -} -.btn-white:focus, -.btn-white.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(255, 255, 255, .5); -} -.btn-white.disabled, -.btn-white:disabled -{ - color: #000000; - border-color: #ffffff; - background-color: #ffffff; -} -.btn-white:not(:disabled):not(.disabled):active, -.btn-white:not(:disabled):not(.disabled).active, -.show > .btn-white.dropdown-toggle -{ - color: #000000; - border-color: #ffffff; - background-color: #ffffff; -} -.btn-white:not(:disabled):not(.disabled):active:focus, -.btn-white:not(:disabled):not(.disabled).active:focus, -.show > .btn-white.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(255, 255, 255, .5); -} -/*--White Color Finish--*/ - -/*--Darker Color--*/ -.btn-darker -{ - color: #ffffff; - border-color: #000000; - background-color: #000000; - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08); -} -.btn-darker:hover -{ - color: #ffffff; - border-color: #000000; - background-color: #000000; -} -.btn-darker:focus, -.btn-darker.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(0, 0, 0, .5); -} -.btn-darker.disabled, -.btn-darker:disabled -{ - color: #ffffff; - border-color: #000000; - background-color: #000000; -} -.btn-darker:not(:disabled):not(.disabled):active, -.btn-darker:not(:disabled):not(.disabled).active, -.show > .btn-darker.dropdown-toggle -{ - color: #ffffff; - border-color: #000000; - background-color: #000000; -} -.btn-darker:not(:disabled):not(.disabled):active:focus, -.btn-darker:not(:disabled):not(.disabled).active:focus, -.show > .btn-darker.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(0, 0, 0, .5); -} -/*--Darker Color Finish--*/ - -/*--Neutral Color--*/ -.btn-neutral -{ - color: #000000; - border: 0; - border-color: unset; - background-color: unset; - box-shadow: unset; -} -.btn-neutral:hover -{ - color: #000000; - border-color: #ffffff; - background-color: #ffffff; -} -.btn-neutral:focus, -.btn-neutral.focus -{ - box-shadow: 0 4px 6px rgba(30, 31, 57, .11), 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 0 rgba(255, 255, 255, .5); -} -.btn-neutral.disabled, -.btn-neutral:disabled -{ - color: #000000; - border-color: unset; - background-color: unset; -} -.btn-neutral:focus-within -{ - color: #000000; - border-color: unset; - background-color: unset; - box-shadow: unset; -} -.btn-neutral:not(:disabled):not(.disabled):active, -.btn-neutral:not(:disabled):not(.disabled).active, -.show > .btn-neutral.dropdown-toggle -{ - color: #000000; - border-color: unset; - background-color: unset; -} -.btn-neutral:not(:disabled):not(.disabled):active:focus, -.btn-neutral:not(:disabled):not(.disabled).active:focus, -.show > .btn-neutral.dropdown-toggle:focus -{ - box-shadow: none, 0 0 0 0 rgba(255, 255, 255, .5); -} -/*--Neutral Color Finish--*/ -/*--------Button Colors Finish--------*/ - - -/*--------Button Outline Colors--------*/ -/*--Default Color--*/ -.btn-outline-default -{ - color: #3c3f72; - border-color: #3c3f72; - background-color: transparent; - background-image: none; -} -.btn-outline-default:hover -{ - color: #ffffff; - border-color: #3c3f72; - background-color: #3c3f72; -} -.btn-outline-default:focus, -.btn-outline-default.focus -{ - box-shadow: 0 0 0 0 rgba(63, 63, 114, .5); -} -.btn-outline-default.disabled, -.btn-outline-default:disabled -{ - color: #3c3f72; - background-color: transparent; -} -.btn-outline-default:not(:disabled):not(.disabled):active, -.btn-outline-default:not(:disabled):not(.disabled).active, -.show > .btn-outline-default.dropdown-toggle -{ - color: #ffffff; - border-color: #3c3f72; - background-color: #3c3f72; -} -.btn-outline-default:not(:disabled):not(.disabled):active:focus, -.btn-outline-default:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-default.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(63, 63, 114, .5); -} -/*--Default Color Finish--*/ - -/*--Primary Color--*/ -.btn-outline-primary -{ - color: #55588b; - border-color: #55588b; - background-color: transparent; - background-image: none; -} -.btn-outline-primary:hover -{ - color: #ffffff; - border-color: #55588b; - background-color: #55588b; -} -.btn-outline-primary:focus, -.btn-outline-primary.focus -{ - box-shadow: 0 0 0 0 rgba(85, 88, 139, .5); -} -.btn-outline-primary.disabled, -.btn-outline-primary:disabled -{ - color: #55588b; - background-color: transparent; -} -.btn-outline-primary:not(:disabled):not(.disabled):active, -.btn-outline-primary:not(:disabled):not(.disabled).active, -.show > .btn-outline-primary.dropdown-toggle -{ - color: #ffffff; - border-color: #55588b; - background-color: #55588b; -} -.btn-outline-primary:not(:disabled):not(.disabled):active:focus, -.btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-primary.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(85, 88, 139, .5); -} -/*--Primary Color Finish--*/ - -/*--Secondary Color--*/ -.btn-outline-secondary -{ - color: #55588b; - border-color: transparent; - background-color: transparent; - background-image: none; -} -.btn-outline-secondary:hover -{ - color: #55588b; - border-color: transparent; - background-color: #e5e5e5; - box-shadow: none; -} -.btn-outline-secondary:focus, -.btn-outline-secondary.focus -{ - box-shadow: none; -} -.btn-outline-secondary.disabled, -.btn-outline-secondary:disabled -{ - color: #e5e5e5; - background-color: transparent; -} -.btn-outline-secondary:not(:disabled):not(.disabled):active, -.btn-outline-secondary:not(:disabled):not(.disabled).active, -.show > .btn-outline-secondary.dropdown-toggle -{ - color: #55588b; - border-color: transparent; - background-color: #e5e5e5; -} -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, -.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-secondary.dropdown-toggle:focus -{ - box-shadow: none; -} -/*--Secondary Color Finish--*/ - -/*--Info Color--*/ -.btn-outline-info -{ - color: #328aef; - border-color: #328aef; - background-color: transparent; - background-image: none; -} -.btn-outline-info:hover -{ - color: #ffffff; - border-color: #328aef; - background-color: #328aef; -} -.btn-outline-info:focus, -.btn-outline-info.focus -{ - box-shadow: 0 0 0 0 rgba(50, 138, 239, .5); -} -.btn-outline-info.disabled, -.btn-outline-info:disabled -{ - color: #328aef; - background-color: transparent; -} -.btn-outline-info:not(:disabled):not(.disabled):active, -.btn-outline-info:not(:disabled):not(.disabled).active, -.show > .btn-outline-info.dropdown-toggle -{ - color: #ffffff; - border-color: #328aef; - background-color: #328aef; -} -.btn-outline-info:not(:disabled):not(.disabled):active:focus, -.btn-outline-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-info.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(50, 138, 239, .5); -} -/*--Info Color Finish--*/ - -/*--Success Color--*/ -.btn-outline-success -{ - color: #6da252; - border-color: #6da252; - background-color: transparent; - background-image: none; -} -.btn-outline-success:hover -{ - color: #ffffff; - border-color: #6da252; - background-color: #6da252; -} -.btn-outline-success:focus, -.btn-outline-success.focus -{ - box-shadow: 0 0 0 0 rgba(109, 162, 82, .5); -} -.btn-outline-success.disabled, -.btn-outline-success:disabled -{ - color: #6da252; - background-color: transparent; -} -.btn-outline-success:not(:disabled):not(.disabled):active, -.btn-outline-success:not(:disabled):not(.disabled).active, -.show > .btn-outline-success.dropdown-toggle -{ - color: #ffffff; - border-color: #6da252; - background-color: #6da252; -} -.btn-outline-success:not(:disabled):not(.disabled):active:focus, -.btn-outline-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-success.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(109, 162, 82, .5); -} -/*--Success Color Finish--*/ - -/*--Danger Color--*/ -.btn-outline-danger -{ - color: #ef3232; - border-color: #ef3232; - background-color: transparent; - background-image: none; -} -.btn-outline-danger:hover -{ - color: #ffffff; - border-color: #ef3232; - background-color: #ef3232; -} -.btn-outline-danger:focus, -.btn-outline-danger.focus -{ - box-shadow: 0 0 0 0 rgba(239, 50, 50, .5); -} -.btn-outline-danger.disabled, -.btn-outline-danger:disabled -{ - color: #ef3232; - background-color: transparent; -} -.btn-outline-danger:not(:disabled):not(.disabled):active, -.btn-outline-danger:not(:disabled):not(.disabled).active, -.show > .btn-outline-danger.dropdown-toggle -{ - color: #ffffff; - border-color: #ef3232; - background-color: #ef3232; -} -.btn-outline-danger:not(:disabled):not(.disabled):active:focus, -.btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-danger.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(239, 50, 50, .5); -} -/*--Danger Color Finish--*/ - -/*--Warning Color--*/ -.btn-outline-warning -{ - color: #efad32; - border-color: #efad32; - background-color: transparent; - background-image: none; -} -.btn-outline-warning:hover -{ - color: #ffffff; - border-color: #efad32; - background-color: #efad32; -} -.btn-outline-warning:focus, -.btn-outline-warning.focus -{ - box-shadow: 0 0 0 0 rgba(239, 173, 50, .5); -} -.btn-outline-warning.disabled, -.btn-outline-warning:disabled -{ - color: #efad32; - background-color: transparent; -} -.btn-outline-warning:not(:disabled):not(.disabled):active, -.btn-outline-warning:not(:disabled):not(.disabled).active, -.show > .btn-outline-warning.dropdown-toggle -{ - color: #ffffff; - border-color: #efad32; - background-color: #efad32; -} -.btn-outline-warning:not(:disabled):not(.disabled):active:focus, -.btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-warning.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(239, 173, 50, .5); -} -/*--Warning Color Finish--*/ - -/*--Light Color--*/ -.btn-outline-light -{ - color: #e5e5e5; - border-color: #e5e5e5; - background-color: transparent; - background-image: none; -} -.btn-outline-light:hover -{ - color: #191919; - border-color: #e5e5e5; - background-color: #e5e5e5; -} -.btn-outline-light:focus, -.btn-outline-light.focus -{ - box-shadow: 0 0 0 0 rgba(238, 238, 243, .5); -} -.btn-outline-light.disabled, -.btn-outline-light:disabled -{ - color: #e5e5e5; - background-color: transparent; -} -.btn-outline-light:not(:disabled):not(.disabled):active, -.btn-outline-light:not(:disabled):not(.disabled).active, -.show > .btn-outline-light.dropdown-toggle -{ - color: #191919; - border-color: #e5e5e5; - background-color: #e5e5e5; -} -.btn-outline-light:not(:disabled):not(.disabled):active:focus, -.btn-outline-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-light.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(238, 238, 243, .5); -} -/*--Light Color Finish--*/ - -/*--Dark Color--*/ -.btn-outline-dark -{ - color: #191919; - border-color: #191919; - background-color: transparent; - background-image: none; -} -.btn-outline-dark:hover -{ - color: #e5e5e5; - border-color: #191919; - background-color: #191919; -} -.btn-outline-dark:focus, -.btn-outline-dark.focus -{ - box-shadow: 0 0 0 0 rgba(0, 0, 0, .5); -} -.btn-outline-dark.disabled, -.btn-outline-dark:disabled -{ - color: #191919; - background-color: transparent; -} -.btn-outline-dark:not(:disabled):not(.disabled):active, -.btn-outline-dark:not(:disabled):not(.disabled).active, -.show > .btn-outline-dark.dropdown-toggle -{ - color: #e5e5e5; - border-color: #191919; - background-color: #191919; -} -.btn-outline-dark:not(:disabled):not(.disabled):active:focus, -.btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-dark.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(0, 0, 0, .5); -} -/*--Dark Color Finish--*/ - -/*--Neutral Color--*/ -.btn-outline-neutral -{ - color: #e5e5e5; - border-color: #ffffff; - background-color: transparent; - background-image: none; -} -.btn-outline-neutral:hover -{ - color: #e5e5e5; - border-color: #ffffff; - background-color: #ffffff; -} -.btn-outline-neutral:focus, -.btn-outline-neutral.focus -{ - box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); -} -.btn-outline-neutral.disabled, -.btn-outline-neutral:disabled -{ - color: #e5e5e5; - background-color: transparent; -} -.btn-outline-neutral:not(:disabled):not(.disabled):active, -.btn-outline-neutral:not(:disabled):not(.disabled).active, -.show > .btn-outline-neutral.dropdown-toggle -{ - color: #e5e5e5; - border-color: #fff; - background-color: #fff; -} -.btn-outline-neutral:not(:disabled):not(.disabled):active:focus, -.btn-outline-neutral:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-neutral.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); -} -/*--Neutral Color Finish--*/ - -/*--White Color--*/ -.btn-outline-white -{ - color: #ffffff; - border-color: #ffffff; - background-color: transparent; - background-image: none; -} -.btn-outline-white:hover -{ - color: #000000; - border-color: #ffffff; - background-color: #ffffff; -} -.btn-outline-white:focus, -.btn-outline-white.focus -{ - box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); -} -.btn-outline-white.disabled, -.btn-outline-white:disabled -{ - color: #ffffff; - background-color: transparent; -} -.btn-outline-white:not(:disabled):not(.disabled):active, -.btn-outline-white:not(:disabled):not(.disabled).active, -.show > .btn-outline-white.dropdown-toggle -{ - color: #000000; - border-color: #ffffff; - background-color: #ffffff; -} -.btn-outline-white:not(:disabled):not(.disabled):active:focus, -.btn-outline-white:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-white.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); -} -/*--White Color Finish--*/ - -/*--Darker Color--*/ -.btn-outline-darker -{ - color: #000000; - border-color: #000000; - background-color: transparent; - background-image: none; -} -.btn-outline-darker:hover -{ - color: #ffffff; - border-color: #000000; - background-color: #000000; -} -.btn-outline-darker:focus, -.btn-outline-darker.focus -{ - box-shadow: 0 0 0 0 rgba(0, 0, 0, .5); -} -.btn-outline-darker.disabled, -.btn-outline-darker:disabled -{ - color: #000000; - background-color: transparent; -} -.btn-outline-darker:not(:disabled):not(.disabled):active, -.btn-outline-darker:not(:disabled):not(.disabled).active, -.show > .btn-outline-darker.dropdown-toggle -{ - color: #ffffff; - border-color: #000000; - background-color: #000000; -} -.btn-outline-darker:not(:disabled):not(.disabled):active:focus, -.btn-outline-darker:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-darker.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(0, 0, 0, .5); -} -/*--Darker Color Finish--*/ -/*--------Button Outline Colors Finish--------*/ - - -/*--------Bulk Action Outline Button Colors--------*/ -/*--Confirm--*/ -.btn-outline-confirm -{ - color: #ffffff; - border: none; - border-color: unset; - background-color: transparent; - background-image: none; -} -.btn-outline-confirm:hover -{ - color: #ffffff; - border-color: #6da252; - background-color: #6da252; -} -.btn-outline-confirm:focus, -.btn-outline-confirm.focus -{ - box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); -} -.btn-outline-confirm.disabled, -.btn-outline-confirm:disabled -{ - color: #ffffff; - background-color: transparent; -} -.btn-outline-confirm:not(:disabled):not(.disabled):active, -.btn-outline-confirm:not(:disabled):not(.disabled).active, -.show > .btn-outline-confirm.dropdown-toggle -{ - color: #ffffff; - border-color: #6da252; - background-color: #6da252; -} -.btn-outline-confirm:not(:disabled):not(.disabled):active:focus, -.btn-outline-confirm:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-confirm.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); -} -/*--Confirm Finish--*/ - -/*--Clear--*/ -.btn-outline-clear -{ - color: #ffffff; - border: none; - border-color: unset; - background-color: transparent; - background-image: none; -} -.btn-outline-clear:hover -{ - color: #ffffff; - border-color: #328aef; - background-color: #328aef; -} -.btn-outline-clear:focus, -.btn-outline-clear.focus -{ - box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); -} -.btn-outline-clear.disabled, -.btn-outline-clear:disabled -{ - color: #ffffff; - background-color: transparent; -} -.btn-outline-clear:not(:disabled):not(.disabled):active, -.btn-outline-clear:not(:disabled):not(.disabled).active, -.show > .btn-outline-clear.dropdown-toggle -{ - color: #ffffff; - border-color: #328aef; - background-color: #328aef; -} -.btn-outline-clear:not(:disabled):not(.disabled):active:focus, -.btn-outline-clear:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-clear.dropdown-toggle:focus -{ - box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); -} -/*--Confirm Finish--*/ -/*--------Bulk Action Outline Button Colors--------*/ - - -/*--------Progress Colors--------*/ -/*--Default Color--*/ -.progress-label-default span -{ - font-size: .625rem; - font-weight: 600; - display: inline-block; - padding: .25rem 1rem; - text-transform: uppercase; - color: #ffffff; - border-radius: 30px; - background: #3c3f72; -} -/*--Default Color Finish--*/ - -/*--Primary Color--*/ -.progress-label-primary span -{ - font-size: .625rem; - font-weight: 600; - display: inline-block; - padding: .25rem 1rem; - text-transform: uppercase; - color: #ffffff; - border-radius: 30px; - background: #55588b; -} -/*--Primary Color Finish--*/ - -/*--Secondary Color--*/ -.progress-label-primary span -{ - font-size: .625rem; - font-weight: 600; - display: inline-block; - padding: .25rem 1rem; - text-transform: uppercase; - color: #191919; - border-radius: 30px; - background: #e5e5e5; -} -/*--Secondary Color Finish--*/ - -/*---Info Color--*/ -.progress-label-info span -{ - font-size: .625rem; - font-weight: 600; - display: inline-block; - padding: .25rem 1rem; - text-transform: uppercase; - color: #ffffff; - border-radius: 30px; - background: #328aef; -} -/*--Info Color Finish--*/ - -/*---Success Color--*/ -.progress-label-success span -{ - font-size: .625rem; - font-weight: 600; - display: inline-block; - padding: .25rem 1rem; - text-transform: uppercase; - color: #ffffff; - border-radius: 30px; - background: #6da252; -} -/*--Success Color Finish--*/ - -/*---Danger Color--*/ -.progress-label-danger span -{ - font-size: .625rem; - font-weight: 600; - display: inline-block; - padding: .25rem 1rem; - text-transform: uppercase; - color: #ffffff; - border-radius: 30px; - background: #ef3232; -} -/*---Danger Color Finish--*/ - -/*---Warning Color--*/ -.progress-label-warning span -{ - font-size: .625rem; - font-weight: 600; - display: inline-block; - padding: .25rem 1rem; - text-transform: uppercase; - color: #ffffff; - border-radius: 30px; - background: #efad32; -} -/*---Warning Color Finish--*/ -/*--------Progress Colors Finish--------*/ - - -/*--------Background Gradient Colors--------*/ -/*--Default Color--*/ -.bg-gradient-default -{ - background: linear-gradient(87deg, #3c3f72 0, #7376a0 100%) !important; -} -/*--Default Color Finish--*/ - -/*--Primary Color--*/ -.bg-gradient-primary -{ - background: linear-gradient(87deg, #55588b 0, #9699bc 100%) !important; -} -/*--Primary Color Finish--*/ - -/*--Secondary Color--*/ -.bg-gradient-secondary -{ - background: linear-gradient(87deg, #e5e5e5 0, #ffffff 100%) !important; -} -/*--Secondary Color Finish--*/ - -/*--Info Color--*/ -.bg-gradient-info -{ - background: linear-gradient(87deg, #328aef 0, #66afff 100%) !important; -} -/*--Info Color Finish--*/ - -/*--Success Color--*/ -.bg-gradient-success -{ - background: linear-gradient(87deg, #6da252 0, #b8d3a9 100%) !important; -} -/*--Success Color Finish--*/ - -/*--Danger Color--*/ -.bg-gradient-danger -{ - background: linear-gradient(87deg, #ef3232 0, #ff6666 100%) !important; -} -/*--Danger Color Finish--*/ - -/*--Warning Color--*/ -.bg-gradient-warning -{ - background: linear-gradient(87deg, #efad32 0, #ffc666 100%) !important; -} -/*--Warning Color Finish--*/ -/*--------Background Gradient Colors Finish--------*/ - - -/*--------Transaction Status Colors--------*/ -/*--Draft Color--*/ -.status-primary -{ - background-image: linear-gradient(to right, #ffffff, #55588b); -} -/*--Draft Color Finish--*/ - -/*--Partial Color--*/ -.status-info -{ - background-image: linear-gradient(to right, #ffffff, #328aef); -} -/*--Partial Color Finish--*/ - -/*--Paid Color--*/ -.status-success -{ - background-image: linear-gradient(to right, #ffffff, #6da252); -} -/*--Paid Color Finish--*/ - -/*--Sent Color--*/ -.status-danger -{ - background-image: linear-gradient(to right, #ffffff, #ef3232); -} -/*--Sent Color Finish--*/ - -/*--Viewed Color--*/ -.status-warning -{ - background-image: linear-gradient(to right, #ffffff, #efad32); -} -/*--Viewed Color Finish--*/ - -/*--Dark Color--*/ -.status-dark -{ - background-image: linear-gradient(to right, #ffffff, #191919); -} -/*--Dark Color Finish--*/ - -/*--Darker Color--*/ -.status-darker -{ - background-image: linear-gradient(to right, #ffffff, #000000); -} -/*--Darker Color Finish--*/ -/*--------Transaction Status Colors Finish--------*/ - - -/*--------Toggle Colors--------*/ -/*--Yes--*/ -.custom-toggle input:checked + .status-green -{ - border: 1px solid #6da252 !important; -} -.custom-toggle input:checked + .status-green:before -{ - background-color: #6da252 !important; -} -.custom-toggle input:checked + .status-green:after -{ - color: #6da252 !important; -} -/*--Yes Finish--*/ - -/*--No--*/ -.custom-toggle-slider -{ - border:1px solid #ef3232 !important; -} -.custom-toggle-slider:before -{ - background-color: #ef3232 !important; -} -.custom-toggle-slider:after -{ - color: #ef3232 !important; -} -/*--No Finish--*/ -/*--------Toggle Colors Finish--------*/ - - -/*--------Radio Button Color--------*/ -[data-toggle='buttons']:not(.btn-group-colors) > .btn.btn-success:not(.active) , -[data-toggle='buttons']:not(.btn-group-colors) > .btn.btn-danger:not(.active) -{ - background-color: #e5e5e5 !important; - color: #191919 !important; -} -/*--------Radio Button Color Finish--------*/ - - -/*--------Left Menu Colors--------*/ -/*--Left Menu Icon--*/ -.background-unset -{ - background: unset; -} - -.menu-avatar -{ - font-size: .875rem !important; - width: 30px !important; - height: 30px !important; -} -/*--Left Menu Icon Finish--*/ - -/*--Unselected Text Color--*/ -.navbar-vertical.navbar-expand-xs, .navbar-vertical.navbar-expand-sm .navbar-nav .nav-link -{ - color: #ffffff !important; -} -/*--Unselected Text Color Finish--*/ - -/*--Selected Submenu Link Color--*/ -.collapse.show> .nav.nav-sm.flex-column> .nav-item> .nav-link.active> .nav-link-text -{ - color: #ffffff !important; - font-weight: bold; -} -/*--Selected Submenu Link Color Finish--*/ - -/*--Selected Submenu Arrow Color--*/ -.navbar-vertical .navbar-nav .nav-link[data-toggle='collapse'][aria-expanded='true']:after -{ - color: #ffffff !important; -} -/*--Selected Submenu Arrow Color Finish--*/ - -/*--Selected Icon Color--*/ -.navbar-vertical.navbar-expand-xs, .navbar-vertical.navbar-expand-sm .navbar-nav > .nav-item > .nav-link.active -{ - color: #161842 !important; -} -/*--Selected Icon Color Finish--*/ - -/*--Selected Text Color--*/ -.nav-item> .nav-link.active.show> .nav-link-text -{ - color: #161842 !important; -} -/*--Selected Text Color Finish--*/ - -/*--Selected Submenu Main Arrow Default Color--*/ -.navbar-vertical.navbar-expand-xs, .navbar-vertical.navbar-expand-sm .navbar-nav > .nav-item > .nav-link.active.show[aria-expanded='false']:after -{ - color: #161842 !important; -} -/*--Selected Submenu Main Arrow Default Color Finish--*/ - -/*--Selected Submenu Main Arrow Selected Color--*/ -.navbar-vertical.navbar-expand-xs, .navbar-vertical.navbar-expand-sm .navbar-nav > .nav-item > .nav-link.active.show[aria-expanded='true']:after -{ - color: #161842 !important; -} -/*--Selected Submenu Main Arrow Selected Color Finish--*/ -/*--------Left Menu Colors Finish--------*/ - - -/*--------Form Error Color--------*/ -/*--Required Sign Color--*/ -div.required > .form-control-label:not(span):after, td.required:after, button.document-contact-without-contact-box-btn > span.text-add-contact::after -{ - content: ' *'; - color: #ef3232; - font-weight: bold; -} -/*--Required Sign Color Finish--*/ - -/*--Input Error Border Color--*/ -.form-group.has-error .form-control, .form-group.has-error .input-group-merge .input-group-prepend .input-group-text -{ - border-color: #ef3232 !important; -} -/*--Input Error Border Color Finish--*/ - -/*--Error Message Color--*/ -.help-block -{ - color : #ef3232 !important; -} -/*--Error Message Color Finish--*/ -/*--------Form Error Color Finish--------*/ - - -/*--------Navbar Colors--------*/ -/*--Navbar Border Bottom Color--*/ -.navbar-top.border-bottom.navbar-dark -{ - border-color: rgba(50, 50, 93, .11) !important; -} -/*--Navbar Border Bottom Color Finish--*/ - -/*--Navbar Icon Color--*/ -.navbar-dark .navbar-nav .nav-link -{ - color: #3C3F72 !important; -} - -.navbar-dark .navbar-nav .nav-link:hover -{ - color: #3C3F72 !important; -} -/*--Navbar Icon Color Finish--*/ -/*--------Navbar Colors Finish--------*/ - - -/*--------Small Size Left Menu Pin Color--------*/ -/*--Normal Size Color--*/ -.sidenav-toggler-line -{ - background-color: #ced4da; -} -/*--Normal Size Color Finish--*/ - -/*--Small Size Color--*/ -.sidenav-toggler-dark .sidenav-toggler-line -{ - background-color: #3c3f72; -} -/*--Small Size Color Finish--*/ -/*--------Small Size Left Menu Pin Color Finish--------*/ - - -/*--------Setting Board Button Colors--------*/ -.btn-icon-clipboard -{ - background-color: unset; -} - -.btn-icon-clipboard:hover -{ - background-color: #f8f8ff; - box-shadow: rgba(248, 248, 255) 0 0 0 1px, rgba(248, 248, 255) 0 4px 16px; -} - -.btn-icon-clipboard:focus -{ - outline: none; -} - -/*--Settings Board Icon Color--*/ -.btn-icon-clipboard i -{ - color: #8385bb; -} -/*--Settings Board Icon Color Finish--*/ -/*--------Setting Board Button Colors Finish--------*/ - - -/*--------Checkbox Color--------*/ -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before -{ - background-color: #55588b !important; - border-color: #55588b !important; -} - -.custom-control-input:not(:disabled):active ~ .custom-control-label::before -{ - background-color: #55588b !important; - border-color: #55588b !important; -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before -{ - background-color: #55588b !important; -} - -.custom-control-input:focus:not(:checked) ~ .custom-control-label::before -{ - border-color: #55588b !important; -} -/*--------Checkbox Color Finish--------*/ - - -/*--------Form Input Colors--------*/ -.form-control-label -{ - color: #55588b !important; -} - -.input-group-text:focus -{ - border-color: #55588b !important; -} - -.focused .input-group-text -{ - border-color: #55588b !important; -} - -.form-control:focus -{ - border-color: #55588b !important; -} - -.focused .form-control -{ - border-color: #55588b !important; -} - -.custom-file-input:focus ~ .custom-file-label -{ - border-color: #55588b !important; - box-shadow: none; -} - -.custom-file-input:focus ~ .custom-file-label::after -{ - border-color: #55588b !important; -} - -/* get focus colors */ -.input-group:focus-within -{ - border-color: #55588b !important; -} - -.input-group:focus-within .input-group-text -{ - border-color: #55588b !important; -} - -.input-group:focus-within *:focus -{ - outline: 0; -} -/*--------Form Input Colors Finish--------*/ - - -/*--------Nav Pills Color--------*/ - - -.navbar-light .navbar-nav .collapse .nav-link { - color: #ffffff !important; -} - -.navbar-light .navbar-nav .collapsing .nav-link { - color: #ffffff !important; -} - - -.nav-link -{ - color: #3c3f72; -} - -.nav-link:hover -{ - color: #161842; -} - -.nav-pills .nav-link -{ - color: #3c3f72 !important; - background-color: #ffffff; -} - -.nav-pills .nav-link:hover -{ - color: #161842; -} - -.nav-pills .nav-link.active, .nav-pills .show > .nav-link -{ - color: #ffffff !important; - background-color: #3c3f72 !important; -} -/*--------Nav Pills Color Finish--------*/ - - -/*--------Item Index Image Color--------*/ -.image-style -{ - border:1px solid #e5e5e5; - background-color: unset !important; -} -/*--------Item Index Image Color Finish--------*/ - - -/*--------Pagination Active Color--------*/ -.page-item.active .page-link -{ - background-color: #3c3f72 ; - border-color: #3c3f72; -} -/*--------Pagination Active Color Finish--------*/ - -/*--------Language Selection Page--------*/ -option:focus -{ - outline: none !important; -} - -.form-control-label:focus -{ - outline: none !important; -} - -.form-group:focus -{ - outline: none !important; -} -/*--------Language Selection Page Finish--------*/ - - - -/*--------Datepicker Color--------*/ -.flatpickr-calendar .flatpickr-day:hover, -.flatpickr-calendar .flatpickr-day.selected, -.flatpickr-calendar .flatpickr-day.selected:hover -{ - background: #3c3f72; - color: #ffffff; -} - -.flatpickr-calendar -{ - color: #3c3f72; -} - -.flatpickr-calendar .flatpickr-weekday -{ - color: #3c3f72; -} - -.flatpickr-calendar .flatpickr-day.today -{ - border: 1px solid #3c3f72 !important; -} - -.flatpickr-calendar .flatpickr-day.today:hover -{ - background: #3c3f72; - color: #fff; -} - -.flatpickr-calendar .flatpickr-day.inRange -{ - background: #3c3f72 !important; - color: #ffffff; - -webkit-box-shadow: -5px 0 0 #3c3f72, 5px 0 0 #3c3f72 !important; - box-shadow: -5px 0 0 #3c3f72, 5px 0 0 #3c3f72 !important; - border: none!important; -} - -.flatpickr-day.selected, -.flatpickr-day.startRange, -.flatpickr-day.endRange, -.flatpickr-day.selected.inRange, -.flatpickr-day.startRange.inRange, -.flatpickr-day.endRange.inRange, -.flatpickr-day.selected:focus, -.flatpickr-day.startRange:focus, -.flatpickr-day.endRange:focus, -.flatpickr-day.selected:hover, -.flatpickr-day.startRange:hover, -.flatpickr-day.endRange:hover, -.flatpickr-day.selected.prevMonthDay, -.flatpickr-day.startRange.prevMonthDay, -.flatpickr-day.endRange.prevMonthDay, -.flatpickr-day.selected.nextMonthDay, -.flatpickr-day.startRange.nextMonthDay, -.flatpickr-day.endRange.nextMonthDay { - background: #5e72e4 !important; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - border-color: #5e72e4 !important; -} - -.flatpickr-calendar .flatpickr-day.startRange, -.flatpickr-calendar .flatpickr-day.endRange -{ - background: #3c3f72; -} - -.flatpickr-calendar .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), -.flatpickr-calendar .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), -.flatpickr-calendar .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) -{ - -webkit-box-shadow: -10px 0 0 #3c3f72; - box-shadow: -10px 0 0 #3c3f72; -} - -.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg, -.flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg -{ - fill: #3c3f72; -} - -.flatpickr-calendar .flatpickr-current-month span.cur-month, -.flatpickr-calendar .flatpickr-current-month input.cur-year -{ - color: #3c3f72; -} - -.flatpickr-calendar .flatpickr-current-month span.cur-month:hover, -.flatpickr-calendar .flatpickr-current-month input.cur-year:hover -{ - background: #e5e5e5; -} -/*--------Datepicker Color Finish--------*/ - - -/*--------Login Card Background Color--------*/ -.login-card-bg -{ - background-color:rgba(255, 255, 255, 0.18) !important; - box-shadow: none; -} -/*--------Login Card Background Color Finish--------*/ - - -/*--General Progress Bar Color---*/ -#nprogress .bar -{ - background: #3f3c72 !important; - height: 5px !important; -} - -#nprogress .spinner-icon -{ - border-top-color: #3f3c72 !important; - border-left-color: #3f3c72 !important; -} - -#nprogress .peg -{ - box-shadow: 0 0 10px #3f3c72, 0 0 5px #3f3c72 !important; -} -/*--General Progress Bar Color Finish---*/ - - -/*--List Group Item Active---*/ -.list-group-item.active -{ - z-index: 2; - color: #ffffff; - background-color: #3c3f72 !important; - border-color: #3c3f72 !important; -} -/*--List Group Item Active Finish---*/ - - -/*--Wizard Delete Button Text--*/ -.action-delete -{ - background-color: white; - border-color: white; - border: 0; -} -/*--Wizard Delete Button Text Finish--*/ - diff --git a/public/css/app.css b/public/css/app.css new file mode 100644 index 000000000..d7fac903d --- /dev/null +++ b/public/css/app.css @@ -0,0 +1,48739 @@ +.quill { + margin-top: 0.25rem; +} + +.ql-container { + height: 18rem !important; + font-family: "Quicksand", sans-serif !important; +} + +.ql-editor p { + color: #424242; +} + +.ql-toolbar { + --tw-text-opacity: 1; + color: rgb(66 66 66 / var(--tw-text-opacity)); + position: relative; + padding: .625rem .75rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.5rem 0.5rem 0 0; +} + +.ql-editor { + font-size: 0.875rem; + line-height: 1.25rem; + --tw-text-opacity: 1; + color: rgb(199 201 217 / var(--tw-text-opacity)); + display: block; + width: 100%; + padding: .625rem .75rem; + background-color: #fff; + background-clip: padding-box; + border: 1px solid; + border-top: unset; + border-bottom-left-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; +} + +.ql-toolbar button:hover { + color: #55588B !important; +} + +.ql-snow .ql-editor a { + --tw-text-opacity: 1; + color: rgb(110 161 82 / var(--tw-text-opacity)); + -webkit-text-decoration-line: none; + text-decoration-line: none; +} + +.quillWrapper { + margin-top: 0.25rem; +} + +.ql-container.ql-snow { + border: unset !important; +} + +.ql-tooltip { + position: absolute; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + width: 18.5rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 0.4375rem; + padding: 0.625rem 0.75rem; + margin-top: 0.6rem; + -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.2); +} +.ql-tooltip:after, +.ql-tooltip:before { + content: ""; + position: absolute; + left: 50%; + bottom: 100%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} +.ql-tooltip:before { + border-bottom: 0.6rem solid rgba(0, 0, 0, 0.05); + border-left: 0.6rem solid transparent; + border-right: 0.6rem solid transparent; +} +.ql-tooltip:after { + border-bottom: 0.5rem solid #fff; + border-left: 0.5rem solid transparent; + border-right: 0.5rem solid transparent; +} +.ql-container .ql-tooltip:hover { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; +} +.ql-tooltip .ql-preview { + width: 100%; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .ql-tooltip .ql-preview { + -webkit-transition: none; + transition: none; + } +} +.ql-tooltip.ql-editing .ql-preview { + display: none; +} +.ql-tooltip input { + display: none; + width: 100%; + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + background-color: transparent; + font-size: 0.875rem; + line-height: 1.5; + border: none; + color: #8898aa; +} +.ql-tooltip input:focus { + outline: none; +} +.ql-tooltip.ql-editing input { + display: block; +} +.ql-tooltip .ql-action, +.ql-tooltip .ql-remove { + margin-left: 0.25rem; +} +.ql-tooltip .ql-action:before, +.ql-tooltip .ql-remove:before { + display: inline-block; + font-weight: 600; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + cursor: pointer; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .ql-tooltip .ql-action:before, + .ql-tooltip .ql-remove:before { + -webkit-transition: none; + transition: none; + } +} +.ql-tooltip .ql-action:before:focus, +.ql-tooltip .ql-action:before:hover, +.ql-tooltip .ql-remove:before:focus, +.ql-tooltip .ql-remove:before:hover { + text-decoration: none; +} +.ql-tooltip .ql-action:before.focus, +.ql-tooltip .ql-action:before:focus, +.ql-tooltip .ql-remove:before.focus, +.ql-tooltip .ql-remove:before:focus { + outline: 0; + -webkit-box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08); + box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08); +} +.ql-tooltip .ql-action:before, +.ql-tooltip.ql-editing .ql-action:before { + color: #fff; + background-color: #5e72e4; + border-color: #5e72e4; + -webkit-box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} +.ql-tooltip .ql-action:before:hover, +.ql-tooltip.ql-editing .ql-action:before:hover { + color: #fff; + background-color: #5e72e4; + border-color: #5e72e4; +} +.ql-tooltip .ql-action:before.focus, +.ql-tooltip .ql-action:before:focus, +.ql-tooltip.ql-editing .ql-action:before.focus, +.ql-tooltip.ql-editing .ql-action:before:focus { + -webkit-box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(94, 114, 228, 0.5); + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(94, 114, 228, 0.5); +} +.ql-tooltip .ql-action:before.disabled, +.ql-tooltip .ql-action:before:disabled, +.ql-tooltip.ql-editing .ql-action:before.disabled, +.ql-tooltip.ql-editing .ql-action:before:disabled { + color: #fff; + background-color: #5e72e4; + border-color: #5e72e4; +} +.ql-tooltip .ql-action:before:not(:disabled):not(.disabled).active, +.ql-tooltip .ql-action:before:not(:disabled):not(.disabled):active, +.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled).active, +.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled):active, +.show > .ql-tooltip .ql-action:before.dropdown-toggle, +.show > .ql-tooltip.ql-editing .ql-action:before.dropdown-toggle { + color: #fff; + background-color: #324cdd; + border-color: #5e72e4; +} +.ql-tooltip .ql-action:before:not(:disabled):not(.disabled).active:focus, +.ql-tooltip .ql-action:before:not(:disabled):not(.disabled):active:focus, +.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled).active:focus, +.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled):active:focus, +.show > .ql-tooltip .ql-action:before.dropdown-toggle:focus, +.show > .ql-tooltip.ql-editing .ql-action:before.dropdown-toggle:focus { + -webkit-box-shadow: none, 0 0 0 0 rgba(94, 114, 228, 0.5); + box-shadow: none, 0 0 0 0 rgba(94, 114, 228, 0.5); +} +.ql-tooltip .ql-action:before { + content: "Edit"; +} +.ql-tooltip.ql-editing .ql-action:before { + content: "Save"; +} +.ql-tooltip .ql-remove:before { + color: #212529; + background-color: #fff; + -webkit-box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); + content: "Remove"; + border-color: #dee2e6; +} +.ql-tooltip .ql-remove:before:hover { + color: #212529; + background-color: #fff; + border-color: #fff; +} +.ql-tooltip .ql-remove:before.focus, +.ql-tooltip .ql-remove:before:focus { + -webkit-box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 hsla(0, 0%, 100%, 0.5); + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 hsla(0, 0%, 100%, 0.5); +} +.ql-tooltip .ql-remove:before.disabled, +.ql-tooltip .ql-remove:before:disabled { + color: #212529; + background-color: #fff; + border-color: #fff; +} +.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled).active, +.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled):active, +.show > .ql-tooltip .ql-remove:before.dropdown-toggle { + color: #212529; + background-color: #e6e5e5; + border-color: #fff; +} +.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled).active:focus, +.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled):active:focus, +.show > .ql-tooltip .ql-remove:before.dropdown-toggle:focus { + -webkit-box-shadow: none, 0 0 0 0 hsla(0, 0%, 100%, 0.5); + box-shadow: none, 0 0 0 0 hsla(0, 0%, 100%, 0.5); +} +.ql-tooltip.ql-editing .ql-remove:before { + display: none; +} + +.ql-snow .ql-tooltip::before { + display: none; +} + +.ql-snow .ql-tooltip a.ql-action::after { + display: none; +} +.dropzone { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + margin-top: 0.25rem; +} + +.dropzone-column { + height: calc(100% - 23px); + height: -moz-calc(100% - 23px); +} + +.dz-preview-cover, .dz-preview-single { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: .375rem; +} + +.dz-message { + padding: 5rem 1rem; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + background-color: #fff; + border: 1px dashed #C7C9D9; + border-radius: .375rem; + text-align: center; + color: #595959; + -webkit-transition: all .15s ease; + transition: all .15s ease; + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + cursor: pointer; + z-index: 9; +} + +.dz-message:hover { + border-color: #424242; +} + +.dropzone-multiple .dz-message { + height: 5rem; + padding: 0; +} + +.dropzone-single .dz-message { + height: 100%; + padding: 0.5rem 1rem; +} + +.dropzone-column .dz-message { + height: 100%; + padding: 0; +} + +.dropzone-single.dz-max-files-reached .dz-message { + background-color: rgba(0,0,0,.2); + color: #fff; + opacity: 0; +} + +.dropzone-single.dz-max-files-reached .dz-message:hover { + opacity:1 +} + +.dz-message .dz-button { + background: hsla(0,0%,100%,0); + border: none; + color: #C7C9D9; +} + +.dz-preview-img { + -o-object-fit: cover; + object-fit: cover; + width: 100%; + height: 100%; + border-radius: .375rem; +} + +.dropzone-single.dz-max-files-reached .dz-message { + background-color: rgba(0,0,0,.9); + color: #fff; + opacity: 0; +} + +.dropzone .avatar { + color: #fff; + background-color: #adb5bd; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + border-radius: .375rem; + font-size: 1rem; + height: 45px; + width: 45px; +} + + + +/* +! tailwindcss v3.0.24 | MIT License | https://tailwindcss.com +*/ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + -webkit-box-sizing: border-box; + box-sizing: border-box; /* 1 */ + border-width: 0; /* 2 */ + border-style: solid; /* 2 */ + border-color: #E5E7EB; /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +*/ + +html { + line-height: 1.5; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -moz-tab-size: 4; /* 3 */ + -o-tab-size: 4; + tab-size: 4; /* 3 */ + font-family: Quicksand, system-ui; /* 4 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; /* 1 */ + line-height: inherit; /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ + border-top-width: 1px; /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font family by default. +2. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ + border-collapse: collapse; /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: inherit; /* 1 */ + color: inherit; /* 1 */ + margin: 0; /* 2 */ + padding: 0; /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; /* 1 */ + background-color: transparent; /* 2 */ + background-image: none; /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { + opacity: 1; /* 1 */ + color: #9CA3AF; /* 2 */ +} + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; /* 1 */ + color: #9CA3AF; /* 2 */ +} + +input:-ms-input-placeholder, textarea:-ms-input-placeholder { + opacity: 1; /* 1 */ + color: #9CA3AF; /* 2 */ +} + +input::-ms-input-placeholder, textarea::-ms-input-placeholder { + opacity: 1; /* 1 */ + color: #9CA3AF; /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; /* 1 */ + color: #9CA3AF; /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; /* 1 */ + vertical-align: middle; /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* +Ensure the default browser behavior of the `hidden` attribute. +*/ + +[hidden] { + display: none; +} + +[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select{ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #6B7280; + border-width: 1px; + border-radius: 0px; + padding-top: 0.5rem; + padding-right: 0.75rem; + padding-bottom: 0.5rem; + padding-left: 0.75rem; + font-size: 1rem; + line-height: 1.5rem; + --tw-shadow: 0 0 #0000; +} + +[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus{ + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #006395; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + border-color: #006395; +} + +input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{ + color: #6B7280; + opacity: 1; +} + +input::-moz-placeholder, textarea::-moz-placeholder{ + color: #6B7280; + opacity: 1; +} + +input:-ms-input-placeholder, textarea:-ms-input-placeholder{ + color: #6B7280; + opacity: 1; +} + +input::-ms-input-placeholder, textarea::-ms-input-placeholder{ + color: #6B7280; + opacity: 1; +} + +input::placeholder,textarea::placeholder{ + color: #6B7280; + opacity: 1; +} + +::-webkit-datetime-edit-fields-wrapper{ + padding: 0; +} + +::-webkit-date-and-time-value{ + min-height: 1.5em; +} + +::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{ + padding-top: 0; + padding-bottom: 0; +} + +select{ + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); + background-position: right 0.5rem center; + background-repeat: no-repeat; + background-size: 1.5em 1.5em; + padding-right: 2.5rem; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} + +[multiple]{ + background-image: initial; + background-position: initial; + background-repeat: unset; + background-size: initial; + padding-right: 0.75rem; + -webkit-print-color-adjust: unset; + color-adjust: unset; +} + +[type='checkbox'],[type='radio']{ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + padding: 0; + -webkit-print-color-adjust: exact; + color-adjust: exact; + display: inline-block; + vertical-align: middle; + background-origin: border-box; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -ms-flex-negative: 0; + flex-shrink: 0; + height: 1rem; + width: 1rem; + color: #006395; + background-color: #fff; + border-color: #6B7280; + border-width: 1px; + --tw-shadow: 0 0 #0000; +} + +[type='checkbox']{ + border-radius: 0px; +} + +[type='radio']{ + border-radius: 100%; +} + +[type='checkbox']:focus,[type='radio']:focus{ + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 2px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #006395; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); +} + +[type='checkbox']:checked,[type='radio']:checked{ + border-color: transparent; + background-color: currentColor; + background-size: 100% 100%; + background-position: center; + background-repeat: no-repeat; +} + +[type='checkbox']:checked{ + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); +} + +[type='radio']:checked{ + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); +} + +[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus{ + border-color: transparent; + background-color: currentColor; +} + +[type='checkbox']:indeterminate{ + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); + border-color: transparent; + background-color: currentColor; + background-size: 100% 100%; + background-position: center; + background-repeat: no-repeat; +} + +[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus{ + border-color: transparent; + background-color: currentColor; +} + +[type='file']{ + background: unset; + border-color: inherit; + border-width: 0; + border-radius: 0; + padding: 0; + font-size: unset; + line-height: inherit; +} + +[type='file']:focus{ + outline: 1px auto -webkit-focus-ring-color; +} + +[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select{ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #6B7280; + border-width: 1px; + border-radius: 0px; + padding-top: 0.5rem; + padding-right: 0.75rem; + padding-bottom: 0.5rem; + padding-left: 0.75rem; + font-size: 1rem; + line-height: 1.5rem; + --tw-shadow: 0 0 #0000; +} + +[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus{ + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #006395; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + border-color: #006395; +} + +input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{ + color: #6B7280; + opacity: 1; +} + +input::-moz-placeholder, textarea::-moz-placeholder{ + color: #6B7280; + opacity: 1; +} + +input:-ms-input-placeholder, textarea:-ms-input-placeholder{ + color: #6B7280; + opacity: 1; +} + +input::-ms-input-placeholder, textarea::-ms-input-placeholder{ + color: #6B7280; + opacity: 1; +} + +input::placeholder,textarea::placeholder{ + color: #6B7280; + opacity: 1; +} + +::-webkit-datetime-edit-fields-wrapper{ + padding: 0; +} + +::-webkit-date-and-time-value{ + min-height: 1.5em; +} + +select{ + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); + background-position: right 0.5rem center; + background-repeat: no-repeat; + background-size: 1.5em 1.5em; + padding-right: 2.5rem; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} + +[multiple]{ + background-image: initial; + background-position: initial; + background-repeat: unset; + background-size: initial; + padding-right: 0.75rem; + -webkit-print-color-adjust: unset; + color-adjust: unset; +} + +[type='checkbox'],[type='radio']{ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + padding: 0; + -webkit-print-color-adjust: exact; + color-adjust: exact; + display: inline-block; + vertical-align: middle; + background-origin: border-box; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -ms-flex-negative: 0; + flex-shrink: 0; + height: 1rem; + width: 1rem; + color: #006395; + background-color: #fff; + border-color: #6B7280; + border-width: 1px; + --tw-shadow: 0 0 #0000; +} + +[type='checkbox']{ + border-radius: 0px; +} + +[type='radio']{ + border-radius: 100%; +} + +[type='checkbox']:focus,[type='radio']:focus{ + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 2px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #006395; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); +} + +[type='checkbox']:checked,[type='radio']:checked,.dark [type='checkbox']:checked,.dark [type='radio']:checked{ + border-color: transparent; + background-color: currentColor; + background-size: 100% 100%; + background-position: center; + background-repeat: no-repeat; +} + +[type='checkbox']:checked{ + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); +} + +[type='radio']:checked{ + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); +} + +[type='checkbox']:indeterminate{ + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); + border-color: transparent; + background-color: currentColor; + background-size: 100% 100%; + background-position: center; + background-repeat: no-repeat; +} + +[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus{ + border-color: transparent; + background-color: currentColor; +} + +[type='file']{ + background: unset; + border-color: inherit; + border-width: 0; + border-radius: 0; + padding: 0; + font-size: unset; + line-height: inherit; +} + +[type='file']:focus{ + outline: 1px auto -webkit-focus-ring-color; +} + +input[type=file]::-webkit-file-upload-button{ + color: white; + background: #374151; + font-weight: 500; + font-size: 0.875rem; + cursor: pointer; + border: 0; + padding-top: 0.625rem; + padding-bottom: 0.625rem; + padding-left: 2rem; + padding-right: 1rem; + -webkit-margin-start: -1rem; + margin-inline-start: -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} + +input[type=file]::file-selector-button{ + color: white; + background: #374151; + font-weight: 500; + font-size: 0.875rem; + cursor: pointer; + border: 0; + padding-top: 0.625rem; + padding-bottom: 0.625rem; + padding-left: 2rem; + padding-right: 1rem; + -webkit-margin-start: -1rem; + margin-inline-start: -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} + +input[type=file]::-webkit-file-upload-button:hover{ + background: #4B5563; +} + +input[type=file]::file-selector-button:hover{ + background: #4B5563; +} + +.dark input[type=file]::-webkit-file-upload-button{ + color: white; + background: #4B5563; +} + +.dark input[type=file]::file-selector-button{ + color: white; + background: #4B5563; +} + +.dark input[type=file]::-webkit-file-upload-button:hover{ + background: #6B7280; +} + +.dark input[type=file]::file-selector-button:hover{ + background: #6B7280; +} + +[data-tooltip-style^='light'] + .tooltip > .tooltip-arrow:before{ + border-style: solid; + border-color: #E5E7EB; +} + +[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='top'] > .tooltip-arrow:before{ + border-bottom-width: 1px; + border-right-width: 1px; +} + +[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='right'] > .tooltip-arrow:before{ + border-bottom-width: 1px; + border-left-width: 1px; +} + +[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='bottom'] > .tooltip-arrow:before{ + border-top-width: 1px; + border-left-width: 1px; +} + +[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='left'] > .tooltip-arrow:before{ + border-top-width: 1px; + border-right-width: 1px; +} + +.tooltip[data-popper-placement^='top'] > .tooltip-arrow{ + bottom: -4px; +} + +.tooltip[data-popper-placement^='bottom'] > .tooltip-arrow{ + top: -4px; +} + +.tooltip[data-popper-placement^='left'] > .tooltip-arrow{ + right: -4px; +} + +.tooltip[data-popper-placement^='right'] > .tooltip-arrow{ + left: -4px; +} + +.tooltip.invisible > .tooltip-arrow:before{ + visibility: hidden; +} + +[role="tab"].active,[role="tab"].active:hover{ + color: #006395; + border-color: #006395; +} + +.dark [role="tab"].active,.dark [role="tab"].active:hover{ + color: #006395; + border-color: #006395; +} + +/* form */ + +.form-element{ + margin-top: 0.25rem; + width: 100%; + border-radius: 0.5rem; + border-width: 1px; + --tw-border-opacity: 1; + border-color: rgb(199 201 217 / var(--tw-border-opacity)); + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); + padding-left: 0.75rem; + padding-right: 0.75rem; + padding-top: 0.625rem; + padding-bottom: 0.625rem; + font-size: 0.875rem; + line-height: 1.25rem; + --tw-text-opacity: 1; + color: rgb(66 66 66 / var(--tw-text-opacity)); +} + +.form-element::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.form-element::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.form-element:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.form-element::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.form-element::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.form-element:focus{ + --tw-border-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-border-opacity)); + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-color: transparent; +} + +.form-element:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); +} + +.disabled-money input, .disabled-money { + background-color:transparent !important; + border: none; + } + +.has-error .form-element{ + --tw-border-opacity: 1; + border-color: rgb(204 0 0 / var(--tw-border-opacity)); +} + +.prepend-input-icon .form-element{ + padding-left: 2.5rem; + padding-right: 2.5rem; +} + +.form-control-label{ + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 500; + --tw-text-opacity: 1; + color: rgb(66 66 66 / var(--tw-text-opacity)); +} + +div.required > .form-control-label::after { + content: '*'; + margin-left: 0.25rem; + --tw-text-opacity: 1; + color: rgb(204 0 0 / var(--tw-text-opacity)); + } + +[type="radio"]{ + --tw-text-opacity: 1; + color: rgb(85 88 139 / var(--tw-text-opacity)); +} + +[type="radio"]:focus{ + --tw-border-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-border-opacity)); + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-opacity: 1; + --tw-ring-color: rgb(85 88 139 / var(--tw-ring-opacity)); +} + +.container{ + padding-left: 1rem; + padding-right: 1rem; +} + +@media (min-width: 1024px){ + + .container{ + padding-left: 0px; + padding-right: 0px; + } +} + +.max-h-0 { + max-height: 0; + } + +.h-0 { + height: auto; + } + +/* form */ + +/* index */ + +.index-actions:hover .tooltip-content{ + visibility: visible; + opacity: 1; +} + +html[dir='ltr'] .index-actions:first-child{ + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + border-right-width: 0px; +} + +html[dir='rtl'] .index-actions:first-child{ + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; + border-left-width: 0px; +} + +html[dir='ltr'] .index-actions:last-child{ + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; + border-left-width: 0px; +} + +html[dir='rtl'] .index-actions:last-child{ + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + border-right-width: 0px; +} + +html[dir='ltr'] .index-actions:nth-child(2){ + border-left-width: 1px; +} + +html[dir='rtl'] .index-actions:nth-child(2){ + border-right-width: 1px; +} + +html[dir='ltr'] .index-actions:nth-child(3){ + border-left-width: 0px; +} + +html[dir='rtl'] .index-actions:nth-child(3){ + border-right-width: 0px; +} + +[data-dropdown-actions] { + -webkit-transform: unset !important; + transform: unset !important; + } + +table thead a{ + border-bottom-width: 1px; + border-color: transparent; + -webkit-transition-property: all; + transition-property: all; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} + +table thead a:hover{ + --tw-border-opacity: 1; + border-color: rgb(66 66 66 / var(--tw-border-opacity)); +} + +.tabs-link::before { + content: ''; + } + +.tooltip.tabs-link::before > .tooltip-arrow:before{ + visibility: hidden; +} + +.tabs-link::before{ + visibility: hidden; + position: absolute; + left: 0px; + right: 0px; + bottom: 0px; + height: 0.125rem; + width: 100%; + border-top-left-radius: 0.375rem; + border-top-right-radius: 0.375rem; + --tw-bg-opacity: 1; + background-color: rgb(85 88 139 / var(--tw-bg-opacity)); + opacity: 0; + -webkit-transition-property: all; + transition-property: all; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} + +.tabs-link:hover::before{ + visibility: visible; + opacity: 1; +} + +.active-tabs { + border-color: transparent !important; + } + +.active-tabs::before{ + display: none; +} + +/* index */ + +/* menu */ + +.menu-scroll::-webkit-scrollbar { + width: 6px; + } + +.menu-scroll::-webkit-scrollbar-track { + border-radius: 10px; + background-color: #fcfcfc; + } + +.menu-scroll::-webkit-scrollbar-thumb { + border-radius: 10px; + background-color: #DCE2F9; + } + +.menu-list a svg { + width: 22px; + height: 24px; + fill: none; + stroke: #55588B; + stroke-width: 2px; + } + +details > summary { + list-style: none; + } + +summary { + outline:none; + } + +details summary::-webkit-details-marker { + display:none; + } + +@-webkit-keyframes details-fade { + from { + opacity:0; + -webkit-transform: translateY(-0.5em); + transform: translateY(-0.5em); + -webkit-transform: var(--details-translate, translateY(-0.5em)); + transform: var(--details-translate, translateY(-0.5em)); + } + } + +@keyframes details-fade { + from { + opacity:0; + -webkit-transform: translateY(-0.5em); + transform: translateY(-0.5em); + -webkit-transform: var(--details-translate, translateY(-0.5em)); + transform: var(--details-translate, translateY(-0.5em)); + } + } + +.menu-list details[open] > *:not(summary) { + -webkit-animation: details-fade 500ms ease-out; + animation: details-fade 500ms ease-out; + } + +/* menu */ + +input[type="date"]::-webkit-inner-spin-button, + input[type="date"]::-webkit-calendar-picker-indicator { + display: none; + -webkit-appearance: none; + } + +.d-none { + display: none; + } + +.d-block { + display: block; + } + +.overflow-overlay { + overflow: overlay; + } + +.py-top { + padding-bottom: 16px; + padding-top: 16px; + } + +.line-clamp-1 { + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + height: 1.5rem; + } + +.line-clamp-2 { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + height: 3rem; + } + +.line-clamp-3 { + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + height: 4rem; + } + +*, ::before, ::after{ + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(0 110 166 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} +.container{ + width: 100%; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 640px){ + + .container{ + max-width: 640px; + } +} +@media (min-width: 768px){ + + .container{ + max-width: 768px; + } +} +@media (min-width: 1024px){ + + .container{ + max-width: 1024px; + } +} +@media (min-width: 1280px){ + + .container{ + max-width: 1280px; + } +} +@media (min-width: 1536px){ + + .container{ + max-width: 1536px; + } +} +.container{ + max-width: 100%; +} +@media (min-width: 640px){ + + .container{ + max-width: 100%; + } +} +@media (min-width: 768px){ + + .container{ + max-width: 100%; + } +} +@media (min-width: 1024px){ + + .container{ + max-width: 1000px; + } +} +@media (min-width: 1280px){ + + .container{ + max-width: 895px; + } +} +@media (min-width: 1536px){ + + .container{ + max-width: 1145px; + } +} +.sr-only{ + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} +.not-sr-only{ + position: static; + width: auto; + height: auto; + padding: 0; + margin: 0; + overflow: visible; + clip: auto; + white-space: normal; +} +.pointer-events-none{ + pointer-events: none; +} +.pointer-events-auto{ + pointer-events: auto; +} +.visible{ + visibility: visible; +} +.invisible{ + visibility: hidden; +} +.static{ + position: static; +} +.fixed{ + position: fixed; +} +.absolute{ + position: absolute; +} +.relative{ + position: relative; +} +.sticky{ + position: sticky; +} +.inset-0{ + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; +} +.inset-1{ + top: 0.25rem; + right: 0.25rem; + bottom: 0.25rem; + left: 0.25rem; +} +.inset-2{ + top: 0.5rem; + right: 0.5rem; + bottom: 0.5rem; + left: 0.5rem; +} +.inset-3{ + top: 0.75rem; + right: 0.75rem; + bottom: 0.75rem; + left: 0.75rem; +} +.inset-4{ + top: 1rem; + right: 1rem; + bottom: 1rem; + left: 1rem; +} +.inset-5{ + top: 1.25rem; + right: 1.25rem; + bottom: 1.25rem; + left: 1.25rem; +} +.inset-6{ + top: 1.5rem; + right: 1.5rem; + bottom: 1.5rem; + left: 1.5rem; +} +.inset-7{ + top: 1.75rem; + right: 1.75rem; + bottom: 1.75rem; + left: 1.75rem; +} +.inset-8{ + top: 2rem; + right: 2rem; + bottom: 2rem; + left: 2rem; +} +.inset-9{ + top: 2.25rem; + right: 2.25rem; + bottom: 2.25rem; + left: 2.25rem; +} +.inset-10{ + top: 2.5rem; + right: 2.5rem; + bottom: 2.5rem; + left: 2.5rem; +} +.inset-11{ + top: 2.75rem; + right: 2.75rem; + bottom: 2.75rem; + left: 2.75rem; +} +.inset-12{ + top: 3rem; + right: 3rem; + bottom: 3rem; + left: 3rem; +} +.inset-14{ + top: 3.5rem; + right: 3.5rem; + bottom: 3.5rem; + left: 3.5rem; +} +.inset-16{ + top: 4rem; + right: 4rem; + bottom: 4rem; + left: 4rem; +} +.inset-20{ + top: 5rem; + right: 5rem; + bottom: 5rem; + left: 5rem; +} +.inset-24{ + top: 6rem; + right: 6rem; + bottom: 6rem; + left: 6rem; +} +.inset-28{ + top: 7rem; + right: 7rem; + bottom: 7rem; + left: 7rem; +} +.inset-31{ + top: 30.938rem; + right: 30.938rem; + bottom: 30.938rem; + left: 30.938rem; +} +.inset-32{ + top: 8rem; + right: 8rem; + bottom: 8rem; + left: 8rem; +} +.inset-33{ + top: 8.5rem; + right: 8.5rem; + bottom: 8.5rem; + left: 8.5rem; +} +.inset-36{ + top: 9rem; + right: 9rem; + bottom: 9rem; + left: 9rem; +} +.inset-37{ + top: 9.25rem; + right: 9.25rem; + bottom: 9.25rem; + left: 9.25rem; +} +.inset-40{ + top: 10rem; + right: 10rem; + bottom: 10rem; + left: 10rem; +} +.inset-44{ + top: 11rem; + right: 11rem; + bottom: 11rem; + left: 11rem; +} +.inset-46{ + top: 46.875rem; + right: 46.875rem; + bottom: 46.875rem; + left: 46.875rem; +} +.inset-48{ + top: 12rem; + right: 12rem; + bottom: 12rem; + left: 12rem; +} +.inset-52{ + top: 13rem; + right: 13rem; + bottom: 13rem; + left: 13rem; +} +.inset-56{ + top: 14rem; + right: 14rem; + bottom: 14rem; + left: 14rem; +} +.inset-60{ + top: 15rem; + right: 15rem; + bottom: 15rem; + left: 15rem; +} +.inset-64{ + top: 16rem; + right: 16rem; + bottom: 16rem; + left: 16rem; +} +.inset-72{ + top: 18rem; + right: 18rem; + bottom: 18rem; + left: 18rem; +} +.inset-80{ + top: 20rem; + right: 20rem; + bottom: 20rem; + left: 20rem; +} +.inset-96{ + top: 24rem; + right: 24rem; + bottom: 24rem; + left: 24rem; +} +.inset-auto{ + top: auto; + right: auto; + bottom: auto; + left: auto; +} +.inset-px{ + top: 1px; + right: 1px; + bottom: 1px; + left: 1px; +} +.inset-0\.5{ + top: 0.125rem; + right: 0.125rem; + bottom: 0.125rem; + left: 0.125rem; +} +.inset-1\.5{ + top: 0.375rem; + right: 0.375rem; + bottom: 0.375rem; + left: 0.375rem; +} +.inset-2\.5{ + top: 0.625rem; + right: 0.625rem; + bottom: 0.625rem; + left: 0.625rem; +} +.inset-3\.5{ + top: 0.875rem; + right: 0.875rem; + bottom: 0.875rem; + left: 0.875rem; +} +.inset-modal{ + top: 610px; + right: 610px; + bottom: 610px; + left: 610px; +} +.inset-5\.5{ + top: 1.30rem; + right: 1.30rem; + bottom: 1.30rem; + left: 1.30rem; +} +.inset-9\.5{ + top: 2.45rem; + right: 2.45rem; + bottom: 2.45rem; + left: 2.45rem; +} +.inset-12\.5{ + top: 3.2rem; + right: 3.2rem; + bottom: 3.2rem; + left: 3.2rem; +} +.inset-32\.5{ + top: 8.5rem; + right: 8.5rem; + bottom: 8.5rem; + left: 8.5rem; +} +.inset-1\/2{ + top: 50%; + right: 50%; + bottom: 50%; + left: 50%; +} +.inset-1\/3{ + top: 33.333333%; + right: 33.333333%; + bottom: 33.333333%; + left: 33.333333%; +} +.inset-2\/3{ + top: 66.666667%; + right: 66.666667%; + bottom: 66.666667%; + left: 66.666667%; +} +.inset-1\/4{ + top: 25%; + right: 25%; + bottom: 25%; + left: 25%; +} +.inset-2\/4{ + top: 50%; + right: 50%; + bottom: 50%; + left: 50%; +} +.inset-3\/4{ + top: 75%; + right: 75%; + bottom: 75%; + left: 75%; +} +.inset-full{ + top: 100%; + right: 100%; + bottom: 100%; + left: 100%; +} +.-inset-0{ + top: -0px; + right: -0px; + bottom: -0px; + left: -0px; +} +.-inset-1{ + top: -0.25rem; + right: -0.25rem; + bottom: -0.25rem; + left: -0.25rem; +} +.-inset-2{ + top: -0.5rem; + right: -0.5rem; + bottom: -0.5rem; + left: -0.5rem; +} +.-inset-3{ + top: -0.75rem; + right: -0.75rem; + bottom: -0.75rem; + left: -0.75rem; +} +.-inset-4{ + top: -1rem; + right: -1rem; + bottom: -1rem; + left: -1rem; +} +.-inset-5{ + top: -1.25rem; + right: -1.25rem; + bottom: -1.25rem; + left: -1.25rem; +} +.-inset-6{ + top: -1.5rem; + right: -1.5rem; + bottom: -1.5rem; + left: -1.5rem; +} +.-inset-7{ + top: -1.75rem; + right: -1.75rem; + bottom: -1.75rem; + left: -1.75rem; +} +.-inset-8{ + top: -2rem; + right: -2rem; + bottom: -2rem; + left: -2rem; +} +.-inset-9{ + top: -2.25rem; + right: -2.25rem; + bottom: -2.25rem; + left: -2.25rem; +} +.-inset-10{ + top: -2.5rem; + right: -2.5rem; + bottom: -2.5rem; + left: -2.5rem; +} +.-inset-11{ + top: -2.75rem; + right: -2.75rem; + bottom: -2.75rem; + left: -2.75rem; +} +.-inset-12{ + top: -3rem; + right: -3rem; + bottom: -3rem; + left: -3rem; +} +.-inset-14{ + top: -3.5rem; + right: -3.5rem; + bottom: -3.5rem; + left: -3.5rem; +} +.-inset-16{ + top: -4rem; + right: -4rem; + bottom: -4rem; + left: -4rem; +} +.-inset-20{ + top: -5rem; + right: -5rem; + bottom: -5rem; + left: -5rem; +} +.-inset-24{ + top: -6rem; + right: -6rem; + bottom: -6rem; + left: -6rem; +} +.-inset-28{ + top: -7rem; + right: -7rem; + bottom: -7rem; + left: -7rem; +} +.-inset-31{ + top: -30.938rem; + right: -30.938rem; + bottom: -30.938rem; + left: -30.938rem; +} +.-inset-32{ + top: -8rem; + right: -8rem; + bottom: -8rem; + left: -8rem; +} +.-inset-33{ + top: -8.5rem; + right: -8.5rem; + bottom: -8.5rem; + left: -8.5rem; +} +.-inset-36{ + top: -9rem; + right: -9rem; + bottom: -9rem; + left: -9rem; +} +.-inset-37{ + top: -9.25rem; + right: -9.25rem; + bottom: -9.25rem; + left: -9.25rem; +} +.-inset-40{ + top: -10rem; + right: -10rem; + bottom: -10rem; + left: -10rem; +} +.-inset-44{ + top: -11rem; + right: -11rem; + bottom: -11rem; + left: -11rem; +} +.-inset-46{ + top: -46.875rem; + right: -46.875rem; + bottom: -46.875rem; + left: -46.875rem; +} +.-inset-48{ + top: -12rem; + right: -12rem; + bottom: -12rem; + left: -12rem; +} +.-inset-52{ + top: -13rem; + right: -13rem; + bottom: -13rem; + left: -13rem; +} +.-inset-56{ + top: -14rem; + right: -14rem; + bottom: -14rem; + left: -14rem; +} +.-inset-60{ + top: -15rem; + right: -15rem; + bottom: -15rem; + left: -15rem; +} +.-inset-64{ + top: -16rem; + right: -16rem; + bottom: -16rem; + left: -16rem; +} +.-inset-72{ + top: -18rem; + right: -18rem; + bottom: -18rem; + left: -18rem; +} +.-inset-80{ + top: -20rem; + right: -20rem; + bottom: -20rem; + left: -20rem; +} +.-inset-96{ + top: -24rem; + right: -24rem; + bottom: -24rem; + left: -24rem; +} +.-inset-px{ + top: -1px; + right: -1px; + bottom: -1px; + left: -1px; +} +.-inset-0\.5{ + top: -0.125rem; + right: -0.125rem; + bottom: -0.125rem; + left: -0.125rem; +} +.-inset-1\.5{ + top: -0.375rem; + right: -0.375rem; + bottom: -0.375rem; + left: -0.375rem; +} +.-inset-2\.5{ + top: -0.625rem; + right: -0.625rem; + bottom: -0.625rem; + left: -0.625rem; +} +.-inset-3\.5{ + top: -0.875rem; + right: -0.875rem; + bottom: -0.875rem; + left: -0.875rem; +} +.-inset-modal{ + top: -610px; + right: -610px; + bottom: -610px; + left: -610px; +} +.-inset-5\.5{ + top: -1.30rem; + right: -1.30rem; + bottom: -1.30rem; + left: -1.30rem; +} +.-inset-9\.5{ + top: -2.45rem; + right: -2.45rem; + bottom: -2.45rem; + left: -2.45rem; +} +.-inset-12\.5{ + top: -3.2rem; + right: -3.2rem; + bottom: -3.2rem; + left: -3.2rem; +} +.-inset-32\.5{ + top: -8.5rem; + right: -8.5rem; + bottom: -8.5rem; + left: -8.5rem; +} +.-inset-1\/2{ + top: -50%; + right: -50%; + bottom: -50%; + left: -50%; +} +.-inset-1\/3{ + top: -33.333333%; + right: -33.333333%; + bottom: -33.333333%; + left: -33.333333%; +} +.-inset-2\/3{ + top: -66.666667%; + right: -66.666667%; + bottom: -66.666667%; + left: -66.666667%; +} +.-inset-1\/4{ + top: -25%; + right: -25%; + bottom: -25%; + left: -25%; +} +.-inset-2\/4{ + top: -50%; + right: -50%; + bottom: -50%; + left: -50%; +} +.-inset-3\/4{ + top: -75%; + right: -75%; + bottom: -75%; + left: -75%; +} +.-inset-full{ + top: -100%; + right: -100%; + bottom: -100%; + left: -100%; +} +.inset-x-0{ + left: 0px; + right: 0px; +} +.inset-x-1{ + left: 0.25rem; + right: 0.25rem; +} +.inset-x-2{ + left: 0.5rem; + right: 0.5rem; +} +.inset-x-3{ + left: 0.75rem; + right: 0.75rem; +} +.inset-x-4{ + left: 1rem; + right: 1rem; +} +.inset-x-5{ + left: 1.25rem; + right: 1.25rem; +} +.inset-x-6{ + left: 1.5rem; + right: 1.5rem; +} +.inset-x-7{ + left: 1.75rem; + right: 1.75rem; +} +.inset-x-8{ + left: 2rem; + right: 2rem; +} +.inset-x-9{ + left: 2.25rem; + right: 2.25rem; +} +.inset-x-10{ + left: 2.5rem; + right: 2.5rem; +} +.inset-x-11{ + left: 2.75rem; + right: 2.75rem; +} +.inset-x-12{ + left: 3rem; + right: 3rem; +} +.inset-x-14{ + left: 3.5rem; + right: 3.5rem; +} +.inset-x-16{ + left: 4rem; + right: 4rem; +} +.inset-x-20{ + left: 5rem; + right: 5rem; +} +.inset-x-24{ + left: 6rem; + right: 6rem; +} +.inset-x-28{ + left: 7rem; + right: 7rem; +} +.inset-x-31{ + left: 30.938rem; + right: 30.938rem; +} +.inset-x-32{ + left: 8rem; + right: 8rem; +} +.inset-x-33{ + left: 8.5rem; + right: 8.5rem; +} +.inset-x-36{ + left: 9rem; + right: 9rem; +} +.inset-x-37{ + left: 9.25rem; + right: 9.25rem; +} +.inset-x-40{ + left: 10rem; + right: 10rem; +} +.inset-x-44{ + left: 11rem; + right: 11rem; +} +.inset-x-46{ + left: 46.875rem; + right: 46.875rem; +} +.inset-x-48{ + left: 12rem; + right: 12rem; +} +.inset-x-52{ + left: 13rem; + right: 13rem; +} +.inset-x-56{ + left: 14rem; + right: 14rem; +} +.inset-x-60{ + left: 15rem; + right: 15rem; +} +.inset-x-64{ + left: 16rem; + right: 16rem; +} +.inset-x-72{ + left: 18rem; + right: 18rem; +} +.inset-x-80{ + left: 20rem; + right: 20rem; +} +.inset-x-96{ + left: 24rem; + right: 24rem; +} +.inset-x-auto{ + left: auto; + right: auto; +} +.inset-x-px{ + left: 1px; + right: 1px; +} +.inset-x-0\.5{ + left: 0.125rem; + right: 0.125rem; +} +.inset-x-1\.5{ + left: 0.375rem; + right: 0.375rem; +} +.inset-x-2\.5{ + left: 0.625rem; + right: 0.625rem; +} +.inset-x-3\.5{ + left: 0.875rem; + right: 0.875rem; +} +.inset-x-modal{ + left: 610px; + right: 610px; +} +.inset-x-5\.5{ + left: 1.30rem; + right: 1.30rem; +} +.inset-x-9\.5{ + left: 2.45rem; + right: 2.45rem; +} +.inset-x-12\.5{ + left: 3.2rem; + right: 3.2rem; +} +.inset-x-32\.5{ + left: 8.5rem; + right: 8.5rem; +} +.inset-x-1\/2{ + left: 50%; + right: 50%; +} +.inset-x-1\/3{ + left: 33.333333%; + right: 33.333333%; +} +.inset-x-2\/3{ + left: 66.666667%; + right: 66.666667%; +} +.inset-x-1\/4{ + left: 25%; + right: 25%; +} +.inset-x-2\/4{ + left: 50%; + right: 50%; +} +.inset-x-3\/4{ + left: 75%; + right: 75%; +} +.inset-x-full{ + left: 100%; + right: 100%; +} +.-inset-x-0{ + left: -0px; + right: -0px; +} +.-inset-x-1{ + left: -0.25rem; + right: -0.25rem; +} +.-inset-x-2{ + left: -0.5rem; + right: -0.5rem; +} +.-inset-x-3{ + left: -0.75rem; + right: -0.75rem; +} +.-inset-x-4{ + left: -1rem; + right: -1rem; +} +.-inset-x-5{ + left: -1.25rem; + right: -1.25rem; +} +.-inset-x-6{ + left: -1.5rem; + right: -1.5rem; +} +.-inset-x-7{ + left: -1.75rem; + right: -1.75rem; +} +.-inset-x-8{ + left: -2rem; + right: -2rem; +} +.-inset-x-9{ + left: -2.25rem; + right: -2.25rem; +} +.-inset-x-10{ + left: -2.5rem; + right: -2.5rem; +} +.-inset-x-11{ + left: -2.75rem; + right: -2.75rem; +} +.-inset-x-12{ + left: -3rem; + right: -3rem; +} +.-inset-x-14{ + left: -3.5rem; + right: -3.5rem; +} +.-inset-x-16{ + left: -4rem; + right: -4rem; +} +.-inset-x-20{ + left: -5rem; + right: -5rem; +} +.-inset-x-24{ + left: -6rem; + right: -6rem; +} +.-inset-x-28{ + left: -7rem; + right: -7rem; +} +.-inset-x-31{ + left: -30.938rem; + right: -30.938rem; +} +.-inset-x-32{ + left: -8rem; + right: -8rem; +} +.-inset-x-33{ + left: -8.5rem; + right: -8.5rem; +} +.-inset-x-36{ + left: -9rem; + right: -9rem; +} +.-inset-x-37{ + left: -9.25rem; + right: -9.25rem; +} +.-inset-x-40{ + left: -10rem; + right: -10rem; +} +.-inset-x-44{ + left: -11rem; + right: -11rem; +} +.-inset-x-46{ + left: -46.875rem; + right: -46.875rem; +} +.-inset-x-48{ + left: -12rem; + right: -12rem; +} +.-inset-x-52{ + left: -13rem; + right: -13rem; +} +.-inset-x-56{ + left: -14rem; + right: -14rem; +} +.-inset-x-60{ + left: -15rem; + right: -15rem; +} +.-inset-x-64{ + left: -16rem; + right: -16rem; +} +.-inset-x-72{ + left: -18rem; + right: -18rem; +} +.-inset-x-80{ + left: -20rem; + right: -20rem; +} +.-inset-x-96{ + left: -24rem; + right: -24rem; +} +.-inset-x-px{ + left: -1px; + right: -1px; +} +.-inset-x-0\.5{ + left: -0.125rem; + right: -0.125rem; +} +.-inset-x-1\.5{ + left: -0.375rem; + right: -0.375rem; +} +.-inset-x-2\.5{ + left: -0.625rem; + right: -0.625rem; +} +.-inset-x-3\.5{ + left: -0.875rem; + right: -0.875rem; +} +.-inset-x-modal{ + left: -610px; + right: -610px; +} +.-inset-x-5\.5{ + left: -1.30rem; + right: -1.30rem; +} +.-inset-x-9\.5{ + left: -2.45rem; + right: -2.45rem; +} +.-inset-x-12\.5{ + left: -3.2rem; + right: -3.2rem; +} +.-inset-x-32\.5{ + left: -8.5rem; + right: -8.5rem; +} +.-inset-x-1\/2{ + left: -50%; + right: -50%; +} +.-inset-x-1\/3{ + left: -33.333333%; + right: -33.333333%; +} +.-inset-x-2\/3{ + left: -66.666667%; + right: -66.666667%; +} +.-inset-x-1\/4{ + left: -25%; + right: -25%; +} +.-inset-x-2\/4{ + left: -50%; + right: -50%; +} +.-inset-x-3\/4{ + left: -75%; + right: -75%; +} +.-inset-x-full{ + left: -100%; + right: -100%; +} +.inset-y-0{ + top: 0px; + bottom: 0px; +} +.inset-y-1{ + top: 0.25rem; + bottom: 0.25rem; +} +.inset-y-2{ + top: 0.5rem; + bottom: 0.5rem; +} +.inset-y-3{ + top: 0.75rem; + bottom: 0.75rem; +} +.inset-y-4{ + top: 1rem; + bottom: 1rem; +} +.inset-y-5{ + top: 1.25rem; + bottom: 1.25rem; +} +.inset-y-6{ + top: 1.5rem; + bottom: 1.5rem; +} +.inset-y-7{ + top: 1.75rem; + bottom: 1.75rem; +} +.inset-y-8{ + top: 2rem; + bottom: 2rem; +} +.inset-y-9{ + top: 2.25rem; + bottom: 2.25rem; +} +.inset-y-10{ + top: 2.5rem; + bottom: 2.5rem; +} +.inset-y-11{ + top: 2.75rem; + bottom: 2.75rem; +} +.inset-y-12{ + top: 3rem; + bottom: 3rem; +} +.inset-y-14{ + top: 3.5rem; + bottom: 3.5rem; +} +.inset-y-16{ + top: 4rem; + bottom: 4rem; +} +.inset-y-20{ + top: 5rem; + bottom: 5rem; +} +.inset-y-24{ + top: 6rem; + bottom: 6rem; +} +.inset-y-28{ + top: 7rem; + bottom: 7rem; +} +.inset-y-31{ + top: 30.938rem; + bottom: 30.938rem; +} +.inset-y-32{ + top: 8rem; + bottom: 8rem; +} +.inset-y-33{ + top: 8.5rem; + bottom: 8.5rem; +} +.inset-y-36{ + top: 9rem; + bottom: 9rem; +} +.inset-y-37{ + top: 9.25rem; + bottom: 9.25rem; +} +.inset-y-40{ + top: 10rem; + bottom: 10rem; +} +.inset-y-44{ + top: 11rem; + bottom: 11rem; +} +.inset-y-46{ + top: 46.875rem; + bottom: 46.875rem; +} +.inset-y-48{ + top: 12rem; + bottom: 12rem; +} +.inset-y-52{ + top: 13rem; + bottom: 13rem; +} +.inset-y-56{ + top: 14rem; + bottom: 14rem; +} +.inset-y-60{ + top: 15rem; + bottom: 15rem; +} +.inset-y-64{ + top: 16rem; + bottom: 16rem; +} +.inset-y-72{ + top: 18rem; + bottom: 18rem; +} +.inset-y-80{ + top: 20rem; + bottom: 20rem; +} +.inset-y-96{ + top: 24rem; + bottom: 24rem; +} +.inset-y-auto{ + top: auto; + bottom: auto; +} +.inset-y-px{ + top: 1px; + bottom: 1px; +} +.inset-y-0\.5{ + top: 0.125rem; + bottom: 0.125rem; +} +.inset-y-1\.5{ + top: 0.375rem; + bottom: 0.375rem; +} +.inset-y-2\.5{ + top: 0.625rem; + bottom: 0.625rem; +} +.inset-y-3\.5{ + top: 0.875rem; + bottom: 0.875rem; +} +.inset-y-modal{ + top: 610px; + bottom: 610px; +} +.inset-y-5\.5{ + top: 1.30rem; + bottom: 1.30rem; +} +.inset-y-9\.5{ + top: 2.45rem; + bottom: 2.45rem; +} +.inset-y-12\.5{ + top: 3.2rem; + bottom: 3.2rem; +} +.inset-y-32\.5{ + top: 8.5rem; + bottom: 8.5rem; +} +.inset-y-1\/2{ + top: 50%; + bottom: 50%; +} +.inset-y-1\/3{ + top: 33.333333%; + bottom: 33.333333%; +} +.inset-y-2\/3{ + top: 66.666667%; + bottom: 66.666667%; +} +.inset-y-1\/4{ + top: 25%; + bottom: 25%; +} +.inset-y-2\/4{ + top: 50%; + bottom: 50%; +} +.inset-y-3\/4{ + top: 75%; + bottom: 75%; +} +.inset-y-full{ + top: 100%; + bottom: 100%; +} +.-inset-y-0{ + top: -0px; + bottom: -0px; +} +.-inset-y-1{ + top: -0.25rem; + bottom: -0.25rem; +} +.-inset-y-2{ + top: -0.5rem; + bottom: -0.5rem; +} +.-inset-y-3{ + top: -0.75rem; + bottom: -0.75rem; +} +.-inset-y-4{ + top: -1rem; + bottom: -1rem; +} +.-inset-y-5{ + top: -1.25rem; + bottom: -1.25rem; +} +.-inset-y-6{ + top: -1.5rem; + bottom: -1.5rem; +} +.-inset-y-7{ + top: -1.75rem; + bottom: -1.75rem; +} +.-inset-y-8{ + top: -2rem; + bottom: -2rem; +} +.-inset-y-9{ + top: -2.25rem; + bottom: -2.25rem; +} +.-inset-y-10{ + top: -2.5rem; + bottom: -2.5rem; +} +.-inset-y-11{ + top: -2.75rem; + bottom: -2.75rem; +} +.-inset-y-12{ + top: -3rem; + bottom: -3rem; +} +.-inset-y-14{ + top: -3.5rem; + bottom: -3.5rem; +} +.-inset-y-16{ + top: -4rem; + bottom: -4rem; +} +.-inset-y-20{ + top: -5rem; + bottom: -5rem; +} +.-inset-y-24{ + top: -6rem; + bottom: -6rem; +} +.-inset-y-28{ + top: -7rem; + bottom: -7rem; +} +.-inset-y-31{ + top: -30.938rem; + bottom: -30.938rem; +} +.-inset-y-32{ + top: -8rem; + bottom: -8rem; +} +.-inset-y-33{ + top: -8.5rem; + bottom: -8.5rem; +} +.-inset-y-36{ + top: -9rem; + bottom: -9rem; +} +.-inset-y-37{ + top: -9.25rem; + bottom: -9.25rem; +} +.-inset-y-40{ + top: -10rem; + bottom: -10rem; +} +.-inset-y-44{ + top: -11rem; + bottom: -11rem; +} +.-inset-y-46{ + top: -46.875rem; + bottom: -46.875rem; +} +.-inset-y-48{ + top: -12rem; + bottom: -12rem; +} +.-inset-y-52{ + top: -13rem; + bottom: -13rem; +} +.-inset-y-56{ + top: -14rem; + bottom: -14rem; +} +.-inset-y-60{ + top: -15rem; + bottom: -15rem; +} +.-inset-y-64{ + top: -16rem; + bottom: -16rem; +} +.-inset-y-72{ + top: -18rem; + bottom: -18rem; +} +.-inset-y-80{ + top: -20rem; + bottom: -20rem; +} +.-inset-y-96{ + top: -24rem; + bottom: -24rem; +} +.-inset-y-px{ + top: -1px; + bottom: -1px; +} +.-inset-y-0\.5{ + top: -0.125rem; + bottom: -0.125rem; +} +.-inset-y-1\.5{ + top: -0.375rem; + bottom: -0.375rem; +} +.-inset-y-2\.5{ + top: -0.625rem; + bottom: -0.625rem; +} +.-inset-y-3\.5{ + top: -0.875rem; + bottom: -0.875rem; +} +.-inset-y-modal{ + top: -610px; + bottom: -610px; +} +.-inset-y-5\.5{ + top: -1.30rem; + bottom: -1.30rem; +} +.-inset-y-9\.5{ + top: -2.45rem; + bottom: -2.45rem; +} +.-inset-y-12\.5{ + top: -3.2rem; + bottom: -3.2rem; +} +.-inset-y-32\.5{ + top: -8.5rem; + bottom: -8.5rem; +} +.-inset-y-1\/2{ + top: -50%; + bottom: -50%; +} +.-inset-y-1\/3{ + top: -33.333333%; + bottom: -33.333333%; +} +.-inset-y-2\/3{ + top: -66.666667%; + bottom: -66.666667%; +} +.-inset-y-1\/4{ + top: -25%; + bottom: -25%; +} +.-inset-y-2\/4{ + top: -50%; + bottom: -50%; +} +.-inset-y-3\/4{ + top: -75%; + bottom: -75%; +} +.-inset-y-full{ + top: -100%; + bottom: -100%; +} +.top-0{ + top: 0px; +} +.top-1{ + top: 0.25rem; +} +.top-2{ + top: 0.5rem; +} +.top-3{ + top: 0.75rem; +} +.top-4{ + top: 1rem; +} +.top-5{ + top: 1.25rem; +} +.top-6{ + top: 1.5rem; +} +.top-7{ + top: 1.75rem; +} +.top-8{ + top: 2rem; +} +.top-9{ + top: 2.25rem; +} +.top-10{ + top: 2.5rem; +} +.top-11{ + top: 2.75rem; +} +.top-12{ + top: 3rem; +} +.top-14{ + top: 3.5rem; +} +.top-16{ + top: 4rem; +} +.top-20{ + top: 5rem; +} +.top-24{ + top: 6rem; +} +.top-28{ + top: 7rem; +} +.top-31{ + top: 30.938rem; +} +.top-32{ + top: 8rem; +} +.top-33{ + top: 8.5rem; +} +.top-36{ + top: 9rem; +} +.top-37{ + top: 9.25rem; +} +.top-40{ + top: 10rem; +} +.top-44{ + top: 11rem; +} +.top-46{ + top: 46.875rem; +} +.top-48{ + top: 12rem; +} +.top-52{ + top: 13rem; +} +.top-56{ + top: 14rem; +} +.top-60{ + top: 15rem; +} +.top-64{ + top: 16rem; +} +.top-72{ + top: 18rem; +} +.top-80{ + top: 20rem; +} +.top-96{ + top: 24rem; +} +.top-auto{ + top: auto; +} +.top-px{ + top: 1px; +} +.top-0\.5{ + top: 0.125rem; +} +.top-1\.5{ + top: 0.375rem; +} +.top-2\.5{ + top: 0.625rem; +} +.top-3\.5{ + top: 0.875rem; +} +.top-modal{ + top: 610px; +} +.top-5\.5{ + top: 1.30rem; +} +.top-9\.5{ + top: 2.45rem; +} +.top-12\.5{ + top: 3.2rem; +} +.top-32\.5{ + top: 8.5rem; +} +.top-1\/2{ + top: 50%; +} +.top-1\/3{ + top: 33.333333%; +} +.top-2\/3{ + top: 66.666667%; +} +.top-1\/4{ + top: 25%; +} +.top-2\/4{ + top: 50%; +} +.top-3\/4{ + top: 75%; +} +.top-full{ + top: 100%; +} +.-top-0{ + top: -0px; +} +.-top-1{ + top: -0.25rem; +} +.-top-2{ + top: -0.5rem; +} +.-top-3{ + top: -0.75rem; +} +.-top-4{ + top: -1rem; +} +.-top-5{ + top: -1.25rem; +} +.-top-6{ + top: -1.5rem; +} +.-top-7{ + top: -1.75rem; +} +.-top-8{ + top: -2rem; +} +.-top-9{ + top: -2.25rem; +} +.-top-10{ + top: -2.5rem; +} +.-top-11{ + top: -2.75rem; +} +.-top-12{ + top: -3rem; +} +.-top-14{ + top: -3.5rem; +} +.-top-16{ + top: -4rem; +} +.-top-20{ + top: -5rem; +} +.-top-24{ + top: -6rem; +} +.-top-28{ + top: -7rem; +} +.-top-31{ + top: -30.938rem; +} +.-top-32{ + top: -8rem; +} +.-top-33{ + top: -8.5rem; +} +.-top-36{ + top: -9rem; +} +.-top-37{ + top: -9.25rem; +} +.-top-40{ + top: -10rem; +} +.-top-44{ + top: -11rem; +} +.-top-46{ + top: -46.875rem; +} +.-top-48{ + top: -12rem; +} +.-top-52{ + top: -13rem; +} +.-top-56{ + top: -14rem; +} +.-top-60{ + top: -15rem; +} +.-top-64{ + top: -16rem; +} +.-top-72{ + top: -18rem; +} +.-top-80{ + top: -20rem; +} +.-top-96{ + top: -24rem; +} +.-top-px{ + top: -1px; +} +.-top-0\.5{ + top: -0.125rem; +} +.-top-1\.5{ + top: -0.375rem; +} +.-top-2\.5{ + top: -0.625rem; +} +.-top-3\.5{ + top: -0.875rem; +} +.-top-modal{ + top: -610px; +} +.-top-5\.5{ + top: -1.30rem; +} +.-top-9\.5{ + top: -2.45rem; +} +.-top-12\.5{ + top: -3.2rem; +} +.-top-32\.5{ + top: -8.5rem; +} +.-top-1\/2{ + top: -50%; +} +.-top-1\/3{ + top: -33.333333%; +} +.-top-2\/3{ + top: -66.666667%; +} +.-top-1\/4{ + top: -25%; +} +.-top-2\/4{ + top: -50%; +} +.-top-3\/4{ + top: -75%; +} +.-top-full{ + top: -100%; +} +.right-0{ + right: 0px; +} +.right-1{ + right: 0.25rem; +} +.right-2{ + right: 0.5rem; +} +.right-3{ + right: 0.75rem; +} +.right-4{ + right: 1rem; +} +.right-5{ + right: 1.25rem; +} +.right-6{ + right: 1.5rem; +} +.right-7{ + right: 1.75rem; +} +.right-8{ + right: 2rem; +} +.right-9{ + right: 2.25rem; +} +.right-10{ + right: 2.5rem; +} +.right-11{ + right: 2.75rem; +} +.right-12{ + right: 3rem; +} +.right-14{ + right: 3.5rem; +} +.right-16{ + right: 4rem; +} +.right-20{ + right: 5rem; +} +.right-24{ + right: 6rem; +} +.right-28{ + right: 7rem; +} +.right-31{ + right: 30.938rem; +} +.right-32{ + right: 8rem; +} +.right-33{ + right: 8.5rem; +} +.right-36{ + right: 9rem; +} +.right-37{ + right: 9.25rem; +} +.right-40{ + right: 10rem; +} +.right-44{ + right: 11rem; +} +.right-46{ + right: 46.875rem; +} +.right-48{ + right: 12rem; +} +.right-52{ + right: 13rem; +} +.right-56{ + right: 14rem; +} +.right-60{ + right: 15rem; +} +.right-64{ + right: 16rem; +} +.right-72{ + right: 18rem; +} +.right-80{ + right: 20rem; +} +.right-96{ + right: 24rem; +} +.right-auto{ + right: auto; +} +.right-px{ + right: 1px; +} +.right-0\.5{ + right: 0.125rem; +} +.right-1\.5{ + right: 0.375rem; +} +.right-2\.5{ + right: 0.625rem; +} +.right-3\.5{ + right: 0.875rem; +} +.right-modal{ + right: 610px; +} +.right-5\.5{ + right: 1.30rem; +} +.right-9\.5{ + right: 2.45rem; +} +.right-12\.5{ + right: 3.2rem; +} +.right-32\.5{ + right: 8.5rem; +} +.right-1\/2{ + right: 50%; +} +.right-1\/3{ + right: 33.333333%; +} +.right-2\/3{ + right: 66.666667%; +} +.right-1\/4{ + right: 25%; +} +.right-2\/4{ + right: 50%; +} +.right-3\/4{ + right: 75%; +} +.right-full{ + right: 100%; +} +.-right-0{ + right: -0px; +} +.-right-1{ + right: -0.25rem; +} +.-right-2{ + right: -0.5rem; +} +.-right-3{ + right: -0.75rem; +} +.-right-4{ + right: -1rem; +} +.-right-5{ + right: -1.25rem; +} +.-right-6{ + right: -1.5rem; +} +.-right-7{ + right: -1.75rem; +} +.-right-8{ + right: -2rem; +} +.-right-9{ + right: -2.25rem; +} +.-right-10{ + right: -2.5rem; +} +.-right-11{ + right: -2.75rem; +} +.-right-12{ + right: -3rem; +} +.-right-14{ + right: -3.5rem; +} +.-right-16{ + right: -4rem; +} +.-right-20{ + right: -5rem; +} +.-right-24{ + right: -6rem; +} +.-right-28{ + right: -7rem; +} +.-right-31{ + right: -30.938rem; +} +.-right-32{ + right: -8rem; +} +.-right-33{ + right: -8.5rem; +} +.-right-36{ + right: -9rem; +} +.-right-37{ + right: -9.25rem; +} +.-right-40{ + right: -10rem; +} +.-right-44{ + right: -11rem; +} +.-right-46{ + right: -46.875rem; +} +.-right-48{ + right: -12rem; +} +.-right-52{ + right: -13rem; +} +.-right-56{ + right: -14rem; +} +.-right-60{ + right: -15rem; +} +.-right-64{ + right: -16rem; +} +.-right-72{ + right: -18rem; +} +.-right-80{ + right: -20rem; +} +.-right-96{ + right: -24rem; +} +.-right-px{ + right: -1px; +} +.-right-0\.5{ + right: -0.125rem; +} +.-right-1\.5{ + right: -0.375rem; +} +.-right-2\.5{ + right: -0.625rem; +} +.-right-3\.5{ + right: -0.875rem; +} +.-right-modal{ + right: -610px; +} +.-right-5\.5{ + right: -1.30rem; +} +.-right-9\.5{ + right: -2.45rem; +} +.-right-12\.5{ + right: -3.2rem; +} +.-right-32\.5{ + right: -8.5rem; +} +.-right-1\/2{ + right: -50%; +} +.-right-1\/3{ + right: -33.333333%; +} +.-right-2\/3{ + right: -66.666667%; +} +.-right-1\/4{ + right: -25%; +} +.-right-2\/4{ + right: -50%; +} +.-right-3\/4{ + right: -75%; +} +.-right-full{ + right: -100%; +} +.bottom-0{ + bottom: 0px; +} +.bottom-1{ + bottom: 0.25rem; +} +.bottom-2{ + bottom: 0.5rem; +} +.bottom-3{ + bottom: 0.75rem; +} +.bottom-4{ + bottom: 1rem; +} +.bottom-5{ + bottom: 1.25rem; +} +.bottom-6{ + bottom: 1.5rem; +} +.bottom-7{ + bottom: 1.75rem; +} +.bottom-8{ + bottom: 2rem; +} +.bottom-9{ + bottom: 2.25rem; +} +.bottom-10{ + bottom: 2.5rem; +} +.bottom-11{ + bottom: 2.75rem; +} +.bottom-12{ + bottom: 3rem; +} +.bottom-14{ + bottom: 3.5rem; +} +.bottom-16{ + bottom: 4rem; +} +.bottom-20{ + bottom: 5rem; +} +.bottom-24{ + bottom: 6rem; +} +.bottom-28{ + bottom: 7rem; +} +.bottom-31{ + bottom: 30.938rem; +} +.bottom-32{ + bottom: 8rem; +} +.bottom-33{ + bottom: 8.5rem; +} +.bottom-36{ + bottom: 9rem; +} +.bottom-37{ + bottom: 9.25rem; +} +.bottom-40{ + bottom: 10rem; +} +.bottom-44{ + bottom: 11rem; +} +.bottom-46{ + bottom: 46.875rem; +} +.bottom-48{ + bottom: 12rem; +} +.bottom-52{ + bottom: 13rem; +} +.bottom-56{ + bottom: 14rem; +} +.bottom-60{ + bottom: 15rem; +} +.bottom-64{ + bottom: 16rem; +} +.bottom-72{ + bottom: 18rem; +} +.bottom-80{ + bottom: 20rem; +} +.bottom-96{ + bottom: 24rem; +} +.bottom-auto{ + bottom: auto; +} +.bottom-px{ + bottom: 1px; +} +.bottom-0\.5{ + bottom: 0.125rem; +} +.bottom-1\.5{ + bottom: 0.375rem; +} +.bottom-2\.5{ + bottom: 0.625rem; +} +.bottom-3\.5{ + bottom: 0.875rem; +} +.bottom-modal{ + bottom: 610px; +} +.bottom-5\.5{ + bottom: 1.30rem; +} +.bottom-9\.5{ + bottom: 2.45rem; +} +.bottom-12\.5{ + bottom: 3.2rem; +} +.bottom-32\.5{ + bottom: 8.5rem; +} +.bottom-1\/2{ + bottom: 50%; +} +.bottom-1\/3{ + bottom: 33.333333%; +} +.bottom-2\/3{ + bottom: 66.666667%; +} +.bottom-1\/4{ + bottom: 25%; +} +.bottom-2\/4{ + bottom: 50%; +} +.bottom-3\/4{ + bottom: 75%; +} +.bottom-full{ + bottom: 100%; +} +.-bottom-0{ + bottom: -0px; +} +.-bottom-1{ + bottom: -0.25rem; +} +.-bottom-2{ + bottom: -0.5rem; +} +.-bottom-3{ + bottom: -0.75rem; +} +.-bottom-4{ + bottom: -1rem; +} +.-bottom-5{ + bottom: -1.25rem; +} +.-bottom-6{ + bottom: -1.5rem; +} +.-bottom-7{ + bottom: -1.75rem; +} +.-bottom-8{ + bottom: -2rem; +} +.-bottom-9{ + bottom: -2.25rem; +} +.-bottom-10{ + bottom: -2.5rem; +} +.-bottom-11{ + bottom: -2.75rem; +} +.-bottom-12{ + bottom: -3rem; +} +.-bottom-14{ + bottom: -3.5rem; +} +.-bottom-16{ + bottom: -4rem; +} +.-bottom-20{ + bottom: -5rem; +} +.-bottom-24{ + bottom: -6rem; +} +.-bottom-28{ + bottom: -7rem; +} +.-bottom-31{ + bottom: -30.938rem; +} +.-bottom-32{ + bottom: -8rem; +} +.-bottom-33{ + bottom: -8.5rem; +} +.-bottom-36{ + bottom: -9rem; +} +.-bottom-37{ + bottom: -9.25rem; +} +.-bottom-40{ + bottom: -10rem; +} +.-bottom-44{ + bottom: -11rem; +} +.-bottom-46{ + bottom: -46.875rem; +} +.-bottom-48{ + bottom: -12rem; +} +.-bottom-52{ + bottom: -13rem; +} +.-bottom-56{ + bottom: -14rem; +} +.-bottom-60{ + bottom: -15rem; +} +.-bottom-64{ + bottom: -16rem; +} +.-bottom-72{ + bottom: -18rem; +} +.-bottom-80{ + bottom: -20rem; +} +.-bottom-96{ + bottom: -24rem; +} +.-bottom-px{ + bottom: -1px; +} +.-bottom-0\.5{ + bottom: -0.125rem; +} +.-bottom-1\.5{ + bottom: -0.375rem; +} +.-bottom-2\.5{ + bottom: -0.625rem; +} +.-bottom-3\.5{ + bottom: -0.875rem; +} +.-bottom-modal{ + bottom: -610px; +} +.-bottom-5\.5{ + bottom: -1.30rem; +} +.-bottom-9\.5{ + bottom: -2.45rem; +} +.-bottom-12\.5{ + bottom: -3.2rem; +} +.-bottom-32\.5{ + bottom: -8.5rem; +} +.-bottom-1\/2{ + bottom: -50%; +} +.-bottom-1\/3{ + bottom: -33.333333%; +} +.-bottom-2\/3{ + bottom: -66.666667%; +} +.-bottom-1\/4{ + bottom: -25%; +} +.-bottom-2\/4{ + bottom: -50%; +} +.-bottom-3\/4{ + bottom: -75%; +} +.-bottom-full{ + bottom: -100%; +} +.left-0{ + left: 0px; +} +.left-1{ + left: 0.25rem; +} +.left-2{ + left: 0.5rem; +} +.left-3{ + left: 0.75rem; +} +.left-4{ + left: 1rem; +} +.left-5{ + left: 1.25rem; +} +.left-6{ + left: 1.5rem; +} +.left-7{ + left: 1.75rem; +} +.left-8{ + left: 2rem; +} +.left-9{ + left: 2.25rem; +} +.left-10{ + left: 2.5rem; +} +.left-11{ + left: 2.75rem; +} +.left-12{ + left: 3rem; +} +.left-14{ + left: 3.5rem; +} +.left-16{ + left: 4rem; +} +.left-20{ + left: 5rem; +} +.left-24{ + left: 6rem; +} +.left-28{ + left: 7rem; +} +.left-31{ + left: 30.938rem; +} +.left-32{ + left: 8rem; +} +.left-33{ + left: 8.5rem; +} +.left-36{ + left: 9rem; +} +.left-37{ + left: 9.25rem; +} +.left-40{ + left: 10rem; +} +.left-44{ + left: 11rem; +} +.left-46{ + left: 46.875rem; +} +.left-48{ + left: 12rem; +} +.left-52{ + left: 13rem; +} +.left-56{ + left: 14rem; +} +.left-60{ + left: 15rem; +} +.left-64{ + left: 16rem; +} +.left-72{ + left: 18rem; +} +.left-80{ + left: 20rem; +} +.left-96{ + left: 24rem; +} +.left-auto{ + left: auto; +} +.left-px{ + left: 1px; +} +.left-0\.5{ + left: 0.125rem; +} +.left-1\.5{ + left: 0.375rem; +} +.left-2\.5{ + left: 0.625rem; +} +.left-3\.5{ + left: 0.875rem; +} +.left-modal{ + left: 610px; +} +.left-5\.5{ + left: 1.30rem; +} +.left-9\.5{ + left: 2.45rem; +} +.left-12\.5{ + left: 3.2rem; +} +.left-32\.5{ + left: 8.5rem; +} +.left-1\/2{ + left: 50%; +} +.left-1\/3{ + left: 33.333333%; +} +.left-2\/3{ + left: 66.666667%; +} +.left-1\/4{ + left: 25%; +} +.left-2\/4{ + left: 50%; +} +.left-3\/4{ + left: 75%; +} +.left-full{ + left: 100%; +} +.-left-0{ + left: -0px; +} +.-left-1{ + left: -0.25rem; +} +.-left-2{ + left: -0.5rem; +} +.-left-3{ + left: -0.75rem; +} +.-left-4{ + left: -1rem; +} +.-left-5{ + left: -1.25rem; +} +.-left-6{ + left: -1.5rem; +} +.-left-7{ + left: -1.75rem; +} +.-left-8{ + left: -2rem; +} +.-left-9{ + left: -2.25rem; +} +.-left-10{ + left: -2.5rem; +} +.-left-11{ + left: -2.75rem; +} +.-left-12{ + left: -3rem; +} +.-left-14{ + left: -3.5rem; +} +.-left-16{ + left: -4rem; +} +.-left-20{ + left: -5rem; +} +.-left-24{ + left: -6rem; +} +.-left-28{ + left: -7rem; +} +.-left-31{ + left: -30.938rem; +} +.-left-32{ + left: -8rem; +} +.-left-33{ + left: -8.5rem; +} +.-left-36{ + left: -9rem; +} +.-left-37{ + left: -9.25rem; +} +.-left-40{ + left: -10rem; +} +.-left-44{ + left: -11rem; +} +.-left-46{ + left: -46.875rem; +} +.-left-48{ + left: -12rem; +} +.-left-52{ + left: -13rem; +} +.-left-56{ + left: -14rem; +} +.-left-60{ + left: -15rem; +} +.-left-64{ + left: -16rem; +} +.-left-72{ + left: -18rem; +} +.-left-80{ + left: -20rem; +} +.-left-96{ + left: -24rem; +} +.-left-px{ + left: -1px; +} +.-left-0\.5{ + left: -0.125rem; +} +.-left-1\.5{ + left: -0.375rem; +} +.-left-2\.5{ + left: -0.625rem; +} +.-left-3\.5{ + left: -0.875rem; +} +.-left-modal{ + left: -610px; +} +.-left-5\.5{ + left: -1.30rem; +} +.-left-9\.5{ + left: -2.45rem; +} +.-left-12\.5{ + left: -3.2rem; +} +.-left-32\.5{ + left: -8.5rem; +} +.-left-1\/2{ + left: -50%; +} +.-left-1\/3{ + left: -33.333333%; +} +.-left-2\/3{ + left: -66.666667%; +} +.-left-1\/4{ + left: -25%; +} +.-left-2\/4{ + left: -50%; +} +.-left-3\/4{ + left: -75%; +} +.-left-full{ + left: -100%; +} +.isolate{ + isolation: isolate; +} +.isolation-auto{ + isolation: auto; +} +.z-0{ + z-index: 0; +} +.z-10{ + z-index: 10; +} +.z-20{ + z-index: 20; +} +.z-30{ + z-index: 30; +} +.z-40{ + z-index: 40; +} +.z-50{ + z-index: 50; +} +.z-auto{ + z-index: auto; +} +.-z-0{ + z-index: 0; +} +.-z-10{ + z-index: -10; +} +.-z-20{ + z-index: -20; +} +.-z-30{ + z-index: -30; +} +.-z-40{ + z-index: -40; +} +.-z-50{ + z-index: -50; +} +.order-1{ + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; +} +.order-2{ + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; +} +.order-3{ + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; +} +.order-4{ + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; +} +.order-5{ + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; +} +.order-6{ + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; +} +.order-7{ + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; +} +.order-8{ + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; +} +.order-9{ + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; +} +.order-10{ + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; +} +.order-11{ + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; +} +.order-12{ + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; +} +.order-first{ + -webkit-box-ordinal-group: -9998; + -ms-flex-order: -9999; + order: -9999; +} +.order-last{ + -webkit-box-ordinal-group: 10000; + -ms-flex-order: 9999; + order: 9999; +} +.order-none{ + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; +} +.-order-1{ + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; +} +.-order-2{ + -webkit-box-ordinal-group: -1; + -ms-flex-order: -2; + order: -2; +} +.-order-3{ + -webkit-box-ordinal-group: -2; + -ms-flex-order: -3; + order: -3; +} +.-order-4{ + -webkit-box-ordinal-group: -3; + -ms-flex-order: -4; + order: -4; +} +.-order-5{ + -webkit-box-ordinal-group: -4; + -ms-flex-order: -5; + order: -5; +} +.-order-6{ + -webkit-box-ordinal-group: -5; + -ms-flex-order: -6; + order: -6; +} +.-order-7{ + -webkit-box-ordinal-group: -6; + -ms-flex-order: -7; + order: -7; +} +.-order-8{ + -webkit-box-ordinal-group: -7; + -ms-flex-order: -8; + order: -8; +} +.-order-9{ + -webkit-box-ordinal-group: -8; + -ms-flex-order: -9; + order: -9; +} +.-order-10{ + -webkit-box-ordinal-group: -9; + -ms-flex-order: -10; + order: -10; +} +.-order-11{ + -webkit-box-ordinal-group: -10; + -ms-flex-order: -11; + order: -11; +} +.-order-12{ + -webkit-box-ordinal-group: -11; + -ms-flex-order: -12; + order: -12; +} +.-order-first{ + -webkit-box-ordinal-group: 10000; + -ms-flex-order: 9999; + order: 9999; +} +.-order-last{ + -webkit-box-ordinal-group: -9998; + -ms-flex-order: -9999; + order: -9999; +} +.-order-none{ + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; +} +.col-auto{ + grid-column: auto; +} +.col-span-1{ + grid-column: span 1 / span 1; +} +.col-span-2{ + grid-column: span 2 / span 2; +} +.col-span-3{ + grid-column: span 3 / span 3; +} +.col-span-4{ + grid-column: span 4 / span 4; +} +.col-span-5{ + grid-column: span 5 / span 5; +} +.col-span-6{ + grid-column: span 6 / span 6; +} +.col-span-7{ + grid-column: span 7 / span 7; +} +.col-span-8{ + grid-column: span 8 / span 8; +} +.col-span-9{ + grid-column: span 9 / span 9; +} +.col-span-10{ + grid-column: span 10 / span 10; +} +.col-span-11{ + grid-column: span 11 / span 11; +} +.col-span-12{ + grid-column: span 12 / span 12; +} +.col-span-full{ + grid-column: 1 / -1; +} +.col-start-1{ + grid-column-start: 1; +} +.col-start-2{ + grid-column-start: 2; +} +.col-start-3{ + grid-column-start: 3; +} +.col-start-4{ + grid-column-start: 4; +} +.col-start-5{ + grid-column-start: 5; +} +.col-start-6{ + grid-column-start: 6; +} +.col-start-7{ + grid-column-start: 7; +} +.col-start-8{ + grid-column-start: 8; +} +.col-start-9{ + grid-column-start: 9; +} +.col-start-10{ + grid-column-start: 10; +} +.col-start-11{ + grid-column-start: 11; +} +.col-start-12{ + grid-column-start: 12; +} +.col-start-13{ + grid-column-start: 13; +} +.col-start-auto{ + grid-column-start: auto; +} +.col-end-1{ + grid-column-end: 1; +} +.col-end-2{ + grid-column-end: 2; +} +.col-end-3{ + grid-column-end: 3; +} +.col-end-4{ + grid-column-end: 4; +} +.col-end-5{ + grid-column-end: 5; +} +.col-end-6{ + grid-column-end: 6; +} +.col-end-7{ + grid-column-end: 7; +} +.col-end-8{ + grid-column-end: 8; +} +.col-end-9{ + grid-column-end: 9; +} +.col-end-10{ + grid-column-end: 10; +} +.col-end-11{ + grid-column-end: 11; +} +.col-end-12{ + grid-column-end: 12; +} +.col-end-13{ + grid-column-end: 13; +} +.col-end-auto{ + grid-column-end: auto; +} +.row-auto{ + grid-row: auto; +} +.row-span-1{ + grid-row: span 1 / span 1; +} +.row-span-2{ + grid-row: span 2 / span 2; +} +.row-span-3{ + grid-row: span 3 / span 3; +} +.row-span-4{ + grid-row: span 4 / span 4; +} +.row-span-5{ + grid-row: span 5 / span 5; +} +.row-span-6{ + grid-row: span 6 / span 6; +} +.row-span-full{ + grid-row: 1 / -1; +} +.row-start-1{ + grid-row-start: 1; +} +.row-start-2{ + grid-row-start: 2; +} +.row-start-3{ + grid-row-start: 3; +} +.row-start-4{ + grid-row-start: 4; +} +.row-start-5{ + grid-row-start: 5; +} +.row-start-6{ + grid-row-start: 6; +} +.row-start-7{ + grid-row-start: 7; +} +.row-start-auto{ + grid-row-start: auto; +} +.row-end-1{ + grid-row-end: 1; +} +.row-end-2{ + grid-row-end: 2; +} +.row-end-3{ + grid-row-end: 3; +} +.row-end-4{ + grid-row-end: 4; +} +.row-end-5{ + grid-row-end: 5; +} +.row-end-6{ + grid-row-end: 6; +} +.row-end-7{ + grid-row-end: 7; +} +.row-end-auto{ + grid-row-end: auto; +} +.float-right{ + float: right; +} +.float-left{ + float: left; +} +.float-none{ + float: none; +} +.clear-left{ + clear: left; +} +.clear-right{ + clear: right; +} +.clear-both{ + clear: both; +} +.clear-none{ + clear: none; +} +.m-0{ + margin: 0px; +} +.m-1{ + margin: 0.25rem; +} +.m-2{ + margin: 0.5rem; +} +.m-3{ + margin: 0.75rem; +} +.m-4{ + margin: 1rem; +} +.m-5{ + margin: 1.25rem; +} +.m-6{ + margin: 1.5rem; +} +.m-7{ + margin: 1.75rem; +} +.m-8{ + margin: 2rem; +} +.m-9{ + margin: 2.25rem; +} +.m-10{ + margin: 2.5rem; +} +.m-11{ + margin: 2.75rem; +} +.m-12{ + margin: 3rem; +} +.m-14{ + margin: 3.5rem; +} +.m-16{ + margin: 4rem; +} +.m-20{ + margin: 5rem; +} +.m-24{ + margin: 6rem; +} +.m-28{ + margin: 7rem; +} +.m-31{ + margin: 30.938rem; +} +.m-32{ + margin: 8rem; +} +.m-33{ + margin: 8.5rem; +} +.m-36{ + margin: 9rem; +} +.m-37{ + margin: 9.25rem; +} +.m-40{ + margin: 10rem; +} +.m-44{ + margin: 11rem; +} +.m-46{ + margin: 46.875rem; +} +.m-48{ + margin: 12rem; +} +.m-52{ + margin: 13rem; +} +.m-56{ + margin: 14rem; +} +.m-60{ + margin: 15rem; +} +.m-64{ + margin: 16rem; +} +.m-72{ + margin: 18rem; +} +.m-80{ + margin: 20rem; +} +.m-96{ + margin: 24rem; +} +.m-auto{ + margin: auto; +} +.m-px{ + margin: 1px; +} +.m-0\.5{ + margin: 0.125rem; +} +.m-1\.5{ + margin: 0.375rem; +} +.m-2\.5{ + margin: 0.625rem; +} +.m-3\.5{ + margin: 0.875rem; +} +.m-modal{ + margin: 610px; +} +.m-5\.5{ + margin: 1.30rem; +} +.m-9\.5{ + margin: 2.45rem; +} +.m-12\.5{ + margin: 3.2rem; +} +.m-32\.5{ + margin: 8.5rem; +} +.m-10\.5{ + margin: 2.6rem; +} +.-m-0{ + margin: -0px; +} +.-m-1{ + margin: -0.25rem; +} +.-m-2{ + margin: -0.5rem; +} +.-m-3{ + margin: -0.75rem; +} +.-m-4{ + margin: -1rem; +} +.-m-5{ + margin: -1.25rem; +} +.-m-6{ + margin: -1.5rem; +} +.-m-7{ + margin: -1.75rem; +} +.-m-8{ + margin: -2rem; +} +.-m-9{ + margin: -2.25rem; +} +.-m-10{ + margin: -2.5rem; +} +.-m-11{ + margin: -2.75rem; +} +.-m-12{ + margin: -3rem; +} +.-m-14{ + margin: -3.5rem; +} +.-m-16{ + margin: -4rem; +} +.-m-20{ + margin: -5rem; +} +.-m-24{ + margin: -6rem; +} +.-m-28{ + margin: -7rem; +} +.-m-31{ + margin: -30.938rem; +} +.-m-32{ + margin: -8rem; +} +.-m-33{ + margin: -8.5rem; +} +.-m-36{ + margin: -9rem; +} +.-m-37{ + margin: -9.25rem; +} +.-m-40{ + margin: -10rem; +} +.-m-44{ + margin: -11rem; +} +.-m-46{ + margin: -46.875rem; +} +.-m-48{ + margin: -12rem; +} +.-m-52{ + margin: -13rem; +} +.-m-56{ + margin: -14rem; +} +.-m-60{ + margin: -15rem; +} +.-m-64{ + margin: -16rem; +} +.-m-72{ + margin: -18rem; +} +.-m-80{ + margin: -20rem; +} +.-m-96{ + margin: -24rem; +} +.-m-px{ + margin: -1px; +} +.-m-0\.5{ + margin: -0.125rem; +} +.-m-1\.5{ + margin: -0.375rem; +} +.-m-2\.5{ + margin: -0.625rem; +} +.-m-3\.5{ + margin: -0.875rem; +} +.-m-modal{ + margin: -610px; +} +.-m-5\.5{ + margin: -1.30rem; +} +.-m-9\.5{ + margin: -2.45rem; +} +.-m-12\.5{ + margin: -3.2rem; +} +.-m-32\.5{ + margin: -8.5rem; +} +.-m-10\.5{ + margin: -2.6rem; +} +.mx-0{ + margin-left: 0px; + margin-right: 0px; +} +.mx-1{ + margin-left: 0.25rem; + margin-right: 0.25rem; +} +.mx-2{ + margin-left: 0.5rem; + margin-right: 0.5rem; +} +.mx-3{ + margin-left: 0.75rem; + margin-right: 0.75rem; +} +.mx-4{ + margin-left: 1rem; + margin-right: 1rem; +} +.mx-5{ + margin-left: 1.25rem; + margin-right: 1.25rem; +} +.mx-6{ + margin-left: 1.5rem; + margin-right: 1.5rem; +} +.mx-7{ + margin-left: 1.75rem; + margin-right: 1.75rem; +} +.mx-8{ + margin-left: 2rem; + margin-right: 2rem; +} +.mx-9{ + margin-left: 2.25rem; + margin-right: 2.25rem; +} +.mx-10{ + margin-left: 2.5rem; + margin-right: 2.5rem; +} +.mx-11{ + margin-left: 2.75rem; + margin-right: 2.75rem; +} +.mx-12{ + margin-left: 3rem; + margin-right: 3rem; +} +.mx-14{ + margin-left: 3.5rem; + margin-right: 3.5rem; +} +.mx-16{ + margin-left: 4rem; + margin-right: 4rem; +} +.mx-20{ + margin-left: 5rem; + margin-right: 5rem; +} +.mx-24{ + margin-left: 6rem; + margin-right: 6rem; +} +.mx-28{ + margin-left: 7rem; + margin-right: 7rem; +} +.mx-31{ + margin-left: 30.938rem; + margin-right: 30.938rem; +} +.mx-32{ + margin-left: 8rem; + margin-right: 8rem; +} +.mx-33{ + margin-left: 8.5rem; + margin-right: 8.5rem; +} +.mx-36{ + margin-left: 9rem; + margin-right: 9rem; +} +.mx-37{ + margin-left: 9.25rem; + margin-right: 9.25rem; +} +.mx-40{ + margin-left: 10rem; + margin-right: 10rem; +} +.mx-44{ + margin-left: 11rem; + margin-right: 11rem; +} +.mx-46{ + margin-left: 46.875rem; + margin-right: 46.875rem; +} +.mx-48{ + margin-left: 12rem; + margin-right: 12rem; +} +.mx-52{ + margin-left: 13rem; + margin-right: 13rem; +} +.mx-56{ + margin-left: 14rem; + margin-right: 14rem; +} +.mx-60{ + margin-left: 15rem; + margin-right: 15rem; +} +.mx-64{ + margin-left: 16rem; + margin-right: 16rem; +} +.mx-72{ + margin-left: 18rem; + margin-right: 18rem; +} +.mx-80{ + margin-left: 20rem; + margin-right: 20rem; +} +.mx-96{ + margin-left: 24rem; + margin-right: 24rem; +} +.mx-auto{ + margin-left: auto; + margin-right: auto; +} +.mx-px{ + margin-left: 1px; + margin-right: 1px; +} +.mx-0\.5{ + margin-left: 0.125rem; + margin-right: 0.125rem; +} +.mx-1\.5{ + margin-left: 0.375rem; + margin-right: 0.375rem; +} +.mx-2\.5{ + margin-left: 0.625rem; + margin-right: 0.625rem; +} +.mx-3\.5{ + margin-left: 0.875rem; + margin-right: 0.875rem; +} +.mx-modal{ + margin-left: 610px; + margin-right: 610px; +} +.mx-5\.5{ + margin-left: 1.30rem; + margin-right: 1.30rem; +} +.mx-9\.5{ + margin-left: 2.45rem; + margin-right: 2.45rem; +} +.mx-12\.5{ + margin-left: 3.2rem; + margin-right: 3.2rem; +} +.mx-32\.5{ + margin-left: 8.5rem; + margin-right: 8.5rem; +} +.mx-10\.5{ + margin-left: 2.6rem; + margin-right: 2.6rem; +} +.-mx-0{ + margin-left: -0px; + margin-right: -0px; +} +.-mx-1{ + margin-left: -0.25rem; + margin-right: -0.25rem; +} +.-mx-2{ + margin-left: -0.5rem; + margin-right: -0.5rem; +} +.-mx-3{ + margin-left: -0.75rem; + margin-right: -0.75rem; +} +.-mx-4{ + margin-left: -1rem; + margin-right: -1rem; +} +.-mx-5{ + margin-left: -1.25rem; + margin-right: -1.25rem; +} +.-mx-6{ + margin-left: -1.5rem; + margin-right: -1.5rem; +} +.-mx-7{ + margin-left: -1.75rem; + margin-right: -1.75rem; +} +.-mx-8{ + margin-left: -2rem; + margin-right: -2rem; +} +.-mx-9{ + margin-left: -2.25rem; + margin-right: -2.25rem; +} +.-mx-10{ + margin-left: -2.5rem; + margin-right: -2.5rem; +} +.-mx-11{ + margin-left: -2.75rem; + margin-right: -2.75rem; +} +.-mx-12{ + margin-left: -3rem; + margin-right: -3rem; +} +.-mx-14{ + margin-left: -3.5rem; + margin-right: -3.5rem; +} +.-mx-16{ + margin-left: -4rem; + margin-right: -4rem; +} +.-mx-20{ + margin-left: -5rem; + margin-right: -5rem; +} +.-mx-24{ + margin-left: -6rem; + margin-right: -6rem; +} +.-mx-28{ + margin-left: -7rem; + margin-right: -7rem; +} +.-mx-31{ + margin-left: -30.938rem; + margin-right: -30.938rem; +} +.-mx-32{ + margin-left: -8rem; + margin-right: -8rem; +} +.-mx-33{ + margin-left: -8.5rem; + margin-right: -8.5rem; +} +.-mx-36{ + margin-left: -9rem; + margin-right: -9rem; +} +.-mx-37{ + margin-left: -9.25rem; + margin-right: -9.25rem; +} +.-mx-40{ + margin-left: -10rem; + margin-right: -10rem; +} +.-mx-44{ + margin-left: -11rem; + margin-right: -11rem; +} +.-mx-46{ + margin-left: -46.875rem; + margin-right: -46.875rem; +} +.-mx-48{ + margin-left: -12rem; + margin-right: -12rem; +} +.-mx-52{ + margin-left: -13rem; + margin-right: -13rem; +} +.-mx-56{ + margin-left: -14rem; + margin-right: -14rem; +} +.-mx-60{ + margin-left: -15rem; + margin-right: -15rem; +} +.-mx-64{ + margin-left: -16rem; + margin-right: -16rem; +} +.-mx-72{ + margin-left: -18rem; + margin-right: -18rem; +} +.-mx-80{ + margin-left: -20rem; + margin-right: -20rem; +} +.-mx-96{ + margin-left: -24rem; + margin-right: -24rem; +} +.-mx-px{ + margin-left: -1px; + margin-right: -1px; +} +.-mx-0\.5{ + margin-left: -0.125rem; + margin-right: -0.125rem; +} +.-mx-1\.5{ + margin-left: -0.375rem; + margin-right: -0.375rem; +} +.-mx-2\.5{ + margin-left: -0.625rem; + margin-right: -0.625rem; +} +.-mx-3\.5{ + margin-left: -0.875rem; + margin-right: -0.875rem; +} +.-mx-modal{ + margin-left: -610px; + margin-right: -610px; +} +.-mx-5\.5{ + margin-left: -1.30rem; + margin-right: -1.30rem; +} +.-mx-9\.5{ + margin-left: -2.45rem; + margin-right: -2.45rem; +} +.-mx-12\.5{ + margin-left: -3.2rem; + margin-right: -3.2rem; +} +.-mx-32\.5{ + margin-left: -8.5rem; + margin-right: -8.5rem; +} +.-mx-10\.5{ + margin-left: -2.6rem; + margin-right: -2.6rem; +} +.my-0{ + margin-top: 0px; + margin-bottom: 0px; +} +.my-1{ + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} +.my-2{ + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} +.my-3{ + margin-top: 0.75rem; + margin-bottom: 0.75rem; +} +.my-4{ + margin-top: 1rem; + margin-bottom: 1rem; +} +.my-5{ + margin-top: 1.25rem; + margin-bottom: 1.25rem; +} +.my-6{ + margin-top: 1.5rem; + margin-bottom: 1.5rem; +} +.my-7{ + margin-top: 1.75rem; + margin-bottom: 1.75rem; +} +.my-8{ + margin-top: 2rem; + margin-bottom: 2rem; +} +.my-9{ + margin-top: 2.25rem; + margin-bottom: 2.25rem; +} +.my-10{ + margin-top: 2.5rem; + margin-bottom: 2.5rem; +} +.my-11{ + margin-top: 2.75rem; + margin-bottom: 2.75rem; +} +.my-12{ + margin-top: 3rem; + margin-bottom: 3rem; +} +.my-14{ + margin-top: 3.5rem; + margin-bottom: 3.5rem; +} +.my-16{ + margin-top: 4rem; + margin-bottom: 4rem; +} +.my-20{ + margin-top: 5rem; + margin-bottom: 5rem; +} +.my-24{ + margin-top: 6rem; + margin-bottom: 6rem; +} +.my-28{ + margin-top: 7rem; + margin-bottom: 7rem; +} +.my-31{ + margin-top: 30.938rem; + margin-bottom: 30.938rem; +} +.my-32{ + margin-top: 8rem; + margin-bottom: 8rem; +} +.my-33{ + margin-top: 8.5rem; + margin-bottom: 8.5rem; +} +.my-36{ + margin-top: 9rem; + margin-bottom: 9rem; +} +.my-37{ + margin-top: 9.25rem; + margin-bottom: 9.25rem; +} +.my-40{ + margin-top: 10rem; + margin-bottom: 10rem; +} +.my-44{ + margin-top: 11rem; + margin-bottom: 11rem; +} +.my-46{ + margin-top: 46.875rem; + margin-bottom: 46.875rem; +} +.my-48{ + margin-top: 12rem; + margin-bottom: 12rem; +} +.my-52{ + margin-top: 13rem; + margin-bottom: 13rem; +} +.my-56{ + margin-top: 14rem; + margin-bottom: 14rem; +} +.my-60{ + margin-top: 15rem; + margin-bottom: 15rem; +} +.my-64{ + margin-top: 16rem; + margin-bottom: 16rem; +} +.my-72{ + margin-top: 18rem; + margin-bottom: 18rem; +} +.my-80{ + margin-top: 20rem; + margin-bottom: 20rem; +} +.my-96{ + margin-top: 24rem; + margin-bottom: 24rem; +} +.my-auto{ + margin-top: auto; + margin-bottom: auto; +} +.my-px{ + margin-top: 1px; + margin-bottom: 1px; +} +.my-0\.5{ + margin-top: 0.125rem; + margin-bottom: 0.125rem; +} +.my-1\.5{ + margin-top: 0.375rem; + margin-bottom: 0.375rem; +} +.my-2\.5{ + margin-top: 0.625rem; + margin-bottom: 0.625rem; +} +.my-3\.5{ + margin-top: 0.875rem; + margin-bottom: 0.875rem; +} +.my-modal{ + margin-top: 610px; + margin-bottom: 610px; +} +.my-5\.5{ + margin-top: 1.30rem; + margin-bottom: 1.30rem; +} +.my-9\.5{ + margin-top: 2.45rem; + margin-bottom: 2.45rem; +} +.my-12\.5{ + margin-top: 3.2rem; + margin-bottom: 3.2rem; +} +.my-32\.5{ + margin-top: 8.5rem; + margin-bottom: 8.5rem; +} +.my-10\.5{ + margin-top: 2.6rem; + margin-bottom: 2.6rem; +} +.-my-0{ + margin-top: -0px; + margin-bottom: -0px; +} +.-my-1{ + margin-top: -0.25rem; + margin-bottom: -0.25rem; +} +.-my-2{ + margin-top: -0.5rem; + margin-bottom: -0.5rem; +} +.-my-3{ + margin-top: -0.75rem; + margin-bottom: -0.75rem; +} +.-my-4{ + margin-top: -1rem; + margin-bottom: -1rem; +} +.-my-5{ + margin-top: -1.25rem; + margin-bottom: -1.25rem; +} +.-my-6{ + margin-top: -1.5rem; + margin-bottom: -1.5rem; +} +.-my-7{ + margin-top: -1.75rem; + margin-bottom: -1.75rem; +} +.-my-8{ + margin-top: -2rem; + margin-bottom: -2rem; +} +.-my-9{ + margin-top: -2.25rem; + margin-bottom: -2.25rem; +} +.-my-10{ + margin-top: -2.5rem; + margin-bottom: -2.5rem; +} +.-my-11{ + margin-top: -2.75rem; + margin-bottom: -2.75rem; +} +.-my-12{ + margin-top: -3rem; + margin-bottom: -3rem; +} +.-my-14{ + margin-top: -3.5rem; + margin-bottom: -3.5rem; +} +.-my-16{ + margin-top: -4rem; + margin-bottom: -4rem; +} +.-my-20{ + margin-top: -5rem; + margin-bottom: -5rem; +} +.-my-24{ + margin-top: -6rem; + margin-bottom: -6rem; +} +.-my-28{ + margin-top: -7rem; + margin-bottom: -7rem; +} +.-my-31{ + margin-top: -30.938rem; + margin-bottom: -30.938rem; +} +.-my-32{ + margin-top: -8rem; + margin-bottom: -8rem; +} +.-my-33{ + margin-top: -8.5rem; + margin-bottom: -8.5rem; +} +.-my-36{ + margin-top: -9rem; + margin-bottom: -9rem; +} +.-my-37{ + margin-top: -9.25rem; + margin-bottom: -9.25rem; +} +.-my-40{ + margin-top: -10rem; + margin-bottom: -10rem; +} +.-my-44{ + margin-top: -11rem; + margin-bottom: -11rem; +} +.-my-46{ + margin-top: -46.875rem; + margin-bottom: -46.875rem; +} +.-my-48{ + margin-top: -12rem; + margin-bottom: -12rem; +} +.-my-52{ + margin-top: -13rem; + margin-bottom: -13rem; +} +.-my-56{ + margin-top: -14rem; + margin-bottom: -14rem; +} +.-my-60{ + margin-top: -15rem; + margin-bottom: -15rem; +} +.-my-64{ + margin-top: -16rem; + margin-bottom: -16rem; +} +.-my-72{ + margin-top: -18rem; + margin-bottom: -18rem; +} +.-my-80{ + margin-top: -20rem; + margin-bottom: -20rem; +} +.-my-96{ + margin-top: -24rem; + margin-bottom: -24rem; +} +.-my-px{ + margin-top: -1px; + margin-bottom: -1px; +} +.-my-0\.5{ + margin-top: -0.125rem; + margin-bottom: -0.125rem; +} +.-my-1\.5{ + margin-top: -0.375rem; + margin-bottom: -0.375rem; +} +.-my-2\.5{ + margin-top: -0.625rem; + margin-bottom: -0.625rem; +} +.-my-3\.5{ + margin-top: -0.875rem; + margin-bottom: -0.875rem; +} +.-my-modal{ + margin-top: -610px; + margin-bottom: -610px; +} +.-my-5\.5{ + margin-top: -1.30rem; + margin-bottom: -1.30rem; +} +.-my-9\.5{ + margin-top: -2.45rem; + margin-bottom: -2.45rem; +} +.-my-12\.5{ + margin-top: -3.2rem; + margin-bottom: -3.2rem; +} +.-my-32\.5{ + margin-top: -8.5rem; + margin-bottom: -8.5rem; +} +.-my-10\.5{ + margin-top: -2.6rem; + margin-bottom: -2.6rem; +} +.mt-0{ + margin-top: 0px; +} +.mt-1{ + margin-top: 0.25rem; +} +.mt-2{ + margin-top: 0.5rem; +} +.mt-3{ + margin-top: 0.75rem; +} +.mt-4{ + margin-top: 1rem; +} +.mt-5{ + margin-top: 1.25rem; +} +.mt-6{ + margin-top: 1.5rem; +} +.mt-7{ + margin-top: 1.75rem; +} +.mt-8{ + margin-top: 2rem; +} +.mt-9{ + margin-top: 2.25rem; +} +.mt-10{ + margin-top: 2.5rem; +} +.mt-11{ + margin-top: 2.75rem; +} +.mt-12{ + margin-top: 3rem; +} +.mt-14{ + margin-top: 3.5rem; +} +.mt-16{ + margin-top: 4rem; +} +.mt-20{ + margin-top: 5rem; +} +.mt-24{ + margin-top: 6rem; +} +.mt-28{ + margin-top: 7rem; +} +.mt-31{ + margin-top: 30.938rem; +} +.mt-32{ + margin-top: 8rem; +} +.mt-33{ + margin-top: 8.5rem; +} +.mt-36{ + margin-top: 9rem; +} +.mt-37{ + margin-top: 9.25rem; +} +.mt-40{ + margin-top: 10rem; +} +.mt-44{ + margin-top: 11rem; +} +.mt-46{ + margin-top: 46.875rem; +} +.mt-48{ + margin-top: 12rem; +} +.mt-52{ + margin-top: 13rem; +} +.mt-56{ + margin-top: 14rem; +} +.mt-60{ + margin-top: 15rem; +} +.mt-64{ + margin-top: 16rem; +} +.mt-72{ + margin-top: 18rem; +} +.mt-80{ + margin-top: 20rem; +} +.mt-96{ + margin-top: 24rem; +} +.mt-auto{ + margin-top: auto; +} +.mt-px{ + margin-top: 1px; +} +.mt-0\.5{ + margin-top: 0.125rem; +} +.mt-1\.5{ + margin-top: 0.375rem; +} +.mt-2\.5{ + margin-top: 0.625rem; +} +.mt-3\.5{ + margin-top: 0.875rem; +} +.mt-modal{ + margin-top: 610px; +} +.mt-5\.5{ + margin-top: 1.30rem; +} +.mt-9\.5{ + margin-top: 2.45rem; +} +.mt-12\.5{ + margin-top: 3.2rem; +} +.mt-32\.5{ + margin-top: 8.5rem; +} +.mt-10\.5{ + margin-top: 2.6rem; +} +.-mt-0{ + margin-top: -0px; +} +.-mt-1{ + margin-top: -0.25rem; +} +.-mt-2{ + margin-top: -0.5rem; +} +.-mt-3{ + margin-top: -0.75rem; +} +.-mt-4{ + margin-top: -1rem; +} +.-mt-5{ + margin-top: -1.25rem; +} +.-mt-6{ + margin-top: -1.5rem; +} +.-mt-7{ + margin-top: -1.75rem; +} +.-mt-8{ + margin-top: -2rem; +} +.-mt-9{ + margin-top: -2.25rem; +} +.-mt-10{ + margin-top: -2.5rem; +} +.-mt-11{ + margin-top: -2.75rem; +} +.-mt-12{ + margin-top: -3rem; +} +.-mt-14{ + margin-top: -3.5rem; +} +.-mt-16{ + margin-top: -4rem; +} +.-mt-20{ + margin-top: -5rem; +} +.-mt-24{ + margin-top: -6rem; +} +.-mt-28{ + margin-top: -7rem; +} +.-mt-31{ + margin-top: -30.938rem; +} +.-mt-32{ + margin-top: -8rem; +} +.-mt-33{ + margin-top: -8.5rem; +} +.-mt-36{ + margin-top: -9rem; +} +.-mt-37{ + margin-top: -9.25rem; +} +.-mt-40{ + margin-top: -10rem; +} +.-mt-44{ + margin-top: -11rem; +} +.-mt-46{ + margin-top: -46.875rem; +} +.-mt-48{ + margin-top: -12rem; +} +.-mt-52{ + margin-top: -13rem; +} +.-mt-56{ + margin-top: -14rem; +} +.-mt-60{ + margin-top: -15rem; +} +.-mt-64{ + margin-top: -16rem; +} +.-mt-72{ + margin-top: -18rem; +} +.-mt-80{ + margin-top: -20rem; +} +.-mt-96{ + margin-top: -24rem; +} +.-mt-px{ + margin-top: -1px; +} +.-mt-0\.5{ + margin-top: -0.125rem; +} +.-mt-1\.5{ + margin-top: -0.375rem; +} +.-mt-2\.5{ + margin-top: -0.625rem; +} +.-mt-3\.5{ + margin-top: -0.875rem; +} +.-mt-modal{ + margin-top: -610px; +} +.-mt-5\.5{ + margin-top: -1.30rem; +} +.-mt-9\.5{ + margin-top: -2.45rem; +} +.-mt-12\.5{ + margin-top: -3.2rem; +} +.-mt-32\.5{ + margin-top: -8.5rem; +} +.-mt-10\.5{ + margin-top: -2.6rem; +} +.mr-0{ + margin-right: 0px; +} +.mr-1{ + margin-right: 0.25rem; +} +.mr-2{ + margin-right: 0.5rem; +} +.mr-3{ + margin-right: 0.75rem; +} +.mr-4{ + margin-right: 1rem; +} +.mr-5{ + margin-right: 1.25rem; +} +.mr-6{ + margin-right: 1.5rem; +} +.mr-7{ + margin-right: 1.75rem; +} +.mr-8{ + margin-right: 2rem; +} +.mr-9{ + margin-right: 2.25rem; +} +.mr-10{ + margin-right: 2.5rem; +} +.mr-11{ + margin-right: 2.75rem; +} +.mr-12{ + margin-right: 3rem; +} +.mr-14{ + margin-right: 3.5rem; +} +.mr-16{ + margin-right: 4rem; +} +.mr-20{ + margin-right: 5rem; +} +.mr-24{ + margin-right: 6rem; +} +.mr-28{ + margin-right: 7rem; +} +.mr-31{ + margin-right: 30.938rem; +} +.mr-32{ + margin-right: 8rem; +} +.mr-33{ + margin-right: 8.5rem; +} +.mr-36{ + margin-right: 9rem; +} +.mr-37{ + margin-right: 9.25rem; +} +.mr-40{ + margin-right: 10rem; +} +.mr-44{ + margin-right: 11rem; +} +.mr-46{ + margin-right: 46.875rem; +} +.mr-48{ + margin-right: 12rem; +} +.mr-52{ + margin-right: 13rem; +} +.mr-56{ + margin-right: 14rem; +} +.mr-60{ + margin-right: 15rem; +} +.mr-64{ + margin-right: 16rem; +} +.mr-72{ + margin-right: 18rem; +} +.mr-80{ + margin-right: 20rem; +} +.mr-96{ + margin-right: 24rem; +} +.mr-auto{ + margin-right: auto; +} +.mr-px{ + margin-right: 1px; +} +.mr-0\.5{ + margin-right: 0.125rem; +} +.mr-1\.5{ + margin-right: 0.375rem; +} +.mr-2\.5{ + margin-right: 0.625rem; +} +.mr-3\.5{ + margin-right: 0.875rem; +} +.mr-modal{ + margin-right: 610px; +} +.mr-5\.5{ + margin-right: 1.30rem; +} +.mr-9\.5{ + margin-right: 2.45rem; +} +.mr-12\.5{ + margin-right: 3.2rem; +} +.mr-32\.5{ + margin-right: 8.5rem; +} +.mr-10\.5{ + margin-right: 2.6rem; +} +.-mr-0{ + margin-right: -0px; +} +.-mr-1{ + margin-right: -0.25rem; +} +.-mr-2{ + margin-right: -0.5rem; +} +.-mr-3{ + margin-right: -0.75rem; +} +.-mr-4{ + margin-right: -1rem; +} +.-mr-5{ + margin-right: -1.25rem; +} +.-mr-6{ + margin-right: -1.5rem; +} +.-mr-7{ + margin-right: -1.75rem; +} +.-mr-8{ + margin-right: -2rem; +} +.-mr-9{ + margin-right: -2.25rem; +} +.-mr-10{ + margin-right: -2.5rem; +} +.-mr-11{ + margin-right: -2.75rem; +} +.-mr-12{ + margin-right: -3rem; +} +.-mr-14{ + margin-right: -3.5rem; +} +.-mr-16{ + margin-right: -4rem; +} +.-mr-20{ + margin-right: -5rem; +} +.-mr-24{ + margin-right: -6rem; +} +.-mr-28{ + margin-right: -7rem; +} +.-mr-31{ + margin-right: -30.938rem; +} +.-mr-32{ + margin-right: -8rem; +} +.-mr-33{ + margin-right: -8.5rem; +} +.-mr-36{ + margin-right: -9rem; +} +.-mr-37{ + margin-right: -9.25rem; +} +.-mr-40{ + margin-right: -10rem; +} +.-mr-44{ + margin-right: -11rem; +} +.-mr-46{ + margin-right: -46.875rem; +} +.-mr-48{ + margin-right: -12rem; +} +.-mr-52{ + margin-right: -13rem; +} +.-mr-56{ + margin-right: -14rem; +} +.-mr-60{ + margin-right: -15rem; +} +.-mr-64{ + margin-right: -16rem; +} +.-mr-72{ + margin-right: -18rem; +} +.-mr-80{ + margin-right: -20rem; +} +.-mr-96{ + margin-right: -24rem; +} +.-mr-px{ + margin-right: -1px; +} +.-mr-0\.5{ + margin-right: -0.125rem; +} +.-mr-1\.5{ + margin-right: -0.375rem; +} +.-mr-2\.5{ + margin-right: -0.625rem; +} +.-mr-3\.5{ + margin-right: -0.875rem; +} +.-mr-modal{ + margin-right: -610px; +} +.-mr-5\.5{ + margin-right: -1.30rem; +} +.-mr-9\.5{ + margin-right: -2.45rem; +} +.-mr-12\.5{ + margin-right: -3.2rem; +} +.-mr-32\.5{ + margin-right: -8.5rem; +} +.-mr-10\.5{ + margin-right: -2.6rem; +} +.mb-0{ + margin-bottom: 0px; +} +.mb-1{ + margin-bottom: 0.25rem; +} +.mb-2{ + margin-bottom: 0.5rem; +} +.mb-3{ + margin-bottom: 0.75rem; +} +.mb-4{ + margin-bottom: 1rem; +} +.mb-5{ + margin-bottom: 1.25rem; +} +.mb-6{ + margin-bottom: 1.5rem; +} +.mb-7{ + margin-bottom: 1.75rem; +} +.mb-8{ + margin-bottom: 2rem; +} +.mb-9{ + margin-bottom: 2.25rem; +} +.mb-10{ + margin-bottom: 2.5rem; +} +.mb-11{ + margin-bottom: 2.75rem; +} +.mb-12{ + margin-bottom: 3rem; +} +.mb-14{ + margin-bottom: 3.5rem; +} +.mb-16{ + margin-bottom: 4rem; +} +.mb-20{ + margin-bottom: 5rem; +} +.mb-24{ + margin-bottom: 6rem; +} +.mb-28{ + margin-bottom: 7rem; +} +.mb-31{ + margin-bottom: 30.938rem; +} +.mb-32{ + margin-bottom: 8rem; +} +.mb-33{ + margin-bottom: 8.5rem; +} +.mb-36{ + margin-bottom: 9rem; +} +.mb-37{ + margin-bottom: 9.25rem; +} +.mb-40{ + margin-bottom: 10rem; +} +.mb-44{ + margin-bottom: 11rem; +} +.mb-46{ + margin-bottom: 46.875rem; +} +.mb-48{ + margin-bottom: 12rem; +} +.mb-52{ + margin-bottom: 13rem; +} +.mb-56{ + margin-bottom: 14rem; +} +.mb-60{ + margin-bottom: 15rem; +} +.mb-64{ + margin-bottom: 16rem; +} +.mb-72{ + margin-bottom: 18rem; +} +.mb-80{ + margin-bottom: 20rem; +} +.mb-96{ + margin-bottom: 24rem; +} +.mb-auto{ + margin-bottom: auto; +} +.mb-px{ + margin-bottom: 1px; +} +.mb-0\.5{ + margin-bottom: 0.125rem; +} +.mb-1\.5{ + margin-bottom: 0.375rem; +} +.mb-2\.5{ + margin-bottom: 0.625rem; +} +.mb-3\.5{ + margin-bottom: 0.875rem; +} +.mb-modal{ + margin-bottom: 610px; +} +.mb-5\.5{ + margin-bottom: 1.30rem; +} +.mb-9\.5{ + margin-bottom: 2.45rem; +} +.mb-12\.5{ + margin-bottom: 3.2rem; +} +.mb-32\.5{ + margin-bottom: 8.5rem; +} +.mb-10\.5{ + margin-bottom: 2.6rem; +} +.-mb-0{ + margin-bottom: -0px; +} +.-mb-1{ + margin-bottom: -0.25rem; +} +.-mb-2{ + margin-bottom: -0.5rem; +} +.-mb-3{ + margin-bottom: -0.75rem; +} +.-mb-4{ + margin-bottom: -1rem; +} +.-mb-5{ + margin-bottom: -1.25rem; +} +.-mb-6{ + margin-bottom: -1.5rem; +} +.-mb-7{ + margin-bottom: -1.75rem; +} +.-mb-8{ + margin-bottom: -2rem; +} +.-mb-9{ + margin-bottom: -2.25rem; +} +.-mb-10{ + margin-bottom: -2.5rem; +} +.-mb-11{ + margin-bottom: -2.75rem; +} +.-mb-12{ + margin-bottom: -3rem; +} +.-mb-14{ + margin-bottom: -3.5rem; +} +.-mb-16{ + margin-bottom: -4rem; +} +.-mb-20{ + margin-bottom: -5rem; +} +.-mb-24{ + margin-bottom: -6rem; +} +.-mb-28{ + margin-bottom: -7rem; +} +.-mb-31{ + margin-bottom: -30.938rem; +} +.-mb-32{ + margin-bottom: -8rem; +} +.-mb-33{ + margin-bottom: -8.5rem; +} +.-mb-36{ + margin-bottom: -9rem; +} +.-mb-37{ + margin-bottom: -9.25rem; +} +.-mb-40{ + margin-bottom: -10rem; +} +.-mb-44{ + margin-bottom: -11rem; +} +.-mb-46{ + margin-bottom: -46.875rem; +} +.-mb-48{ + margin-bottom: -12rem; +} +.-mb-52{ + margin-bottom: -13rem; +} +.-mb-56{ + margin-bottom: -14rem; +} +.-mb-60{ + margin-bottom: -15rem; +} +.-mb-64{ + margin-bottom: -16rem; +} +.-mb-72{ + margin-bottom: -18rem; +} +.-mb-80{ + margin-bottom: -20rem; +} +.-mb-96{ + margin-bottom: -24rem; +} +.-mb-px{ + margin-bottom: -1px; +} +.-mb-0\.5{ + margin-bottom: -0.125rem; +} +.-mb-1\.5{ + margin-bottom: -0.375rem; +} +.-mb-2\.5{ + margin-bottom: -0.625rem; +} +.-mb-3\.5{ + margin-bottom: -0.875rem; +} +.-mb-modal{ + margin-bottom: -610px; +} +.-mb-5\.5{ + margin-bottom: -1.30rem; +} +.-mb-9\.5{ + margin-bottom: -2.45rem; +} +.-mb-12\.5{ + margin-bottom: -3.2rem; +} +.-mb-32\.5{ + margin-bottom: -8.5rem; +} +.-mb-10\.5{ + margin-bottom: -2.6rem; +} +.ml-0{ + margin-left: 0px; +} +.ml-1{ + margin-left: 0.25rem; +} +.ml-2{ + margin-left: 0.5rem; +} +.ml-3{ + margin-left: 0.75rem; +} +.ml-4{ + margin-left: 1rem; +} +.ml-5{ + margin-left: 1.25rem; +} +.ml-6{ + margin-left: 1.5rem; +} +.ml-7{ + margin-left: 1.75rem; +} +.ml-8{ + margin-left: 2rem; +} +.ml-9{ + margin-left: 2.25rem; +} +.ml-10{ + margin-left: 2.5rem; +} +.ml-11{ + margin-left: 2.75rem; +} +.ml-12{ + margin-left: 3rem; +} +.ml-14{ + margin-left: 3.5rem; +} +.ml-16{ + margin-left: 4rem; +} +.ml-20{ + margin-left: 5rem; +} +.ml-24{ + margin-left: 6rem; +} +.ml-28{ + margin-left: 7rem; +} +.ml-31{ + margin-left: 30.938rem; +} +.ml-32{ + margin-left: 8rem; +} +.ml-33{ + margin-left: 8.5rem; +} +.ml-36{ + margin-left: 9rem; +} +.ml-37{ + margin-left: 9.25rem; +} +.ml-40{ + margin-left: 10rem; +} +.ml-44{ + margin-left: 11rem; +} +.ml-46{ + margin-left: 46.875rem; +} +.ml-48{ + margin-left: 12rem; +} +.ml-52{ + margin-left: 13rem; +} +.ml-56{ + margin-left: 14rem; +} +.ml-60{ + margin-left: 15rem; +} +.ml-64{ + margin-left: 16rem; +} +.ml-72{ + margin-left: 18rem; +} +.ml-80{ + margin-left: 20rem; +} +.ml-96{ + margin-left: 24rem; +} +.ml-auto{ + margin-left: auto; +} +.ml-px{ + margin-left: 1px; +} +.ml-0\.5{ + margin-left: 0.125rem; +} +.ml-1\.5{ + margin-left: 0.375rem; +} +.ml-2\.5{ + margin-left: 0.625rem; +} +.ml-3\.5{ + margin-left: 0.875rem; +} +.ml-modal{ + margin-left: 610px; +} +.ml-5\.5{ + margin-left: 1.30rem; +} +.ml-9\.5{ + margin-left: 2.45rem; +} +.ml-12\.5{ + margin-left: 3.2rem; +} +.ml-32\.5{ + margin-left: 8.5rem; +} +.ml-10\.5{ + margin-left: 2.6rem; +} +.-ml-0{ + margin-left: -0px; +} +.-ml-1{ + margin-left: -0.25rem; +} +.-ml-2{ + margin-left: -0.5rem; +} +.-ml-3{ + margin-left: -0.75rem; +} +.-ml-4{ + margin-left: -1rem; +} +.-ml-5{ + margin-left: -1.25rem; +} +.-ml-6{ + margin-left: -1.5rem; +} +.-ml-7{ + margin-left: -1.75rem; +} +.-ml-8{ + margin-left: -2rem; +} +.-ml-9{ + margin-left: -2.25rem; +} +.-ml-10{ + margin-left: -2.5rem; +} +.-ml-11{ + margin-left: -2.75rem; +} +.-ml-12{ + margin-left: -3rem; +} +.-ml-14{ + margin-left: -3.5rem; +} +.-ml-16{ + margin-left: -4rem; +} +.-ml-20{ + margin-left: -5rem; +} +.-ml-24{ + margin-left: -6rem; +} +.-ml-28{ + margin-left: -7rem; +} +.-ml-31{ + margin-left: -30.938rem; +} +.-ml-32{ + margin-left: -8rem; +} +.-ml-33{ + margin-left: -8.5rem; +} +.-ml-36{ + margin-left: -9rem; +} +.-ml-37{ + margin-left: -9.25rem; +} +.-ml-40{ + margin-left: -10rem; +} +.-ml-44{ + margin-left: -11rem; +} +.-ml-46{ + margin-left: -46.875rem; +} +.-ml-48{ + margin-left: -12rem; +} +.-ml-52{ + margin-left: -13rem; +} +.-ml-56{ + margin-left: -14rem; +} +.-ml-60{ + margin-left: -15rem; +} +.-ml-64{ + margin-left: -16rem; +} +.-ml-72{ + margin-left: -18rem; +} +.-ml-80{ + margin-left: -20rem; +} +.-ml-96{ + margin-left: -24rem; +} +.-ml-px{ + margin-left: -1px; +} +.-ml-0\.5{ + margin-left: -0.125rem; +} +.-ml-1\.5{ + margin-left: -0.375rem; +} +.-ml-2\.5{ + margin-left: -0.625rem; +} +.-ml-3\.5{ + margin-left: -0.875rem; +} +.-ml-modal{ + margin-left: -610px; +} +.-ml-5\.5{ + margin-left: -1.30rem; +} +.-ml-9\.5{ + margin-left: -2.45rem; +} +.-ml-12\.5{ + margin-left: -3.2rem; +} +.-ml-32\.5{ + margin-left: -8.5rem; +} +.-ml-10\.5{ + margin-left: -2.6rem; +} +.-mr-3{ + margin-right: -0.75rem; +} +.\!mt-\[50px\]{ + margin-top: 50px !important; +} +.-ml-2{ + margin-left: -0.5rem; +} +.-mb-2{ + margin-bottom: -0.5rem; +} +.box-border{ + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.box-content{ + -webkit-box-sizing: content-box; + box-sizing: content-box; +} +.block{ + display: block; +} +.inline-block{ + display: inline-block; +} +.inline{ + display: inline; +} +.flex{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} +.inline-flex{ + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; +} +.table{ + display: table; +} +.inline-table{ + display: inline-table; +} +.table-caption{ + display: table-caption; +} +.table-cell{ + display: table-cell; +} +.table-column{ + display: table-column; +} +.table-column-group{ + display: table-column-group; +} +.table-footer-group{ + display: table-footer-group; +} +.table-header-group{ + display: table-header-group; +} +.table-row-group{ + display: table-row-group; +} +.table-row{ + display: table-row; +} +.flow-root{ + display: flow-root; +} +.grid{ + display: grid; +} +.inline-grid{ + display: inline-grid; +} +.contents{ + display: contents; +} +.list-item{ + display: list-item; +} +.hidden{ + display: none; +} +.aspect-auto{ + aspect-ratio: auto; +} +.aspect-square{ + aspect-ratio: 1 / 1; +} +.aspect-video{ + aspect-ratio: 16 / 9; +} +.h-0{ + height: 0px; +} +.h-1{ + height: 0.25rem; +} +.h-2{ + height: 0.5rem; +} +.h-3{ + height: 0.75rem; +} +.h-4{ + height: 1rem; +} +.h-5{ + height: 1.25rem; +} +.h-6{ + height: 1.5rem; +} +.h-7{ + height: 1.75rem; +} +.h-8{ + height: 2rem; +} +.h-9{ + height: 2.25rem; +} +.h-10{ + height: 2.5rem; +} +.h-11{ + height: 2.75rem; +} +.h-12{ + height: 3rem; +} +.h-14{ + height: 3.5rem; +} +.h-16{ + height: 4rem; +} +.h-20{ + height: 5rem; +} +.h-24{ + height: 6rem; +} +.h-28{ + height: 7rem; +} +.h-31{ + height: 30.938rem; +} +.h-32{ + height: 8rem; +} +.h-33{ + height: 8.5rem; +} +.h-36{ + height: 9rem; +} +.h-37{ + height: 9.25rem; +} +.h-40{ + height: 10rem; +} +.h-44{ + height: 11rem; +} +.h-46{ + height: 46.875rem; +} +.h-48{ + height: 12rem; +} +.h-52{ + height: 13rem; +} +.h-56{ + height: 14rem; +} +.h-60{ + height: 15rem; +} +.h-64{ + height: 16rem; +} +.h-72{ + height: 18rem; +} +.h-80{ + height: 20rem; +} +.h-96{ + height: 24rem; +} +.h-auto{ + height: auto; +} +.h-px{ + height: 1px; +} +.h-0\.5{ + height: 0.125rem; +} +.h-1\.5{ + height: 0.375rem; +} +.h-2\.5{ + height: 0.625rem; +} +.h-3\.5{ + height: 0.875rem; +} +.h-modal{ + height: calc(100% - 2rem); +} +.h-5\.5{ + height: 1.30rem; +} +.h-9\.5{ + height: 2.45rem; +} +.h-12\.5{ + height: 3.2rem; +} +.h-32\.5{ + height: 8.5rem; +} +.h-1\/2{ + height: 50%; +} +.h-1\/3{ + height: 33.333333%; +} +.h-2\/3{ + height: 66.666667%; +} +.h-1\/4{ + height: 25%; +} +.h-2\/4{ + height: 50%; +} +.h-3\/4{ + height: 75%; +} +.h-1\/5{ + height: 20%; +} +.h-2\/5{ + height: 40%; +} +.h-3\/5{ + height: 60%; +} +.h-4\/5{ + height: 80%; +} +.h-1\/6{ + height: 16.666667%; +} +.h-2\/6{ + height: 33.333333%; +} +.h-3\/6{ + height: 50%; +} +.h-4\/6{ + height: 66.666667%; +} +.h-5\/6{ + height: 83.333333%; +} +.h-full{ + height: 100%; +} +.h-screen{ + height: 100vh; +} +.h-min{ + height: -webkit-min-content; + height: -moz-min-content; + height: min-content; +} +.h-max{ + height: -webkit-max-content; + height: -moz-max-content; + height: max-content; +} +.h-fit{ + height: -webkit-fit-content; + height: -moz-fit-content; + height: fit-content; +} +.max-h-0{ + max-height: 0px; +} +.max-h-1{ + max-height: 0.25rem; +} +.max-h-2{ + max-height: 0.5rem; +} +.max-h-3{ + max-height: 0.75rem; +} +.max-h-4{ + max-height: 1rem; +} +.max-h-5{ + max-height: 1.25rem; +} +.max-h-6{ + max-height: 1.5rem; +} +.max-h-7{ + max-height: 1.75rem; +} +.max-h-8{ + max-height: 2rem; +} +.max-h-9{ + max-height: 2.25rem; +} +.max-h-10{ + max-height: 2.5rem; +} +.max-h-11{ + max-height: 2.75rem; +} +.max-h-12{ + max-height: 3rem; +} +.max-h-14{ + max-height: 3.5rem; +} +.max-h-16{ + max-height: 4rem; +} +.max-h-20{ + max-height: 5rem; +} +.max-h-24{ + max-height: 6rem; +} +.max-h-28{ + max-height: 7rem; +} +.max-h-31{ + max-height: 30.938rem; +} +.max-h-32{ + max-height: 8rem; +} +.max-h-33{ + max-height: 8.5rem; +} +.max-h-36{ + max-height: 9rem; +} +.max-h-37{ + max-height: 9.25rem; +} +.max-h-40{ + max-height: 10rem; +} +.max-h-44{ + max-height: 11rem; +} +.max-h-46{ + max-height: 46.875rem; +} +.max-h-48{ + max-height: 12rem; +} +.max-h-52{ + max-height: 13rem; +} +.max-h-56{ + max-height: 14rem; +} +.max-h-60{ + max-height: 15rem; +} +.max-h-64{ + max-height: 16rem; +} +.max-h-72{ + max-height: 18rem; +} +.max-h-80{ + max-height: 20rem; +} +.max-h-96{ + max-height: 24rem; +} +.max-h-px{ + max-height: 1px; +} +.max-h-0\.5{ + max-height: 0.125rem; +} +.max-h-1\.5{ + max-height: 0.375rem; +} +.max-h-2\.5{ + max-height: 0.625rem; +} +.max-h-3\.5{ + max-height: 0.875rem; +} +.max-h-modal{ + max-height: 610px; +} +.max-h-5\.5{ + max-height: 1.30rem; +} +.max-h-9\.5{ + max-height: 2.45rem; +} +.max-h-12\.5{ + max-height: 3.2rem; +} +.max-h-32\.5{ + max-height: 8.5rem; +} +.max-h-full{ + max-height: 100%; +} +.max-h-screen{ + max-height: 100vh; +} +.max-h-min{ + max-height: -webkit-min-content; + max-height: -moz-min-content; + max-height: min-content; +} +.max-h-max{ + max-height: -webkit-max-content; + max-height: -moz-max-content; + max-height: max-content; +} +.max-h-fit{ + max-height: -webkit-fit-content; + max-height: -moz-fit-content; + max-height: fit-content; +} +.min-h-0{ + min-height: 0px; +} +.min-h-full{ + min-height: 100%; +} +.min-h-screen{ + min-height: 100vh; +} +.min-h-min{ + min-height: -webkit-min-content; + min-height: -moz-min-content; + min-height: min-content; +} +.min-h-max{ + min-height: -webkit-max-content; + min-height: -moz-max-content; + min-height: max-content; +} +.min-h-fit{ + min-height: -webkit-fit-content; + min-height: -moz-fit-content; + min-height: fit-content; +} +.w-0{ + width: 0px; +} +.w-1{ + width: 0.25rem; +} +.w-2{ + width: 0.5rem; +} +.w-3{ + width: 0.75rem; +} +.w-4{ + width: 1rem; +} +.w-5{ + width: 1.25rem; +} +.w-6{ + width: 1.5rem; +} +.w-7{ + width: 1.75rem; +} +.w-8{ + width: 2rem; +} +.w-9{ + width: 2.25rem; +} +.w-10{ + width: 2.5rem; +} +.w-11{ + width: 2.75rem; +} +.w-12{ + width: 3rem; +} +.w-14{ + width: 3.5rem; +} +.w-16{ + width: 4rem; +} +.w-20{ + width: 5rem; +} +.w-24{ + width: 6rem; +} +.w-28{ + width: 7rem; +} +.w-31{ + width: 30.938rem; +} +.w-32{ + width: 8rem; +} +.w-33{ + width: 8.5rem; +} +.w-36{ + width: 9rem; +} +.w-37{ + width: 9.25rem; +} +.w-40{ + width: 10rem; +} +.w-44{ + width: 11rem; +} +.w-46{ + width: 46.875rem; +} +.w-48{ + width: 12rem; +} +.w-52{ + width: 13rem; +} +.w-56{ + width: 14rem; +} +.w-60{ + width: 15rem; +} +.w-64{ + width: 16rem; +} +.w-72{ + width: 18rem; +} +.w-80{ + width: 20rem; +} +.w-96{ + width: 24rem; +} +.w-auto{ + width: auto; +} +.w-px{ + width: 1px; +} +.w-0\.5{ + width: 0.125rem; +} +.w-1\.5{ + width: 0.375rem; +} +.w-2\.5{ + width: 0.625rem; +} +.w-3\.5{ + width: 0.875rem; +} +.w-modal{ + width: 610px; +} +.w-5\.5{ + width: 1.30rem; +} +.w-9\.5{ + width: 2.45rem; +} +.w-12\.5{ + width: 3.2rem; +} +.w-32\.5{ + width: 8.5rem; +} +.w-1\/2{ + width: 50%; +} +.w-1\/3{ + width: 33.333333%; +} +.w-2\/3{ + width: 66.666667%; +} +.w-1\/4{ + width: 25%; +} +.w-2\/4{ + width: 50%; +} +.w-3\/4{ + width: 75%; +} +.w-1\/5{ + width: 20%; +} +.w-2\/5{ + width: 40%; +} +.w-3\/5{ + width: 60%; +} +.w-4\/5{ + width: 80%; +} +.w-1\/6{ + width: 16.666667%; +} +.w-2\/6{ + width: 33.333333%; +} +.w-3\/6{ + width: 50%; +} +.w-4\/6{ + width: 66.666667%; +} +.w-5\/6{ + width: 83.333333%; +} +.w-1\/12{ + width: 8.333333%; +} +.w-2\/12{ + width: 16.666667%; +} +.w-3\/12{ + width: 25%; +} +.w-4\/12{ + width: 33.333333%; +} +.w-5\/12{ + width: 41.666667%; +} +.w-6\/12{ + width: 50%; +} +.w-7\/12{ + width: 58.333333%; +} +.w-8\/12{ + width: 66.666667%; +} +.w-9\/12{ + width: 75%; +} +.w-10\/12{ + width: 83.333333%; +} +.w-11\/12{ + width: 91.666667%; +} +.w-full{ + width: 100%; +} +.w-screen{ + width: 100vw; +} +.w-min{ + width: -webkit-min-content; + width: -moz-min-content; + width: min-content; +} +.w-max{ + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; +} +.w-fit{ + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; +} +.min-w-0{ + min-width: 0px; +} +.min-w-full{ + min-width: 100%; +} +.min-w-min{ + min-width: -webkit-min-content; + min-width: -moz-min-content; + min-width: min-content; +} +.min-w-max{ + min-width: -webkit-max-content; + min-width: -moz-max-content; + min-width: max-content; +} +.min-w-fit{ + min-width: -webkit-fit-content; + min-width: -moz-fit-content; + min-width: fit-content; +} +.max-w-0{ + max-width: 0rem; +} +.max-w-none{ + max-width: none; +} +.max-w-xs{ + max-width: 20rem; +} +.max-w-sm{ + max-width: 24rem; +} +.max-w-md{ + max-width: 28rem; +} +.max-w-lg{ + max-width: 32rem; +} +.max-w-xl{ + max-width: 36rem; +} +.max-w-2xl{ + max-width: 42rem; +} +.max-w-3xl{ + max-width: 48rem; +} +.max-w-4xl{ + max-width: 56rem; +} +.max-w-5xl{ + max-width: 64rem; +} +.max-w-6xl{ + max-width: 72rem; +} +.max-w-7xl{ + max-width: 80rem; +} +.max-w-full{ + max-width: 100%; +} +.max-w-min{ + max-width: -webkit-min-content; + max-width: -moz-min-content; + max-width: min-content; +} +.max-w-max{ + max-width: -webkit-max-content; + max-width: -moz-max-content; + max-width: max-content; +} +.max-w-fit{ + max-width: -webkit-fit-content; + max-width: -moz-fit-content; + max-width: fit-content; +} +.max-w-prose{ + max-width: 65ch; +} +.max-w-screen-sm{ + max-width: 640px; +} +.max-w-screen-md{ + max-width: 768px; +} +.max-w-screen-lg{ + max-width: 1024px; +} +.max-w-screen-xl{ + max-width: 1280px; +} +.max-w-screen-2xl{ + max-width: 1536px; +} +.flex-1{ + -webkit-box-flex: 1; + -ms-flex: 1 1 0%; + flex: 1 1 0%; +} +.flex-auto{ + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} +.flex-initial{ + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; +} +.flex-none{ + -webkit-box-flex: 0; + -ms-flex: none; + flex: none; +} +.flex-shrink-0{ + -ms-flex-negative: 0; + flex-shrink: 0; +} +.flex-shrink{ + -ms-flex-negative: 1; + flex-shrink: 1; +} +.shrink-0{ + -ms-flex-negative: 0; + flex-shrink: 0; +} +.shrink{ + -ms-flex-negative: 1; + flex-shrink: 1; +} +.flex-grow-0{ + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; +} +.flex-grow{ + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} +.grow-0{ + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; +} +.grow{ + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} +.basis-0{ + -ms-flex-preferred-size: 0px; + flex-basis: 0px; +} +.basis-1{ + -ms-flex-preferred-size: 0.25rem; + flex-basis: 0.25rem; +} +.basis-2{ + -ms-flex-preferred-size: 0.5rem; + flex-basis: 0.5rem; +} +.basis-3{ + -ms-flex-preferred-size: 0.75rem; + flex-basis: 0.75rem; +} +.basis-4{ + -ms-flex-preferred-size: 1rem; + flex-basis: 1rem; +} +.basis-5{ + -ms-flex-preferred-size: 1.25rem; + flex-basis: 1.25rem; +} +.basis-6{ + -ms-flex-preferred-size: 1.5rem; + flex-basis: 1.5rem; +} +.basis-7{ + -ms-flex-preferred-size: 1.75rem; + flex-basis: 1.75rem; +} +.basis-8{ + -ms-flex-preferred-size: 2rem; + flex-basis: 2rem; +} +.basis-9{ + -ms-flex-preferred-size: 2.25rem; + flex-basis: 2.25rem; +} +.basis-10{ + -ms-flex-preferred-size: 2.5rem; + flex-basis: 2.5rem; +} +.basis-11{ + -ms-flex-preferred-size: 2.75rem; + flex-basis: 2.75rem; +} +.basis-12{ + -ms-flex-preferred-size: 3rem; + flex-basis: 3rem; +} +.basis-14{ + -ms-flex-preferred-size: 3.5rem; + flex-basis: 3.5rem; +} +.basis-16{ + -ms-flex-preferred-size: 4rem; + flex-basis: 4rem; +} +.basis-20{ + -ms-flex-preferred-size: 5rem; + flex-basis: 5rem; +} +.basis-24{ + -ms-flex-preferred-size: 6rem; + flex-basis: 6rem; +} +.basis-28{ + -ms-flex-preferred-size: 7rem; + flex-basis: 7rem; +} +.basis-31{ + -ms-flex-preferred-size: 30.938rem; + flex-basis: 30.938rem; +} +.basis-32{ + -ms-flex-preferred-size: 8rem; + flex-basis: 8rem; +} +.basis-33{ + -ms-flex-preferred-size: 8.5rem; + flex-basis: 8.5rem; +} +.basis-36{ + -ms-flex-preferred-size: 9rem; + flex-basis: 9rem; +} +.basis-37{ + -ms-flex-preferred-size: 9.25rem; + flex-basis: 9.25rem; +} +.basis-40{ + -ms-flex-preferred-size: 10rem; + flex-basis: 10rem; +} +.basis-44{ + -ms-flex-preferred-size: 11rem; + flex-basis: 11rem; +} +.basis-46{ + -ms-flex-preferred-size: 46.875rem; + flex-basis: 46.875rem; +} +.basis-48{ + -ms-flex-preferred-size: 12rem; + flex-basis: 12rem; +} +.basis-52{ + -ms-flex-preferred-size: 13rem; + flex-basis: 13rem; +} +.basis-56{ + -ms-flex-preferred-size: 14rem; + flex-basis: 14rem; +} +.basis-60{ + -ms-flex-preferred-size: 15rem; + flex-basis: 15rem; +} +.basis-64{ + -ms-flex-preferred-size: 16rem; + flex-basis: 16rem; +} +.basis-72{ + -ms-flex-preferred-size: 18rem; + flex-basis: 18rem; +} +.basis-80{ + -ms-flex-preferred-size: 20rem; + flex-basis: 20rem; +} +.basis-96{ + -ms-flex-preferred-size: 24rem; + flex-basis: 24rem; +} +.basis-auto{ + -ms-flex-preferred-size: auto; + flex-basis: auto; +} +.basis-px{ + -ms-flex-preferred-size: 1px; + flex-basis: 1px; +} +.basis-0\.5{ + -ms-flex-preferred-size: 0.125rem; + flex-basis: 0.125rem; +} +.basis-1\.5{ + -ms-flex-preferred-size: 0.375rem; + flex-basis: 0.375rem; +} +.basis-2\.5{ + -ms-flex-preferred-size: 0.625rem; + flex-basis: 0.625rem; +} +.basis-3\.5{ + -ms-flex-preferred-size: 0.875rem; + flex-basis: 0.875rem; +} +.basis-modal{ + -ms-flex-preferred-size: 610px; + flex-basis: 610px; +} +.basis-5\.5{ + -ms-flex-preferred-size: 1.30rem; + flex-basis: 1.30rem; +} +.basis-9\.5{ + -ms-flex-preferred-size: 2.45rem; + flex-basis: 2.45rem; +} +.basis-12\.5{ + -ms-flex-preferred-size: 3.2rem; + flex-basis: 3.2rem; +} +.basis-32\.5{ + -ms-flex-preferred-size: 8.5rem; + flex-basis: 8.5rem; +} +.basis-1\/2{ + -ms-flex-preferred-size: 50%; + flex-basis: 50%; +} +.basis-1\/3{ + -ms-flex-preferred-size: 33.333333%; + flex-basis: 33.333333%; +} +.basis-2\/3{ + -ms-flex-preferred-size: 66.666667%; + flex-basis: 66.666667%; +} +.basis-1\/4{ + -ms-flex-preferred-size: 25%; + flex-basis: 25%; +} +.basis-2\/4{ + -ms-flex-preferred-size: 50%; + flex-basis: 50%; +} +.basis-3\/4{ + -ms-flex-preferred-size: 75%; + flex-basis: 75%; +} +.basis-1\/5{ + -ms-flex-preferred-size: 20%; + flex-basis: 20%; +} +.basis-2\/5{ + -ms-flex-preferred-size: 40%; + flex-basis: 40%; +} +.basis-3\/5{ + -ms-flex-preferred-size: 60%; + flex-basis: 60%; +} +.basis-4\/5{ + -ms-flex-preferred-size: 80%; + flex-basis: 80%; +} +.basis-1\/6{ + -ms-flex-preferred-size: 16.666667%; + flex-basis: 16.666667%; +} +.basis-2\/6{ + -ms-flex-preferred-size: 33.333333%; + flex-basis: 33.333333%; +} +.basis-3\/6{ + -ms-flex-preferred-size: 50%; + flex-basis: 50%; +} +.basis-4\/6{ + -ms-flex-preferred-size: 66.666667%; + flex-basis: 66.666667%; +} +.basis-5\/6{ + -ms-flex-preferred-size: 83.333333%; + flex-basis: 83.333333%; +} +.basis-1\/12{ + -ms-flex-preferred-size: 8.333333%; + flex-basis: 8.333333%; +} +.basis-2\/12{ + -ms-flex-preferred-size: 16.666667%; + flex-basis: 16.666667%; +} +.basis-3\/12{ + -ms-flex-preferred-size: 25%; + flex-basis: 25%; +} +.basis-4\/12{ + -ms-flex-preferred-size: 33.333333%; + flex-basis: 33.333333%; +} +.basis-5\/12{ + -ms-flex-preferred-size: 41.666667%; + flex-basis: 41.666667%; +} +.basis-6\/12{ + -ms-flex-preferred-size: 50%; + flex-basis: 50%; +} +.basis-7\/12{ + -ms-flex-preferred-size: 58.333333%; + flex-basis: 58.333333%; +} +.basis-8\/12{ + -ms-flex-preferred-size: 66.666667%; + flex-basis: 66.666667%; +} +.basis-9\/12{ + -ms-flex-preferred-size: 75%; + flex-basis: 75%; +} +.basis-10\/12{ + -ms-flex-preferred-size: 83.333333%; + flex-basis: 83.333333%; +} +.basis-11\/12{ + -ms-flex-preferred-size: 91.666667%; + flex-basis: 91.666667%; +} +.basis-full{ + -ms-flex-preferred-size: 100%; + flex-basis: 100%; +} +.table-auto{ + table-layout: auto; +} +.table-fixed{ + table-layout: fixed; +} +.border-collapse{ + border-collapse: collapse; +} +.border-separate{ + border-collapse: separate; +} +.origin-center{ + -webkit-transform-origin: center; + transform-origin: center; +} +.origin-top{ + -webkit-transform-origin: top; + transform-origin: top; +} +.origin-top-right{ + -webkit-transform-origin: top right; + transform-origin: top right; +} +.origin-right{ + -webkit-transform-origin: right; + transform-origin: right; +} +.origin-bottom-right{ + -webkit-transform-origin: bottom right; + transform-origin: bottom right; +} +.origin-bottom{ + -webkit-transform-origin: bottom; + transform-origin: bottom; +} +.origin-bottom-left{ + -webkit-transform-origin: bottom left; + transform-origin: bottom left; +} +.origin-left{ + -webkit-transform-origin: left; + transform-origin: left; +} +.origin-top-left{ + -webkit-transform-origin: top left; + transform-origin: top left; +} +.translate-x-0{ + --tw-translate-x: 0px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-1{ + --tw-translate-x: 0.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-2{ + --tw-translate-x: 0.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-3{ + --tw-translate-x: 0.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-4{ + --tw-translate-x: 1rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-5{ + --tw-translate-x: 1.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-6{ + --tw-translate-x: 1.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-7{ + --tw-translate-x: 1.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-8{ + --tw-translate-x: 2rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-9{ + --tw-translate-x: 2.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-10{ + --tw-translate-x: 2.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-11{ + --tw-translate-x: 2.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-12{ + --tw-translate-x: 3rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-14{ + --tw-translate-x: 3.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-16{ + --tw-translate-x: 4rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-20{ + --tw-translate-x: 5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-24{ + --tw-translate-x: 6rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-28{ + --tw-translate-x: 7rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-31{ + --tw-translate-x: 30.938rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-32{ + --tw-translate-x: 8rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-33{ + --tw-translate-x: 8.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-36{ + --tw-translate-x: 9rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-37{ + --tw-translate-x: 9.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-40{ + --tw-translate-x: 10rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-44{ + --tw-translate-x: 11rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-46{ + --tw-translate-x: 46.875rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-48{ + --tw-translate-x: 12rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-52{ + --tw-translate-x: 13rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-56{ + --tw-translate-x: 14rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-60{ + --tw-translate-x: 15rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-64{ + --tw-translate-x: 16rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-72{ + --tw-translate-x: 18rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-80{ + --tw-translate-x: 20rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-96{ + --tw-translate-x: 24rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-px{ + --tw-translate-x: 1px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-0\.5{ + --tw-translate-x: 0.125rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-1\.5{ + --tw-translate-x: 0.375rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-2\.5{ + --tw-translate-x: 0.625rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-3\.5{ + --tw-translate-x: 0.875rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-modal{ + --tw-translate-x: 610px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-5\.5{ + --tw-translate-x: 1.30rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-9\.5{ + --tw-translate-x: 2.45rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-12\.5{ + --tw-translate-x: 3.2rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-32\.5{ + --tw-translate-x: 8.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-1\/2{ + --tw-translate-x: 50%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-1\/3{ + --tw-translate-x: 33.333333%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-2\/3{ + --tw-translate-x: 66.666667%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-1\/4{ + --tw-translate-x: 25%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-2\/4{ + --tw-translate-x: 50%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-3\/4{ + --tw-translate-x: 75%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-x-full{ + --tw-translate-x: 100%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-0{ + --tw-translate-x: -0px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-1{ + --tw-translate-x: -0.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-2{ + --tw-translate-x: -0.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-3{ + --tw-translate-x: -0.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-4{ + --tw-translate-x: -1rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-5{ + --tw-translate-x: -1.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-6{ + --tw-translate-x: -1.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-7{ + --tw-translate-x: -1.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-8{ + --tw-translate-x: -2rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-9{ + --tw-translate-x: -2.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-10{ + --tw-translate-x: -2.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-11{ + --tw-translate-x: -2.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-12{ + --tw-translate-x: -3rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-14{ + --tw-translate-x: -3.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-16{ + --tw-translate-x: -4rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-20{ + --tw-translate-x: -5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-24{ + --tw-translate-x: -6rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-28{ + --tw-translate-x: -7rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-31{ + --tw-translate-x: -30.938rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-32{ + --tw-translate-x: -8rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-33{ + --tw-translate-x: -8.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-36{ + --tw-translate-x: -9rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-37{ + --tw-translate-x: -9.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-40{ + --tw-translate-x: -10rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-44{ + --tw-translate-x: -11rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-46{ + --tw-translate-x: -46.875rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-48{ + --tw-translate-x: -12rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-52{ + --tw-translate-x: -13rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-56{ + --tw-translate-x: -14rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-60{ + --tw-translate-x: -15rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-64{ + --tw-translate-x: -16rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-72{ + --tw-translate-x: -18rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-80{ + --tw-translate-x: -20rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-96{ + --tw-translate-x: -24rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-px{ + --tw-translate-x: -1px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-0\.5{ + --tw-translate-x: -0.125rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-1\.5{ + --tw-translate-x: -0.375rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-2\.5{ + --tw-translate-x: -0.625rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-3\.5{ + --tw-translate-x: -0.875rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-modal{ + --tw-translate-x: -610px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-5\.5{ + --tw-translate-x: -1.30rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-9\.5{ + --tw-translate-x: -2.45rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-12\.5{ + --tw-translate-x: -3.2rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-32\.5{ + --tw-translate-x: -8.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-1\/2{ + --tw-translate-x: -50%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-1\/3{ + --tw-translate-x: -33.333333%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-2\/3{ + --tw-translate-x: -66.666667%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-1\/4{ + --tw-translate-x: -25%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-2\/4{ + --tw-translate-x: -50%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-3\/4{ + --tw-translate-x: -75%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-x-full{ + --tw-translate-x: -100%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-0{ + --tw-translate-y: 0px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-1{ + --tw-translate-y: 0.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-2{ + --tw-translate-y: 0.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-3{ + --tw-translate-y: 0.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-4{ + --tw-translate-y: 1rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-5{ + --tw-translate-y: 1.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-6{ + --tw-translate-y: 1.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-7{ + --tw-translate-y: 1.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-8{ + --tw-translate-y: 2rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-9{ + --tw-translate-y: 2.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-10{ + --tw-translate-y: 2.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-11{ + --tw-translate-y: 2.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-12{ + --tw-translate-y: 3rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-14{ + --tw-translate-y: 3.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-16{ + --tw-translate-y: 4rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-20{ + --tw-translate-y: 5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-24{ + --tw-translate-y: 6rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-28{ + --tw-translate-y: 7rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-31{ + --tw-translate-y: 30.938rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-32{ + --tw-translate-y: 8rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-33{ + --tw-translate-y: 8.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-36{ + --tw-translate-y: 9rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-37{ + --tw-translate-y: 9.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-40{ + --tw-translate-y: 10rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-44{ + --tw-translate-y: 11rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-46{ + --tw-translate-y: 46.875rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-48{ + --tw-translate-y: 12rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-52{ + --tw-translate-y: 13rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-56{ + --tw-translate-y: 14rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-60{ + --tw-translate-y: 15rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-64{ + --tw-translate-y: 16rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-72{ + --tw-translate-y: 18rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-80{ + --tw-translate-y: 20rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-96{ + --tw-translate-y: 24rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-px{ + --tw-translate-y: 1px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-0\.5{ + --tw-translate-y: 0.125rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-1\.5{ + --tw-translate-y: 0.375rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-2\.5{ + --tw-translate-y: 0.625rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-3\.5{ + --tw-translate-y: 0.875rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-modal{ + --tw-translate-y: 610px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-5\.5{ + --tw-translate-y: 1.30rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-9\.5{ + --tw-translate-y: 2.45rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-12\.5{ + --tw-translate-y: 3.2rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-32\.5{ + --tw-translate-y: 8.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-1\/2{ + --tw-translate-y: 50%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-1\/3{ + --tw-translate-y: 33.333333%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-2\/3{ + --tw-translate-y: 66.666667%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-1\/4{ + --tw-translate-y: 25%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-2\/4{ + --tw-translate-y: 50%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-3\/4{ + --tw-translate-y: 75%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.translate-y-full{ + --tw-translate-y: 100%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-0{ + --tw-translate-y: -0px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-1{ + --tw-translate-y: -0.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-2{ + --tw-translate-y: -0.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-3{ + --tw-translate-y: -0.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-4{ + --tw-translate-y: -1rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-5{ + --tw-translate-y: -1.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-6{ + --tw-translate-y: -1.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-7{ + --tw-translate-y: -1.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-8{ + --tw-translate-y: -2rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-9{ + --tw-translate-y: -2.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-10{ + --tw-translate-y: -2.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-11{ + --tw-translate-y: -2.75rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-12{ + --tw-translate-y: -3rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-14{ + --tw-translate-y: -3.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-16{ + --tw-translate-y: -4rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-20{ + --tw-translate-y: -5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-24{ + --tw-translate-y: -6rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-28{ + --tw-translate-y: -7rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-31{ + --tw-translate-y: -30.938rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-32{ + --tw-translate-y: -8rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-33{ + --tw-translate-y: -8.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-36{ + --tw-translate-y: -9rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-37{ + --tw-translate-y: -9.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-40{ + --tw-translate-y: -10rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-44{ + --tw-translate-y: -11rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-46{ + --tw-translate-y: -46.875rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-48{ + --tw-translate-y: -12rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-52{ + --tw-translate-y: -13rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-56{ + --tw-translate-y: -14rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-60{ + --tw-translate-y: -15rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-64{ + --tw-translate-y: -16rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-72{ + --tw-translate-y: -18rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-80{ + --tw-translate-y: -20rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-96{ + --tw-translate-y: -24rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-px{ + --tw-translate-y: -1px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-0\.5{ + --tw-translate-y: -0.125rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-1\.5{ + --tw-translate-y: -0.375rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-2\.5{ + --tw-translate-y: -0.625rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-3\.5{ + --tw-translate-y: -0.875rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-modal{ + --tw-translate-y: -610px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-5\.5{ + --tw-translate-y: -1.30rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-9\.5{ + --tw-translate-y: -2.45rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-12\.5{ + --tw-translate-y: -3.2rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-32\.5{ + --tw-translate-y: -8.5rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-1\/2{ + --tw-translate-y: -50%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-1\/3{ + --tw-translate-y: -33.333333%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-2\/3{ + --tw-translate-y: -66.666667%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-1\/4{ + --tw-translate-y: -25%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-2\/4{ + --tw-translate-y: -50%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-3\/4{ + --tw-translate-y: -75%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-translate-y-full{ + --tw-translate-y: -100%; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.rotate-0{ + --tw-rotate: 0deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.rotate-1{ + --tw-rotate: 1deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.rotate-2{ + --tw-rotate: 2deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.rotate-3{ + --tw-rotate: 3deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.rotate-6{ + --tw-rotate: 6deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.rotate-12{ + --tw-rotate: 12deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.rotate-45{ + --tw-rotate: 45deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.rotate-90{ + --tw-rotate: 90deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.rotate-180{ + --tw-rotate: 180deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-rotate-0{ + --tw-rotate: -0deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-rotate-1{ + --tw-rotate: -1deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-rotate-2{ + --tw-rotate: -2deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-rotate-3{ + --tw-rotate: -3deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-rotate-6{ + --tw-rotate: -6deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-rotate-12{ + --tw-rotate: -12deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-rotate-45{ + --tw-rotate: -45deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-rotate-90{ + --tw-rotate: -90deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-rotate-180{ + --tw-rotate: -180deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-x-0{ + --tw-skew-x: 0deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-x-1{ + --tw-skew-x: 1deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-x-2{ + --tw-skew-x: 2deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-x-3{ + --tw-skew-x: 3deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-x-6{ + --tw-skew-x: 6deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-x-12{ + --tw-skew-x: 12deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-x-0{ + --tw-skew-x: -0deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-x-1{ + --tw-skew-x: -1deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-x-2{ + --tw-skew-x: -2deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-x-3{ + --tw-skew-x: -3deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-x-6{ + --tw-skew-x: -6deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-x-12{ + --tw-skew-x: -12deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-y-0{ + --tw-skew-y: 0deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-y-1{ + --tw-skew-y: 1deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-y-2{ + --tw-skew-y: 2deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-y-3{ + --tw-skew-y: 3deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-y-6{ + --tw-skew-y: 6deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.skew-y-12{ + --tw-skew-y: 12deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-y-0{ + --tw-skew-y: -0deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-y-1{ + --tw-skew-y: -1deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-y-2{ + --tw-skew-y: -2deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-y-3{ + --tw-skew-y: -3deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-y-6{ + --tw-skew-y: -6deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-skew-y-12{ + --tw-skew-y: -12deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-0{ + --tw-scale-x: 0; + --tw-scale-y: 0; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-50{ + --tw-scale-x: .5; + --tw-scale-y: .5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-75{ + --tw-scale-x: .75; + --tw-scale-y: .75; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-90{ + --tw-scale-x: .9; + --tw-scale-y: .9; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-95{ + --tw-scale-x: .95; + --tw-scale-y: .95; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-100{ + --tw-scale-x: 1; + --tw-scale-y: 1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-105{ + --tw-scale-x: 1.05; + --tw-scale-y: 1.05; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-110{ + --tw-scale-x: 1.1; + --tw-scale-y: 1.1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-125{ + --tw-scale-x: 1.25; + --tw-scale-y: 1.25; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-150{ + --tw-scale-x: 1.5; + --tw-scale-y: 1.5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-0{ + --tw-scale-x: 0; + --tw-scale-y: 0; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-50{ + --tw-scale-x: -.5; + --tw-scale-y: -.5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-75{ + --tw-scale-x: -.75; + --tw-scale-y: -.75; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-90{ + --tw-scale-x: -.9; + --tw-scale-y: -.9; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-95{ + --tw-scale-x: -.95; + --tw-scale-y: -.95; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-100{ + --tw-scale-x: -1; + --tw-scale-y: -1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-105{ + --tw-scale-x: -1.05; + --tw-scale-y: -1.05; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-110{ + --tw-scale-x: -1.1; + --tw-scale-y: -1.1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-125{ + --tw-scale-x: -1.25; + --tw-scale-y: -1.25; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-150{ + --tw-scale-x: -1.5; + --tw-scale-y: -1.5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-0{ + --tw-scale-x: 0; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-50{ + --tw-scale-x: .5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-75{ + --tw-scale-x: .75; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-90{ + --tw-scale-x: .9; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-95{ + --tw-scale-x: .95; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-100{ + --tw-scale-x: 1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-105{ + --tw-scale-x: 1.05; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-110{ + --tw-scale-x: 1.1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-125{ + --tw-scale-x: 1.25; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-x-150{ + --tw-scale-x: 1.5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-0{ + --tw-scale-x: 0; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-50{ + --tw-scale-x: -.5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-75{ + --tw-scale-x: -.75; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-90{ + --tw-scale-x: -.9; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-95{ + --tw-scale-x: -.95; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-100{ + --tw-scale-x: -1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-105{ + --tw-scale-x: -1.05; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-110{ + --tw-scale-x: -1.1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-125{ + --tw-scale-x: -1.25; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-x-150{ + --tw-scale-x: -1.5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-0{ + --tw-scale-y: 0; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-50{ + --tw-scale-y: .5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-75{ + --tw-scale-y: .75; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-90{ + --tw-scale-y: .9; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-95{ + --tw-scale-y: .95; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-100{ + --tw-scale-y: 1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-105{ + --tw-scale-y: 1.05; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-110{ + --tw-scale-y: 1.1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-125{ + --tw-scale-y: 1.25; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.scale-y-150{ + --tw-scale-y: 1.5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-0{ + --tw-scale-y: 0; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-50{ + --tw-scale-y: -.5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-75{ + --tw-scale-y: -.75; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-90{ + --tw-scale-y: -.9; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-95{ + --tw-scale-y: -.95; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-100{ + --tw-scale-y: -1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-105{ + --tw-scale-y: -1.05; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-110{ + --tw-scale-y: -1.1; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-125{ + --tw-scale-y: -1.25; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.-scale-y-150{ + --tw-scale-y: -1.5; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.transform{ + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.transform-cpu{ + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.transform-gpu{ + -webkit-transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.transform-none{ + -webkit-transform: none; + transform: none; +} +.animate-none{ + -webkit-animation: none; + animation: none; +} +@-webkit-keyframes spin{ + + to{ + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + + 0%{ + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100%{ + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes spin{ + + to{ + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + + 0%{ + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100%{ + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.animate-spin{ + -webkit-animation: spin 1000ms infinite; + animation: spin 1000ms infinite; +} +@-webkit-keyframes ping{ + + 75%, 100%{ + -webkit-transform: scale(2); + transform: scale(2); + opacity: 0; + } +} +@keyframes ping{ + + 75%, 100%{ + -webkit-transform: scale(2); + transform: scale(2); + opacity: 0; + } +} +.animate-ping{ + -webkit-animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; + animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; +} +@-webkit-keyframes pulse{ + + 50%{ + opacity: .5; + } +} +@keyframes pulse{ + + 50%{ + opacity: .5; + } +} +.animate-pulse{ + -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; + animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; +} +@-webkit-keyframes bounce{ + + 0%, 100%{ + -webkit-transform: translateY(-25%); + transform: translateY(-25%); + -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1); + animation-timing-function: cubic-bezier(0.8,0,1,1); + } + + 50%{ + -webkit-transform: none; + transform: none; + -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1); + animation-timing-function: cubic-bezier(0,0,0.2,1); + } +} +@keyframes bounce{ + + 0%, 100%{ + -webkit-transform: translateY(-25%); + transform: translateY(-25%); + -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1); + animation-timing-function: cubic-bezier(0.8,0,1,1); + } + + 50%{ + -webkit-transform: none; + transform: none; + -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1); + animation-timing-function: cubic-bezier(0,0,0.2,1); + } +} +.animate-bounce{ + -webkit-animation: bounce 1s infinite; + animation: bounce 1s infinite; +} +@-webkit-keyframes vibrate{ + + 0.50%, 10%, 20%, 30%, 40%, 50%{ + -webkit-transform: translate3d(0.5px, 0, 0); + transform: translate3d(0.5px, 0, 0); + } + + 5%, 15%, 25%, 35%, 45%{ + -webkit-transform: translate3d(-0.5px, 0, 0); + transform: translate3d(-0.5px, 0, 0); + } + + 100%{ + -webkit-transform: translate3d(0.5px, 0, 0); + transform: translate3d(0.5px, 0, 0); + } +} +@keyframes vibrate{ + + 0.50%, 10%, 20%, 30%, 40%, 50%{ + -webkit-transform: translate3d(0.5px, 0, 0); + transform: translate3d(0.5px, 0, 0); + } + + 5%, 15%, 25%, 35%, 45%{ + -webkit-transform: translate3d(-0.5px, 0, 0); + transform: translate3d(-0.5px, 0, 0); + } + + 100%{ + -webkit-transform: translate3d(0.5px, 0, 0); + transform: translate3d(0.5px, 0, 0); + } +} +.animate-vibrate{ + -webkit-animation: vibrate 2s cubic-bezier(.36, .07, .19, .97) infinite;; + animation: vibrate 2s cubic-bezier(.36, .07, .19, .97) infinite;; +} +@-webkit-keyframes pulsate_transparent{ + + 0%{ + -webkit-transform: scale(0.9, 0.9); + transform: scale(0.9, 0.9); + } + + 50%{ + -webkit-transform: scale(1.14, 1.14); + transform: scale(1.14, 1.14); + } + + 100%{ + -webkit-transform: scale(0.9, 0.9); + transform: scale(0.9, 0.9); + } +} +@keyframes pulsate_transparent{ + + 0%{ + -webkit-transform: scale(0.9, 0.9); + transform: scale(0.9, 0.9); + } + + 50%{ + -webkit-transform: scale(1.14, 1.14); + transform: scale(1.14, 1.14); + } + + 100%{ + -webkit-transform: scale(0.9, 0.9); + transform: scale(0.9, 0.9); + } +} +.animate-pulsate_transparent{ + -webkit-animation: pulsate_transparent 1500ms ease infinite;; + animation: pulsate_transparent 1500ms ease infinite;; +} +@-webkit-keyframes pulsate{ + + 0%{ + -webkit-transform: transform: scale(1, 1); + transform: transform: scale(1, 1); + opacity: 0.05; + } + + 50%{ + opacity: 0.25; + } + + 100%{ + -webkit-transform: scale(1.5, 1.5); + transform: scale(1.5, 1.5); + opacity: 0; + } +} +@keyframes pulsate{ + + 0%{ + -webkit-transform: transform: scale(1, 1); + transform: transform: scale(1, 1); + opacity: 0.05; + } + + 50%{ + opacity: 0.25; + } + + 100%{ + -webkit-transform: scale(1.5, 1.5); + transform: scale(1.5, 1.5); + opacity: 0; + } +} +.animate-pulsate{ + -webkit-animation: pulsate 1500ms ease infinite;; + animation: pulsate 1500ms ease infinite;; +} +@-webkit-keyframes submit{ + + 0%{ + -webkit-box-shadow: 0 28px 0 -28px #ffffff; + box-shadow: 0 28px 0 -28px #ffffff; + } + + 100%{ + -webkit-box-shadow: 0 28px 0 #ffffff; + box-shadow: 0 28px 0 #ffffff; + } +} +@keyframes submit{ + + 0%{ + -webkit-box-shadow: 0 28px 0 -28px #ffffff; + box-shadow: 0 28px 0 -28px #ffffff; + } + + 100%{ + -webkit-box-shadow: 0 28px 0 #ffffff; + box-shadow: 0 28px 0 #ffffff; + } +} +.animate-submit{ + -webkit-animation: submit 0.7s ease alternate infinite; + animation: submit 0.7s ease alternate infinite; +} +.cursor-auto{ + cursor: auto; +} +.cursor-default{ + cursor: default; +} +.cursor-pointer{ + cursor: pointer; +} +.cursor-wait{ + cursor: wait; +} +.cursor-text{ + cursor: text; +} +.cursor-move{ + cursor: move; +} +.cursor-help{ + cursor: help; +} +.cursor-not-allowed{ + cursor: not-allowed; +} +.cursor-none{ + cursor: none; +} +.cursor-context-menu{ + cursor: context-menu; +} +.cursor-progress{ + cursor: progress; +} +.cursor-cell{ + cursor: cell; +} +.cursor-crosshair{ + cursor: crosshair; +} +.cursor-vertical-text{ + cursor: vertical-text; +} +.cursor-alias{ + cursor: alias; +} +.cursor-copy{ + cursor: copy; +} +.cursor-no-drop{ + cursor: no-drop; +} +.cursor-grab{ + cursor: -webkit-grab; + cursor: grab; +} +.cursor-grabbing{ + cursor: -webkit-grabbing; + cursor: grabbing; +} +.cursor-all-scroll{ + cursor: all-scroll; +} +.cursor-col-resize{ + cursor: col-resize; +} +.cursor-row-resize{ + cursor: row-resize; +} +.cursor-n-resize{ + cursor: n-resize; +} +.cursor-e-resize{ + cursor: e-resize; +} +.cursor-s-resize{ + cursor: s-resize; +} +.cursor-w-resize{ + cursor: w-resize; +} +.cursor-ne-resize{ + cursor: ne-resize; +} +.cursor-nw-resize{ + cursor: nw-resize; +} +.cursor-se-resize{ + cursor: se-resize; +} +.cursor-sw-resize{ + cursor: sw-resize; +} +.cursor-ew-resize{ + cursor: ew-resize; +} +.cursor-ns-resize{ + cursor: ns-resize; +} +.cursor-nesw-resize{ + cursor: nesw-resize; +} +.cursor-nwse-resize{ + cursor: nwse-resize; +} +.cursor-zoom-in{ + cursor: -webkit-zoom-in; + cursor: zoom-in; +} +.cursor-zoom-out{ + cursor: -webkit-zoom-out; + cursor: zoom-out; +} +.touch-auto{ + -ms-touch-action: auto; + touch-action: auto; +} +.touch-none{ + -ms-touch-action: none; + touch-action: none; +} +.touch-pan-x{ + --tw-pan-x: pan-x; + -ms-touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); + touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); +} +.touch-pan-left{ + --tw-pan-x: pan-left; + -ms-touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); + touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); +} +.touch-pan-right{ + --tw-pan-x: pan-right; + -ms-touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); + touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); +} +.touch-pan-y{ + --tw-pan-y: pan-y; + -ms-touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); + touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); +} +.touch-pan-up{ + --tw-pan-y: pan-up; + -ms-touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); + touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); +} +.touch-pan-down{ + --tw-pan-y: pan-down; + -ms-touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); + touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); +} +.touch-pinch-zoom{ + --tw-pinch-zoom: pinch-zoom; + -ms-touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); + touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); +} +.touch-manipulation{ + -ms-touch-action: manipulation; + touch-action: manipulation; +} +.select-none{ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.select-text{ + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} +.select-all{ + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; +} +.select-auto{ + -webkit-user-select: auto; + -moz-user-select: auto; + -ms-user-select: auto; + user-select: auto; +} +.resize-none{ + resize: none; +} +.resize-y{ + resize: vertical; +} +.resize-x{ + resize: horizontal; +} +.resize{ + resize: both; +} +.snap-none{ + -ms-scroll-snap-type: none; + scroll-snap-type: none; +} +.snap-x{ + -ms-scroll-snap-type: x var(--tw-scroll-snap-strictness); + scroll-snap-type: x var(--tw-scroll-snap-strictness); +} +.snap-y{ + -ms-scroll-snap-type: y var(--tw-scroll-snap-strictness); + scroll-snap-type: y var(--tw-scroll-snap-strictness); +} +.snap-both{ + -ms-scroll-snap-type: both var(--tw-scroll-snap-strictness); + scroll-snap-type: both var(--tw-scroll-snap-strictness); +} +.snap-mandatory{ + --tw-scroll-snap-strictness: mandatory; +} +.snap-proximity{ + --tw-scroll-snap-strictness: proximity; +} +.snap-start{ + scroll-snap-align: start; +} +.snap-end{ + scroll-snap-align: end; +} +.snap-center{ + scroll-snap-align: center; +} +.snap-align-none{ + scroll-snap-align: none; +} +.snap-normal{ + scroll-snap-stop: normal; +} +.snap-always{ + scroll-snap-stop: always; +} +.scroll-m-0{ + scroll-margin: 0px; +} +.scroll-m-1{ + scroll-margin: 0.25rem; +} +.scroll-m-2{ + scroll-margin: 0.5rem; +} +.scroll-m-3{ + scroll-margin: 0.75rem; +} +.scroll-m-4{ + scroll-margin: 1rem; +} +.scroll-m-5{ + scroll-margin: 1.25rem; +} +.scroll-m-6{ + scroll-margin: 1.5rem; +} +.scroll-m-7{ + scroll-margin: 1.75rem; +} +.scroll-m-8{ + scroll-margin: 2rem; +} +.scroll-m-9{ + scroll-margin: 2.25rem; +} +.scroll-m-10{ + scroll-margin: 2.5rem; +} +.scroll-m-11{ + scroll-margin: 2.75rem; +} +.scroll-m-12{ + scroll-margin: 3rem; +} +.scroll-m-14{ + scroll-margin: 3.5rem; +} +.scroll-m-16{ + scroll-margin: 4rem; +} +.scroll-m-20{ + scroll-margin: 5rem; +} +.scroll-m-24{ + scroll-margin: 6rem; +} +.scroll-m-28{ + scroll-margin: 7rem; +} +.scroll-m-31{ + scroll-margin: 30.938rem; +} +.scroll-m-32{ + scroll-margin: 8rem; +} +.scroll-m-33{ + scroll-margin: 8.5rem; +} +.scroll-m-36{ + scroll-margin: 9rem; +} +.scroll-m-37{ + scroll-margin: 9.25rem; +} +.scroll-m-40{ + scroll-margin: 10rem; +} +.scroll-m-44{ + scroll-margin: 11rem; +} +.scroll-m-46{ + scroll-margin: 46.875rem; +} +.scroll-m-48{ + scroll-margin: 12rem; +} +.scroll-m-52{ + scroll-margin: 13rem; +} +.scroll-m-56{ + scroll-margin: 14rem; +} +.scroll-m-60{ + scroll-margin: 15rem; +} +.scroll-m-64{ + scroll-margin: 16rem; +} +.scroll-m-72{ + scroll-margin: 18rem; +} +.scroll-m-80{ + scroll-margin: 20rem; +} +.scroll-m-96{ + scroll-margin: 24rem; +} +.scroll-m-px{ + scroll-margin: 1px; +} +.scroll-m-0\.5{ + scroll-margin: 0.125rem; +} +.scroll-m-1\.5{ + scroll-margin: 0.375rem; +} +.scroll-m-2\.5{ + scroll-margin: 0.625rem; +} +.scroll-m-3\.5{ + scroll-margin: 0.875rem; +} +.scroll-m-modal{ + scroll-margin: 610px; +} +.scroll-m-5\.5{ + scroll-margin: 1.30rem; +} +.scroll-m-9\.5{ + scroll-margin: 2.45rem; +} +.scroll-m-12\.5{ + scroll-margin: 3.2rem; +} +.scroll-m-32\.5{ + scroll-margin: 8.5rem; +} +.-scroll-m-0{ + scroll-margin: -0px; +} +.-scroll-m-1{ + scroll-margin: -0.25rem; +} +.-scroll-m-2{ + scroll-margin: -0.5rem; +} +.-scroll-m-3{ + scroll-margin: -0.75rem; +} +.-scroll-m-4{ + scroll-margin: -1rem; +} +.-scroll-m-5{ + scroll-margin: -1.25rem; +} +.-scroll-m-6{ + scroll-margin: -1.5rem; +} +.-scroll-m-7{ + scroll-margin: -1.75rem; +} +.-scroll-m-8{ + scroll-margin: -2rem; +} +.-scroll-m-9{ + scroll-margin: -2.25rem; +} +.-scroll-m-10{ + scroll-margin: -2.5rem; +} +.-scroll-m-11{ + scroll-margin: -2.75rem; +} +.-scroll-m-12{ + scroll-margin: -3rem; +} +.-scroll-m-14{ + scroll-margin: -3.5rem; +} +.-scroll-m-16{ + scroll-margin: -4rem; +} +.-scroll-m-20{ + scroll-margin: -5rem; +} +.-scroll-m-24{ + scroll-margin: -6rem; +} +.-scroll-m-28{ + scroll-margin: -7rem; +} +.-scroll-m-31{ + scroll-margin: -30.938rem; +} +.-scroll-m-32{ + scroll-margin: -8rem; +} +.-scroll-m-33{ + scroll-margin: -8.5rem; +} +.-scroll-m-36{ + scroll-margin: -9rem; +} +.-scroll-m-37{ + scroll-margin: -9.25rem; +} +.-scroll-m-40{ + scroll-margin: -10rem; +} +.-scroll-m-44{ + scroll-margin: -11rem; +} +.-scroll-m-46{ + scroll-margin: -46.875rem; +} +.-scroll-m-48{ + scroll-margin: -12rem; +} +.-scroll-m-52{ + scroll-margin: -13rem; +} +.-scroll-m-56{ + scroll-margin: -14rem; +} +.-scroll-m-60{ + scroll-margin: -15rem; +} +.-scroll-m-64{ + scroll-margin: -16rem; +} +.-scroll-m-72{ + scroll-margin: -18rem; +} +.-scroll-m-80{ + scroll-margin: -20rem; +} +.-scroll-m-96{ + scroll-margin: -24rem; +} +.-scroll-m-px{ + scroll-margin: -1px; +} +.-scroll-m-0\.5{ + scroll-margin: -0.125rem; +} +.-scroll-m-1\.5{ + scroll-margin: -0.375rem; +} +.-scroll-m-2\.5{ + scroll-margin: -0.625rem; +} +.-scroll-m-3\.5{ + scroll-margin: -0.875rem; +} +.-scroll-m-modal{ + scroll-margin: -610px; +} +.-scroll-m-5\.5{ + scroll-margin: -1.30rem; +} +.-scroll-m-9\.5{ + scroll-margin: -2.45rem; +} +.-scroll-m-12\.5{ + scroll-margin: -3.2rem; +} +.-scroll-m-32\.5{ + scroll-margin: -8.5rem; +} +.scroll-mx-0{ + scroll-margin-left: 0px; + scroll-margin-right: 0px; +} +.scroll-mx-1{ + scroll-margin-left: 0.25rem; + scroll-margin-right: 0.25rem; +} +.scroll-mx-2{ + scroll-margin-left: 0.5rem; + scroll-margin-right: 0.5rem; +} +.scroll-mx-3{ + scroll-margin-left: 0.75rem; + scroll-margin-right: 0.75rem; +} +.scroll-mx-4{ + scroll-margin-left: 1rem; + scroll-margin-right: 1rem; +} +.scroll-mx-5{ + scroll-margin-left: 1.25rem; + scroll-margin-right: 1.25rem; +} +.scroll-mx-6{ + scroll-margin-left: 1.5rem; + scroll-margin-right: 1.5rem; +} +.scroll-mx-7{ + scroll-margin-left: 1.75rem; + scroll-margin-right: 1.75rem; +} +.scroll-mx-8{ + scroll-margin-left: 2rem; + scroll-margin-right: 2rem; +} +.scroll-mx-9{ + scroll-margin-left: 2.25rem; + scroll-margin-right: 2.25rem; +} +.scroll-mx-10{ + scroll-margin-left: 2.5rem; + scroll-margin-right: 2.5rem; +} +.scroll-mx-11{ + scroll-margin-left: 2.75rem; + scroll-margin-right: 2.75rem; +} +.scroll-mx-12{ + scroll-margin-left: 3rem; + scroll-margin-right: 3rem; +} +.scroll-mx-14{ + scroll-margin-left: 3.5rem; + scroll-margin-right: 3.5rem; +} +.scroll-mx-16{ + scroll-margin-left: 4rem; + scroll-margin-right: 4rem; +} +.scroll-mx-20{ + scroll-margin-left: 5rem; + scroll-margin-right: 5rem; +} +.scroll-mx-24{ + scroll-margin-left: 6rem; + scroll-margin-right: 6rem; +} +.scroll-mx-28{ + scroll-margin-left: 7rem; + scroll-margin-right: 7rem; +} +.scroll-mx-31{ + scroll-margin-left: 30.938rem; + scroll-margin-right: 30.938rem; +} +.scroll-mx-32{ + scroll-margin-left: 8rem; + scroll-margin-right: 8rem; +} +.scroll-mx-33{ + scroll-margin-left: 8.5rem; + scroll-margin-right: 8.5rem; +} +.scroll-mx-36{ + scroll-margin-left: 9rem; + scroll-margin-right: 9rem; +} +.scroll-mx-37{ + scroll-margin-left: 9.25rem; + scroll-margin-right: 9.25rem; +} +.scroll-mx-40{ + scroll-margin-left: 10rem; + scroll-margin-right: 10rem; +} +.scroll-mx-44{ + scroll-margin-left: 11rem; + scroll-margin-right: 11rem; +} +.scroll-mx-46{ + scroll-margin-left: 46.875rem; + scroll-margin-right: 46.875rem; +} +.scroll-mx-48{ + scroll-margin-left: 12rem; + scroll-margin-right: 12rem; +} +.scroll-mx-52{ + scroll-margin-left: 13rem; + scroll-margin-right: 13rem; +} +.scroll-mx-56{ + scroll-margin-left: 14rem; + scroll-margin-right: 14rem; +} +.scroll-mx-60{ + scroll-margin-left: 15rem; + scroll-margin-right: 15rem; +} +.scroll-mx-64{ + scroll-margin-left: 16rem; + scroll-margin-right: 16rem; +} +.scroll-mx-72{ + scroll-margin-left: 18rem; + scroll-margin-right: 18rem; +} +.scroll-mx-80{ + scroll-margin-left: 20rem; + scroll-margin-right: 20rem; +} +.scroll-mx-96{ + scroll-margin-left: 24rem; + scroll-margin-right: 24rem; +} +.scroll-mx-px{ + scroll-margin-left: 1px; + scroll-margin-right: 1px; +} +.scroll-mx-0\.5{ + scroll-margin-left: 0.125rem; + scroll-margin-right: 0.125rem; +} +.scroll-mx-1\.5{ + scroll-margin-left: 0.375rem; + scroll-margin-right: 0.375rem; +} +.scroll-mx-2\.5{ + scroll-margin-left: 0.625rem; + scroll-margin-right: 0.625rem; +} +.scroll-mx-3\.5{ + scroll-margin-left: 0.875rem; + scroll-margin-right: 0.875rem; +} +.scroll-mx-modal{ + scroll-margin-left: 610px; + scroll-margin-right: 610px; +} +.scroll-mx-5\.5{ + scroll-margin-left: 1.30rem; + scroll-margin-right: 1.30rem; +} +.scroll-mx-9\.5{ + scroll-margin-left: 2.45rem; + scroll-margin-right: 2.45rem; +} +.scroll-mx-12\.5{ + scroll-margin-left: 3.2rem; + scroll-margin-right: 3.2rem; +} +.scroll-mx-32\.5{ + scroll-margin-left: 8.5rem; + scroll-margin-right: 8.5rem; +} +.-scroll-mx-0{ + scroll-margin-left: -0px; + scroll-margin-right: -0px; +} +.-scroll-mx-1{ + scroll-margin-left: -0.25rem; + scroll-margin-right: -0.25rem; +} +.-scroll-mx-2{ + scroll-margin-left: -0.5rem; + scroll-margin-right: -0.5rem; +} +.-scroll-mx-3{ + scroll-margin-left: -0.75rem; + scroll-margin-right: -0.75rem; +} +.-scroll-mx-4{ + scroll-margin-left: -1rem; + scroll-margin-right: -1rem; +} +.-scroll-mx-5{ + scroll-margin-left: -1.25rem; + scroll-margin-right: -1.25rem; +} +.-scroll-mx-6{ + scroll-margin-left: -1.5rem; + scroll-margin-right: -1.5rem; +} +.-scroll-mx-7{ + scroll-margin-left: -1.75rem; + scroll-margin-right: -1.75rem; +} +.-scroll-mx-8{ + scroll-margin-left: -2rem; + scroll-margin-right: -2rem; +} +.-scroll-mx-9{ + scroll-margin-left: -2.25rem; + scroll-margin-right: -2.25rem; +} +.-scroll-mx-10{ + scroll-margin-left: -2.5rem; + scroll-margin-right: -2.5rem; +} +.-scroll-mx-11{ + scroll-margin-left: -2.75rem; + scroll-margin-right: -2.75rem; +} +.-scroll-mx-12{ + scroll-margin-left: -3rem; + scroll-margin-right: -3rem; +} +.-scroll-mx-14{ + scroll-margin-left: -3.5rem; + scroll-margin-right: -3.5rem; +} +.-scroll-mx-16{ + scroll-margin-left: -4rem; + scroll-margin-right: -4rem; +} +.-scroll-mx-20{ + scroll-margin-left: -5rem; + scroll-margin-right: -5rem; +} +.-scroll-mx-24{ + scroll-margin-left: -6rem; + scroll-margin-right: -6rem; +} +.-scroll-mx-28{ + scroll-margin-left: -7rem; + scroll-margin-right: -7rem; +} +.-scroll-mx-31{ + scroll-margin-left: -30.938rem; + scroll-margin-right: -30.938rem; +} +.-scroll-mx-32{ + scroll-margin-left: -8rem; + scroll-margin-right: -8rem; +} +.-scroll-mx-33{ + scroll-margin-left: -8.5rem; + scroll-margin-right: -8.5rem; +} +.-scroll-mx-36{ + scroll-margin-left: -9rem; + scroll-margin-right: -9rem; +} +.-scroll-mx-37{ + scroll-margin-left: -9.25rem; + scroll-margin-right: -9.25rem; +} +.-scroll-mx-40{ + scroll-margin-left: -10rem; + scroll-margin-right: -10rem; +} +.-scroll-mx-44{ + scroll-margin-left: -11rem; + scroll-margin-right: -11rem; +} +.-scroll-mx-46{ + scroll-margin-left: -46.875rem; + scroll-margin-right: -46.875rem; +} +.-scroll-mx-48{ + scroll-margin-left: -12rem; + scroll-margin-right: -12rem; +} +.-scroll-mx-52{ + scroll-margin-left: -13rem; + scroll-margin-right: -13rem; +} +.-scroll-mx-56{ + scroll-margin-left: -14rem; + scroll-margin-right: -14rem; +} +.-scroll-mx-60{ + scroll-margin-left: -15rem; + scroll-margin-right: -15rem; +} +.-scroll-mx-64{ + scroll-margin-left: -16rem; + scroll-margin-right: -16rem; +} +.-scroll-mx-72{ + scroll-margin-left: -18rem; + scroll-margin-right: -18rem; +} +.-scroll-mx-80{ + scroll-margin-left: -20rem; + scroll-margin-right: -20rem; +} +.-scroll-mx-96{ + scroll-margin-left: -24rem; + scroll-margin-right: -24rem; +} +.-scroll-mx-px{ + scroll-margin-left: -1px; + scroll-margin-right: -1px; +} +.-scroll-mx-0\.5{ + scroll-margin-left: -0.125rem; + scroll-margin-right: -0.125rem; +} +.-scroll-mx-1\.5{ + scroll-margin-left: -0.375rem; + scroll-margin-right: -0.375rem; +} +.-scroll-mx-2\.5{ + scroll-margin-left: -0.625rem; + scroll-margin-right: -0.625rem; +} +.-scroll-mx-3\.5{ + scroll-margin-left: -0.875rem; + scroll-margin-right: -0.875rem; +} +.-scroll-mx-modal{ + scroll-margin-left: -610px; + scroll-margin-right: -610px; +} +.-scroll-mx-5\.5{ + scroll-margin-left: -1.30rem; + scroll-margin-right: -1.30rem; +} +.-scroll-mx-9\.5{ + scroll-margin-left: -2.45rem; + scroll-margin-right: -2.45rem; +} +.-scroll-mx-12\.5{ + scroll-margin-left: -3.2rem; + scroll-margin-right: -3.2rem; +} +.-scroll-mx-32\.5{ + scroll-margin-left: -8.5rem; + scroll-margin-right: -8.5rem; +} +.scroll-my-0{ + scroll-margin-top: 0px; + scroll-margin-bottom: 0px; +} +.scroll-my-1{ + scroll-margin-top: 0.25rem; + scroll-margin-bottom: 0.25rem; +} +.scroll-my-2{ + scroll-margin-top: 0.5rem; + scroll-margin-bottom: 0.5rem; +} +.scroll-my-3{ + scroll-margin-top: 0.75rem; + scroll-margin-bottom: 0.75rem; +} +.scroll-my-4{ + scroll-margin-top: 1rem; + scroll-margin-bottom: 1rem; +} +.scroll-my-5{ + scroll-margin-top: 1.25rem; + scroll-margin-bottom: 1.25rem; +} +.scroll-my-6{ + scroll-margin-top: 1.5rem; + scroll-margin-bottom: 1.5rem; +} +.scroll-my-7{ + scroll-margin-top: 1.75rem; + scroll-margin-bottom: 1.75rem; +} +.scroll-my-8{ + scroll-margin-top: 2rem; + scroll-margin-bottom: 2rem; +} +.scroll-my-9{ + scroll-margin-top: 2.25rem; + scroll-margin-bottom: 2.25rem; +} +.scroll-my-10{ + scroll-margin-top: 2.5rem; + scroll-margin-bottom: 2.5rem; +} +.scroll-my-11{ + scroll-margin-top: 2.75rem; + scroll-margin-bottom: 2.75rem; +} +.scroll-my-12{ + scroll-margin-top: 3rem; + scroll-margin-bottom: 3rem; +} +.scroll-my-14{ + scroll-margin-top: 3.5rem; + scroll-margin-bottom: 3.5rem; +} +.scroll-my-16{ + scroll-margin-top: 4rem; + scroll-margin-bottom: 4rem; +} +.scroll-my-20{ + scroll-margin-top: 5rem; + scroll-margin-bottom: 5rem; +} +.scroll-my-24{ + scroll-margin-top: 6rem; + scroll-margin-bottom: 6rem; +} +.scroll-my-28{ + scroll-margin-top: 7rem; + scroll-margin-bottom: 7rem; +} +.scroll-my-31{ + scroll-margin-top: 30.938rem; + scroll-margin-bottom: 30.938rem; +} +.scroll-my-32{ + scroll-margin-top: 8rem; + scroll-margin-bottom: 8rem; +} +.scroll-my-33{ + scroll-margin-top: 8.5rem; + scroll-margin-bottom: 8.5rem; +} +.scroll-my-36{ + scroll-margin-top: 9rem; + scroll-margin-bottom: 9rem; +} +.scroll-my-37{ + scroll-margin-top: 9.25rem; + scroll-margin-bottom: 9.25rem; +} +.scroll-my-40{ + scroll-margin-top: 10rem; + scroll-margin-bottom: 10rem; +} +.scroll-my-44{ + scroll-margin-top: 11rem; + scroll-margin-bottom: 11rem; +} +.scroll-my-46{ + scroll-margin-top: 46.875rem; + scroll-margin-bottom: 46.875rem; +} +.scroll-my-48{ + scroll-margin-top: 12rem; + scroll-margin-bottom: 12rem; +} +.scroll-my-52{ + scroll-margin-top: 13rem; + scroll-margin-bottom: 13rem; +} +.scroll-my-56{ + scroll-margin-top: 14rem; + scroll-margin-bottom: 14rem; +} +.scroll-my-60{ + scroll-margin-top: 15rem; + scroll-margin-bottom: 15rem; +} +.scroll-my-64{ + scroll-margin-top: 16rem; + scroll-margin-bottom: 16rem; +} +.scroll-my-72{ + scroll-margin-top: 18rem; + scroll-margin-bottom: 18rem; +} +.scroll-my-80{ + scroll-margin-top: 20rem; + scroll-margin-bottom: 20rem; +} +.scroll-my-96{ + scroll-margin-top: 24rem; + scroll-margin-bottom: 24rem; +} +.scroll-my-px{ + scroll-margin-top: 1px; + scroll-margin-bottom: 1px; +} +.scroll-my-0\.5{ + scroll-margin-top: 0.125rem; + scroll-margin-bottom: 0.125rem; +} +.scroll-my-1\.5{ + scroll-margin-top: 0.375rem; + scroll-margin-bottom: 0.375rem; +} +.scroll-my-2\.5{ + scroll-margin-top: 0.625rem; + scroll-margin-bottom: 0.625rem; +} +.scroll-my-3\.5{ + scroll-margin-top: 0.875rem; + scroll-margin-bottom: 0.875rem; +} +.scroll-my-modal{ + scroll-margin-top: 610px; + scroll-margin-bottom: 610px; +} +.scroll-my-5\.5{ + scroll-margin-top: 1.30rem; + scroll-margin-bottom: 1.30rem; +} +.scroll-my-9\.5{ + scroll-margin-top: 2.45rem; + scroll-margin-bottom: 2.45rem; +} +.scroll-my-12\.5{ + scroll-margin-top: 3.2rem; + scroll-margin-bottom: 3.2rem; +} +.scroll-my-32\.5{ + scroll-margin-top: 8.5rem; + scroll-margin-bottom: 8.5rem; +} +.-scroll-my-0{ + scroll-margin-top: -0px; + scroll-margin-bottom: -0px; +} +.-scroll-my-1{ + scroll-margin-top: -0.25rem; + scroll-margin-bottom: -0.25rem; +} +.-scroll-my-2{ + scroll-margin-top: -0.5rem; + scroll-margin-bottom: -0.5rem; +} +.-scroll-my-3{ + scroll-margin-top: -0.75rem; + scroll-margin-bottom: -0.75rem; +} +.-scroll-my-4{ + scroll-margin-top: -1rem; + scroll-margin-bottom: -1rem; +} +.-scroll-my-5{ + scroll-margin-top: -1.25rem; + scroll-margin-bottom: -1.25rem; +} +.-scroll-my-6{ + scroll-margin-top: -1.5rem; + scroll-margin-bottom: -1.5rem; +} +.-scroll-my-7{ + scroll-margin-top: -1.75rem; + scroll-margin-bottom: -1.75rem; +} +.-scroll-my-8{ + scroll-margin-top: -2rem; + scroll-margin-bottom: -2rem; +} +.-scroll-my-9{ + scroll-margin-top: -2.25rem; + scroll-margin-bottom: -2.25rem; +} +.-scroll-my-10{ + scroll-margin-top: -2.5rem; + scroll-margin-bottom: -2.5rem; +} +.-scroll-my-11{ + scroll-margin-top: -2.75rem; + scroll-margin-bottom: -2.75rem; +} +.-scroll-my-12{ + scroll-margin-top: -3rem; + scroll-margin-bottom: -3rem; +} +.-scroll-my-14{ + scroll-margin-top: -3.5rem; + scroll-margin-bottom: -3.5rem; +} +.-scroll-my-16{ + scroll-margin-top: -4rem; + scroll-margin-bottom: -4rem; +} +.-scroll-my-20{ + scroll-margin-top: -5rem; + scroll-margin-bottom: -5rem; +} +.-scroll-my-24{ + scroll-margin-top: -6rem; + scroll-margin-bottom: -6rem; +} +.-scroll-my-28{ + scroll-margin-top: -7rem; + scroll-margin-bottom: -7rem; +} +.-scroll-my-31{ + scroll-margin-top: -30.938rem; + scroll-margin-bottom: -30.938rem; +} +.-scroll-my-32{ + scroll-margin-top: -8rem; + scroll-margin-bottom: -8rem; +} +.-scroll-my-33{ + scroll-margin-top: -8.5rem; + scroll-margin-bottom: -8.5rem; +} +.-scroll-my-36{ + scroll-margin-top: -9rem; + scroll-margin-bottom: -9rem; +} +.-scroll-my-37{ + scroll-margin-top: -9.25rem; + scroll-margin-bottom: -9.25rem; +} +.-scroll-my-40{ + scroll-margin-top: -10rem; + scroll-margin-bottom: -10rem; +} +.-scroll-my-44{ + scroll-margin-top: -11rem; + scroll-margin-bottom: -11rem; +} +.-scroll-my-46{ + scroll-margin-top: -46.875rem; + scroll-margin-bottom: -46.875rem; +} +.-scroll-my-48{ + scroll-margin-top: -12rem; + scroll-margin-bottom: -12rem; +} +.-scroll-my-52{ + scroll-margin-top: -13rem; + scroll-margin-bottom: -13rem; +} +.-scroll-my-56{ + scroll-margin-top: -14rem; + scroll-margin-bottom: -14rem; +} +.-scroll-my-60{ + scroll-margin-top: -15rem; + scroll-margin-bottom: -15rem; +} +.-scroll-my-64{ + scroll-margin-top: -16rem; + scroll-margin-bottom: -16rem; +} +.-scroll-my-72{ + scroll-margin-top: -18rem; + scroll-margin-bottom: -18rem; +} +.-scroll-my-80{ + scroll-margin-top: -20rem; + scroll-margin-bottom: -20rem; +} +.-scroll-my-96{ + scroll-margin-top: -24rem; + scroll-margin-bottom: -24rem; +} +.-scroll-my-px{ + scroll-margin-top: -1px; + scroll-margin-bottom: -1px; +} +.-scroll-my-0\.5{ + scroll-margin-top: -0.125rem; + scroll-margin-bottom: -0.125rem; +} +.-scroll-my-1\.5{ + scroll-margin-top: -0.375rem; + scroll-margin-bottom: -0.375rem; +} +.-scroll-my-2\.5{ + scroll-margin-top: -0.625rem; + scroll-margin-bottom: -0.625rem; +} +.-scroll-my-3\.5{ + scroll-margin-top: -0.875rem; + scroll-margin-bottom: -0.875rem; +} +.-scroll-my-modal{ + scroll-margin-top: -610px; + scroll-margin-bottom: -610px; +} +.-scroll-my-5\.5{ + scroll-margin-top: -1.30rem; + scroll-margin-bottom: -1.30rem; +} +.-scroll-my-9\.5{ + scroll-margin-top: -2.45rem; + scroll-margin-bottom: -2.45rem; +} +.-scroll-my-12\.5{ + scroll-margin-top: -3.2rem; + scroll-margin-bottom: -3.2rem; +} +.-scroll-my-32\.5{ + scroll-margin-top: -8.5rem; + scroll-margin-bottom: -8.5rem; +} +.scroll-mt-0{ + scroll-margin-top: 0px; +} +.scroll-mt-1{ + scroll-margin-top: 0.25rem; +} +.scroll-mt-2{ + scroll-margin-top: 0.5rem; +} +.scroll-mt-3{ + scroll-margin-top: 0.75rem; +} +.scroll-mt-4{ + scroll-margin-top: 1rem; +} +.scroll-mt-5{ + scroll-margin-top: 1.25rem; +} +.scroll-mt-6{ + scroll-margin-top: 1.5rem; +} +.scroll-mt-7{ + scroll-margin-top: 1.75rem; +} +.scroll-mt-8{ + scroll-margin-top: 2rem; +} +.scroll-mt-9{ + scroll-margin-top: 2.25rem; +} +.scroll-mt-10{ + scroll-margin-top: 2.5rem; +} +.scroll-mt-11{ + scroll-margin-top: 2.75rem; +} +.scroll-mt-12{ + scroll-margin-top: 3rem; +} +.scroll-mt-14{ + scroll-margin-top: 3.5rem; +} +.scroll-mt-16{ + scroll-margin-top: 4rem; +} +.scroll-mt-20{ + scroll-margin-top: 5rem; +} +.scroll-mt-24{ + scroll-margin-top: 6rem; +} +.scroll-mt-28{ + scroll-margin-top: 7rem; +} +.scroll-mt-31{ + scroll-margin-top: 30.938rem; +} +.scroll-mt-32{ + scroll-margin-top: 8rem; +} +.scroll-mt-33{ + scroll-margin-top: 8.5rem; +} +.scroll-mt-36{ + scroll-margin-top: 9rem; +} +.scroll-mt-37{ + scroll-margin-top: 9.25rem; +} +.scroll-mt-40{ + scroll-margin-top: 10rem; +} +.scroll-mt-44{ + scroll-margin-top: 11rem; +} +.scroll-mt-46{ + scroll-margin-top: 46.875rem; +} +.scroll-mt-48{ + scroll-margin-top: 12rem; +} +.scroll-mt-52{ + scroll-margin-top: 13rem; +} +.scroll-mt-56{ + scroll-margin-top: 14rem; +} +.scroll-mt-60{ + scroll-margin-top: 15rem; +} +.scroll-mt-64{ + scroll-margin-top: 16rem; +} +.scroll-mt-72{ + scroll-margin-top: 18rem; +} +.scroll-mt-80{ + scroll-margin-top: 20rem; +} +.scroll-mt-96{ + scroll-margin-top: 24rem; +} +.scroll-mt-px{ + scroll-margin-top: 1px; +} +.scroll-mt-0\.5{ + scroll-margin-top: 0.125rem; +} +.scroll-mt-1\.5{ + scroll-margin-top: 0.375rem; +} +.scroll-mt-2\.5{ + scroll-margin-top: 0.625rem; +} +.scroll-mt-3\.5{ + scroll-margin-top: 0.875rem; +} +.scroll-mt-modal{ + scroll-margin-top: 610px; +} +.scroll-mt-5\.5{ + scroll-margin-top: 1.30rem; +} +.scroll-mt-9\.5{ + scroll-margin-top: 2.45rem; +} +.scroll-mt-12\.5{ + scroll-margin-top: 3.2rem; +} +.scroll-mt-32\.5{ + scroll-margin-top: 8.5rem; +} +.-scroll-mt-0{ + scroll-margin-top: -0px; +} +.-scroll-mt-1{ + scroll-margin-top: -0.25rem; +} +.-scroll-mt-2{ + scroll-margin-top: -0.5rem; +} +.-scroll-mt-3{ + scroll-margin-top: -0.75rem; +} +.-scroll-mt-4{ + scroll-margin-top: -1rem; +} +.-scroll-mt-5{ + scroll-margin-top: -1.25rem; +} +.-scroll-mt-6{ + scroll-margin-top: -1.5rem; +} +.-scroll-mt-7{ + scroll-margin-top: -1.75rem; +} +.-scroll-mt-8{ + scroll-margin-top: -2rem; +} +.-scroll-mt-9{ + scroll-margin-top: -2.25rem; +} +.-scroll-mt-10{ + scroll-margin-top: -2.5rem; +} +.-scroll-mt-11{ + scroll-margin-top: -2.75rem; +} +.-scroll-mt-12{ + scroll-margin-top: -3rem; +} +.-scroll-mt-14{ + scroll-margin-top: -3.5rem; +} +.-scroll-mt-16{ + scroll-margin-top: -4rem; +} +.-scroll-mt-20{ + scroll-margin-top: -5rem; +} +.-scroll-mt-24{ + scroll-margin-top: -6rem; +} +.-scroll-mt-28{ + scroll-margin-top: -7rem; +} +.-scroll-mt-31{ + scroll-margin-top: -30.938rem; +} +.-scroll-mt-32{ + scroll-margin-top: -8rem; +} +.-scroll-mt-33{ + scroll-margin-top: -8.5rem; +} +.-scroll-mt-36{ + scroll-margin-top: -9rem; +} +.-scroll-mt-37{ + scroll-margin-top: -9.25rem; +} +.-scroll-mt-40{ + scroll-margin-top: -10rem; +} +.-scroll-mt-44{ + scroll-margin-top: -11rem; +} +.-scroll-mt-46{ + scroll-margin-top: -46.875rem; +} +.-scroll-mt-48{ + scroll-margin-top: -12rem; +} +.-scroll-mt-52{ + scroll-margin-top: -13rem; +} +.-scroll-mt-56{ + scroll-margin-top: -14rem; +} +.-scroll-mt-60{ + scroll-margin-top: -15rem; +} +.-scroll-mt-64{ + scroll-margin-top: -16rem; +} +.-scroll-mt-72{ + scroll-margin-top: -18rem; +} +.-scroll-mt-80{ + scroll-margin-top: -20rem; +} +.-scroll-mt-96{ + scroll-margin-top: -24rem; +} +.-scroll-mt-px{ + scroll-margin-top: -1px; +} +.-scroll-mt-0\.5{ + scroll-margin-top: -0.125rem; +} +.-scroll-mt-1\.5{ + scroll-margin-top: -0.375rem; +} +.-scroll-mt-2\.5{ + scroll-margin-top: -0.625rem; +} +.-scroll-mt-3\.5{ + scroll-margin-top: -0.875rem; +} +.-scroll-mt-modal{ + scroll-margin-top: -610px; +} +.-scroll-mt-5\.5{ + scroll-margin-top: -1.30rem; +} +.-scroll-mt-9\.5{ + scroll-margin-top: -2.45rem; +} +.-scroll-mt-12\.5{ + scroll-margin-top: -3.2rem; +} +.-scroll-mt-32\.5{ + scroll-margin-top: -8.5rem; +} +.scroll-mr-0{ + scroll-margin-right: 0px; +} +.scroll-mr-1{ + scroll-margin-right: 0.25rem; +} +.scroll-mr-2{ + scroll-margin-right: 0.5rem; +} +.scroll-mr-3{ + scroll-margin-right: 0.75rem; +} +.scroll-mr-4{ + scroll-margin-right: 1rem; +} +.scroll-mr-5{ + scroll-margin-right: 1.25rem; +} +.scroll-mr-6{ + scroll-margin-right: 1.5rem; +} +.scroll-mr-7{ + scroll-margin-right: 1.75rem; +} +.scroll-mr-8{ + scroll-margin-right: 2rem; +} +.scroll-mr-9{ + scroll-margin-right: 2.25rem; +} +.scroll-mr-10{ + scroll-margin-right: 2.5rem; +} +.scroll-mr-11{ + scroll-margin-right: 2.75rem; +} +.scroll-mr-12{ + scroll-margin-right: 3rem; +} +.scroll-mr-14{ + scroll-margin-right: 3.5rem; +} +.scroll-mr-16{ + scroll-margin-right: 4rem; +} +.scroll-mr-20{ + scroll-margin-right: 5rem; +} +.scroll-mr-24{ + scroll-margin-right: 6rem; +} +.scroll-mr-28{ + scroll-margin-right: 7rem; +} +.scroll-mr-31{ + scroll-margin-right: 30.938rem; +} +.scroll-mr-32{ + scroll-margin-right: 8rem; +} +.scroll-mr-33{ + scroll-margin-right: 8.5rem; +} +.scroll-mr-36{ + scroll-margin-right: 9rem; +} +.scroll-mr-37{ + scroll-margin-right: 9.25rem; +} +.scroll-mr-40{ + scroll-margin-right: 10rem; +} +.scroll-mr-44{ + scroll-margin-right: 11rem; +} +.scroll-mr-46{ + scroll-margin-right: 46.875rem; +} +.scroll-mr-48{ + scroll-margin-right: 12rem; +} +.scroll-mr-52{ + scroll-margin-right: 13rem; +} +.scroll-mr-56{ + scroll-margin-right: 14rem; +} +.scroll-mr-60{ + scroll-margin-right: 15rem; +} +.scroll-mr-64{ + scroll-margin-right: 16rem; +} +.scroll-mr-72{ + scroll-margin-right: 18rem; +} +.scroll-mr-80{ + scroll-margin-right: 20rem; +} +.scroll-mr-96{ + scroll-margin-right: 24rem; +} +.scroll-mr-px{ + scroll-margin-right: 1px; +} +.scroll-mr-0\.5{ + scroll-margin-right: 0.125rem; +} +.scroll-mr-1\.5{ + scroll-margin-right: 0.375rem; +} +.scroll-mr-2\.5{ + scroll-margin-right: 0.625rem; +} +.scroll-mr-3\.5{ + scroll-margin-right: 0.875rem; +} +.scroll-mr-modal{ + scroll-margin-right: 610px; +} +.scroll-mr-5\.5{ + scroll-margin-right: 1.30rem; +} +.scroll-mr-9\.5{ + scroll-margin-right: 2.45rem; +} +.scroll-mr-12\.5{ + scroll-margin-right: 3.2rem; +} +.scroll-mr-32\.5{ + scroll-margin-right: 8.5rem; +} +.-scroll-mr-0{ + scroll-margin-right: -0px; +} +.-scroll-mr-1{ + scroll-margin-right: -0.25rem; +} +.-scroll-mr-2{ + scroll-margin-right: -0.5rem; +} +.-scroll-mr-3{ + scroll-margin-right: -0.75rem; +} +.-scroll-mr-4{ + scroll-margin-right: -1rem; +} +.-scroll-mr-5{ + scroll-margin-right: -1.25rem; +} +.-scroll-mr-6{ + scroll-margin-right: -1.5rem; +} +.-scroll-mr-7{ + scroll-margin-right: -1.75rem; +} +.-scroll-mr-8{ + scroll-margin-right: -2rem; +} +.-scroll-mr-9{ + scroll-margin-right: -2.25rem; +} +.-scroll-mr-10{ + scroll-margin-right: -2.5rem; +} +.-scroll-mr-11{ + scroll-margin-right: -2.75rem; +} +.-scroll-mr-12{ + scroll-margin-right: -3rem; +} +.-scroll-mr-14{ + scroll-margin-right: -3.5rem; +} +.-scroll-mr-16{ + scroll-margin-right: -4rem; +} +.-scroll-mr-20{ + scroll-margin-right: -5rem; +} +.-scroll-mr-24{ + scroll-margin-right: -6rem; +} +.-scroll-mr-28{ + scroll-margin-right: -7rem; +} +.-scroll-mr-31{ + scroll-margin-right: -30.938rem; +} +.-scroll-mr-32{ + scroll-margin-right: -8rem; +} +.-scroll-mr-33{ + scroll-margin-right: -8.5rem; +} +.-scroll-mr-36{ + scroll-margin-right: -9rem; +} +.-scroll-mr-37{ + scroll-margin-right: -9.25rem; +} +.-scroll-mr-40{ + scroll-margin-right: -10rem; +} +.-scroll-mr-44{ + scroll-margin-right: -11rem; +} +.-scroll-mr-46{ + scroll-margin-right: -46.875rem; +} +.-scroll-mr-48{ + scroll-margin-right: -12rem; +} +.-scroll-mr-52{ + scroll-margin-right: -13rem; +} +.-scroll-mr-56{ + scroll-margin-right: -14rem; +} +.-scroll-mr-60{ + scroll-margin-right: -15rem; +} +.-scroll-mr-64{ + scroll-margin-right: -16rem; +} +.-scroll-mr-72{ + scroll-margin-right: -18rem; +} +.-scroll-mr-80{ + scroll-margin-right: -20rem; +} +.-scroll-mr-96{ + scroll-margin-right: -24rem; +} +.-scroll-mr-px{ + scroll-margin-right: -1px; +} +.-scroll-mr-0\.5{ + scroll-margin-right: -0.125rem; +} +.-scroll-mr-1\.5{ + scroll-margin-right: -0.375rem; +} +.-scroll-mr-2\.5{ + scroll-margin-right: -0.625rem; +} +.-scroll-mr-3\.5{ + scroll-margin-right: -0.875rem; +} +.-scroll-mr-modal{ + scroll-margin-right: -610px; +} +.-scroll-mr-5\.5{ + scroll-margin-right: -1.30rem; +} +.-scroll-mr-9\.5{ + scroll-margin-right: -2.45rem; +} +.-scroll-mr-12\.5{ + scroll-margin-right: -3.2rem; +} +.-scroll-mr-32\.5{ + scroll-margin-right: -8.5rem; +} +.scroll-mb-0{ + scroll-margin-bottom: 0px; +} +.scroll-mb-1{ + scroll-margin-bottom: 0.25rem; +} +.scroll-mb-2{ + scroll-margin-bottom: 0.5rem; +} +.scroll-mb-3{ + scroll-margin-bottom: 0.75rem; +} +.scroll-mb-4{ + scroll-margin-bottom: 1rem; +} +.scroll-mb-5{ + scroll-margin-bottom: 1.25rem; +} +.scroll-mb-6{ + scroll-margin-bottom: 1.5rem; +} +.scroll-mb-7{ + scroll-margin-bottom: 1.75rem; +} +.scroll-mb-8{ + scroll-margin-bottom: 2rem; +} +.scroll-mb-9{ + scroll-margin-bottom: 2.25rem; +} +.scroll-mb-10{ + scroll-margin-bottom: 2.5rem; +} +.scroll-mb-11{ + scroll-margin-bottom: 2.75rem; +} +.scroll-mb-12{ + scroll-margin-bottom: 3rem; +} +.scroll-mb-14{ + scroll-margin-bottom: 3.5rem; +} +.scroll-mb-16{ + scroll-margin-bottom: 4rem; +} +.scroll-mb-20{ + scroll-margin-bottom: 5rem; +} +.scroll-mb-24{ + scroll-margin-bottom: 6rem; +} +.scroll-mb-28{ + scroll-margin-bottom: 7rem; +} +.scroll-mb-31{ + scroll-margin-bottom: 30.938rem; +} +.scroll-mb-32{ + scroll-margin-bottom: 8rem; +} +.scroll-mb-33{ + scroll-margin-bottom: 8.5rem; +} +.scroll-mb-36{ + scroll-margin-bottom: 9rem; +} +.scroll-mb-37{ + scroll-margin-bottom: 9.25rem; +} +.scroll-mb-40{ + scroll-margin-bottom: 10rem; +} +.scroll-mb-44{ + scroll-margin-bottom: 11rem; +} +.scroll-mb-46{ + scroll-margin-bottom: 46.875rem; +} +.scroll-mb-48{ + scroll-margin-bottom: 12rem; +} +.scroll-mb-52{ + scroll-margin-bottom: 13rem; +} +.scroll-mb-56{ + scroll-margin-bottom: 14rem; +} +.scroll-mb-60{ + scroll-margin-bottom: 15rem; +} +.scroll-mb-64{ + scroll-margin-bottom: 16rem; +} +.scroll-mb-72{ + scroll-margin-bottom: 18rem; +} +.scroll-mb-80{ + scroll-margin-bottom: 20rem; +} +.scroll-mb-96{ + scroll-margin-bottom: 24rem; +} +.scroll-mb-px{ + scroll-margin-bottom: 1px; +} +.scroll-mb-0\.5{ + scroll-margin-bottom: 0.125rem; +} +.scroll-mb-1\.5{ + scroll-margin-bottom: 0.375rem; +} +.scroll-mb-2\.5{ + scroll-margin-bottom: 0.625rem; +} +.scroll-mb-3\.5{ + scroll-margin-bottom: 0.875rem; +} +.scroll-mb-modal{ + scroll-margin-bottom: 610px; +} +.scroll-mb-5\.5{ + scroll-margin-bottom: 1.30rem; +} +.scroll-mb-9\.5{ + scroll-margin-bottom: 2.45rem; +} +.scroll-mb-12\.5{ + scroll-margin-bottom: 3.2rem; +} +.scroll-mb-32\.5{ + scroll-margin-bottom: 8.5rem; +} +.-scroll-mb-0{ + scroll-margin-bottom: -0px; +} +.-scroll-mb-1{ + scroll-margin-bottom: -0.25rem; +} +.-scroll-mb-2{ + scroll-margin-bottom: -0.5rem; +} +.-scroll-mb-3{ + scroll-margin-bottom: -0.75rem; +} +.-scroll-mb-4{ + scroll-margin-bottom: -1rem; +} +.-scroll-mb-5{ + scroll-margin-bottom: -1.25rem; +} +.-scroll-mb-6{ + scroll-margin-bottom: -1.5rem; +} +.-scroll-mb-7{ + scroll-margin-bottom: -1.75rem; +} +.-scroll-mb-8{ + scroll-margin-bottom: -2rem; +} +.-scroll-mb-9{ + scroll-margin-bottom: -2.25rem; +} +.-scroll-mb-10{ + scroll-margin-bottom: -2.5rem; +} +.-scroll-mb-11{ + scroll-margin-bottom: -2.75rem; +} +.-scroll-mb-12{ + scroll-margin-bottom: -3rem; +} +.-scroll-mb-14{ + scroll-margin-bottom: -3.5rem; +} +.-scroll-mb-16{ + scroll-margin-bottom: -4rem; +} +.-scroll-mb-20{ + scroll-margin-bottom: -5rem; +} +.-scroll-mb-24{ + scroll-margin-bottom: -6rem; +} +.-scroll-mb-28{ + scroll-margin-bottom: -7rem; +} +.-scroll-mb-31{ + scroll-margin-bottom: -30.938rem; +} +.-scroll-mb-32{ + scroll-margin-bottom: -8rem; +} +.-scroll-mb-33{ + scroll-margin-bottom: -8.5rem; +} +.-scroll-mb-36{ + scroll-margin-bottom: -9rem; +} +.-scroll-mb-37{ + scroll-margin-bottom: -9.25rem; +} +.-scroll-mb-40{ + scroll-margin-bottom: -10rem; +} +.-scroll-mb-44{ + scroll-margin-bottom: -11rem; +} +.-scroll-mb-46{ + scroll-margin-bottom: -46.875rem; +} +.-scroll-mb-48{ + scroll-margin-bottom: -12rem; +} +.-scroll-mb-52{ + scroll-margin-bottom: -13rem; +} +.-scroll-mb-56{ + scroll-margin-bottom: -14rem; +} +.-scroll-mb-60{ + scroll-margin-bottom: -15rem; +} +.-scroll-mb-64{ + scroll-margin-bottom: -16rem; +} +.-scroll-mb-72{ + scroll-margin-bottom: -18rem; +} +.-scroll-mb-80{ + scroll-margin-bottom: -20rem; +} +.-scroll-mb-96{ + scroll-margin-bottom: -24rem; +} +.-scroll-mb-px{ + scroll-margin-bottom: -1px; +} +.-scroll-mb-0\.5{ + scroll-margin-bottom: -0.125rem; +} +.-scroll-mb-1\.5{ + scroll-margin-bottom: -0.375rem; +} +.-scroll-mb-2\.5{ + scroll-margin-bottom: -0.625rem; +} +.-scroll-mb-3\.5{ + scroll-margin-bottom: -0.875rem; +} +.-scroll-mb-modal{ + scroll-margin-bottom: -610px; +} +.-scroll-mb-5\.5{ + scroll-margin-bottom: -1.30rem; +} +.-scroll-mb-9\.5{ + scroll-margin-bottom: -2.45rem; +} +.-scroll-mb-12\.5{ + scroll-margin-bottom: -3.2rem; +} +.-scroll-mb-32\.5{ + scroll-margin-bottom: -8.5rem; +} +.scroll-ml-0{ + scroll-margin-left: 0px; +} +.scroll-ml-1{ + scroll-margin-left: 0.25rem; +} +.scroll-ml-2{ + scroll-margin-left: 0.5rem; +} +.scroll-ml-3{ + scroll-margin-left: 0.75rem; +} +.scroll-ml-4{ + scroll-margin-left: 1rem; +} +.scroll-ml-5{ + scroll-margin-left: 1.25rem; +} +.scroll-ml-6{ + scroll-margin-left: 1.5rem; +} +.scroll-ml-7{ + scroll-margin-left: 1.75rem; +} +.scroll-ml-8{ + scroll-margin-left: 2rem; +} +.scroll-ml-9{ + scroll-margin-left: 2.25rem; +} +.scroll-ml-10{ + scroll-margin-left: 2.5rem; +} +.scroll-ml-11{ + scroll-margin-left: 2.75rem; +} +.scroll-ml-12{ + scroll-margin-left: 3rem; +} +.scroll-ml-14{ + scroll-margin-left: 3.5rem; +} +.scroll-ml-16{ + scroll-margin-left: 4rem; +} +.scroll-ml-20{ + scroll-margin-left: 5rem; +} +.scroll-ml-24{ + scroll-margin-left: 6rem; +} +.scroll-ml-28{ + scroll-margin-left: 7rem; +} +.scroll-ml-31{ + scroll-margin-left: 30.938rem; +} +.scroll-ml-32{ + scroll-margin-left: 8rem; +} +.scroll-ml-33{ + scroll-margin-left: 8.5rem; +} +.scroll-ml-36{ + scroll-margin-left: 9rem; +} +.scroll-ml-37{ + scroll-margin-left: 9.25rem; +} +.scroll-ml-40{ + scroll-margin-left: 10rem; +} +.scroll-ml-44{ + scroll-margin-left: 11rem; +} +.scroll-ml-46{ + scroll-margin-left: 46.875rem; +} +.scroll-ml-48{ + scroll-margin-left: 12rem; +} +.scroll-ml-52{ + scroll-margin-left: 13rem; +} +.scroll-ml-56{ + scroll-margin-left: 14rem; +} +.scroll-ml-60{ + scroll-margin-left: 15rem; +} +.scroll-ml-64{ + scroll-margin-left: 16rem; +} +.scroll-ml-72{ + scroll-margin-left: 18rem; +} +.scroll-ml-80{ + scroll-margin-left: 20rem; +} +.scroll-ml-96{ + scroll-margin-left: 24rem; +} +.scroll-ml-px{ + scroll-margin-left: 1px; +} +.scroll-ml-0\.5{ + scroll-margin-left: 0.125rem; +} +.scroll-ml-1\.5{ + scroll-margin-left: 0.375rem; +} +.scroll-ml-2\.5{ + scroll-margin-left: 0.625rem; +} +.scroll-ml-3\.5{ + scroll-margin-left: 0.875rem; +} +.scroll-ml-modal{ + scroll-margin-left: 610px; +} +.scroll-ml-5\.5{ + scroll-margin-left: 1.30rem; +} +.scroll-ml-9\.5{ + scroll-margin-left: 2.45rem; +} +.scroll-ml-12\.5{ + scroll-margin-left: 3.2rem; +} +.scroll-ml-32\.5{ + scroll-margin-left: 8.5rem; +} +.-scroll-ml-0{ + scroll-margin-left: -0px; +} +.-scroll-ml-1{ + scroll-margin-left: -0.25rem; +} +.-scroll-ml-2{ + scroll-margin-left: -0.5rem; +} +.-scroll-ml-3{ + scroll-margin-left: -0.75rem; +} +.-scroll-ml-4{ + scroll-margin-left: -1rem; +} +.-scroll-ml-5{ + scroll-margin-left: -1.25rem; +} +.-scroll-ml-6{ + scroll-margin-left: -1.5rem; +} +.-scroll-ml-7{ + scroll-margin-left: -1.75rem; +} +.-scroll-ml-8{ + scroll-margin-left: -2rem; +} +.-scroll-ml-9{ + scroll-margin-left: -2.25rem; +} +.-scroll-ml-10{ + scroll-margin-left: -2.5rem; +} +.-scroll-ml-11{ + scroll-margin-left: -2.75rem; +} +.-scroll-ml-12{ + scroll-margin-left: -3rem; +} +.-scroll-ml-14{ + scroll-margin-left: -3.5rem; +} +.-scroll-ml-16{ + scroll-margin-left: -4rem; +} +.-scroll-ml-20{ + scroll-margin-left: -5rem; +} +.-scroll-ml-24{ + scroll-margin-left: -6rem; +} +.-scroll-ml-28{ + scroll-margin-left: -7rem; +} +.-scroll-ml-31{ + scroll-margin-left: -30.938rem; +} +.-scroll-ml-32{ + scroll-margin-left: -8rem; +} +.-scroll-ml-33{ + scroll-margin-left: -8.5rem; +} +.-scroll-ml-36{ + scroll-margin-left: -9rem; +} +.-scroll-ml-37{ + scroll-margin-left: -9.25rem; +} +.-scroll-ml-40{ + scroll-margin-left: -10rem; +} +.-scroll-ml-44{ + scroll-margin-left: -11rem; +} +.-scroll-ml-46{ + scroll-margin-left: -46.875rem; +} +.-scroll-ml-48{ + scroll-margin-left: -12rem; +} +.-scroll-ml-52{ + scroll-margin-left: -13rem; +} +.-scroll-ml-56{ + scroll-margin-left: -14rem; +} +.-scroll-ml-60{ + scroll-margin-left: -15rem; +} +.-scroll-ml-64{ + scroll-margin-left: -16rem; +} +.-scroll-ml-72{ + scroll-margin-left: -18rem; +} +.-scroll-ml-80{ + scroll-margin-left: -20rem; +} +.-scroll-ml-96{ + scroll-margin-left: -24rem; +} +.-scroll-ml-px{ + scroll-margin-left: -1px; +} +.-scroll-ml-0\.5{ + scroll-margin-left: -0.125rem; +} +.-scroll-ml-1\.5{ + scroll-margin-left: -0.375rem; +} +.-scroll-ml-2\.5{ + scroll-margin-left: -0.625rem; +} +.-scroll-ml-3\.5{ + scroll-margin-left: -0.875rem; +} +.-scroll-ml-modal{ + scroll-margin-left: -610px; +} +.-scroll-ml-5\.5{ + scroll-margin-left: -1.30rem; +} +.-scroll-ml-9\.5{ + scroll-margin-left: -2.45rem; +} +.-scroll-ml-12\.5{ + scroll-margin-left: -3.2rem; +} +.-scroll-ml-32\.5{ + scroll-margin-left: -8.5rem; +} +.scroll-p-0{ + scroll-padding: 0px; +} +.scroll-p-1{ + scroll-padding: 0.25rem; +} +.scroll-p-2{ + scroll-padding: 0.5rem; +} +.scroll-p-3{ + scroll-padding: 0.75rem; +} +.scroll-p-4{ + scroll-padding: 1rem; +} +.scroll-p-5{ + scroll-padding: 1.25rem; +} +.scroll-p-6{ + scroll-padding: 1.5rem; +} +.scroll-p-7{ + scroll-padding: 1.75rem; +} +.scroll-p-8{ + scroll-padding: 2rem; +} +.scroll-p-9{ + scroll-padding: 2.25rem; +} +.scroll-p-10{ + scroll-padding: 2.5rem; +} +.scroll-p-11{ + scroll-padding: 2.75rem; +} +.scroll-p-12{ + scroll-padding: 3rem; +} +.scroll-p-14{ + scroll-padding: 3.5rem; +} +.scroll-p-16{ + scroll-padding: 4rem; +} +.scroll-p-20{ + scroll-padding: 5rem; +} +.scroll-p-24{ + scroll-padding: 6rem; +} +.scroll-p-28{ + scroll-padding: 7rem; +} +.scroll-p-31{ + scroll-padding: 30.938rem; +} +.scroll-p-32{ + scroll-padding: 8rem; +} +.scroll-p-33{ + scroll-padding: 8.5rem; +} +.scroll-p-36{ + scroll-padding: 9rem; +} +.scroll-p-37{ + scroll-padding: 9.25rem; +} +.scroll-p-40{ + scroll-padding: 10rem; +} +.scroll-p-44{ + scroll-padding: 11rem; +} +.scroll-p-46{ + scroll-padding: 46.875rem; +} +.scroll-p-48{ + scroll-padding: 12rem; +} +.scroll-p-52{ + scroll-padding: 13rem; +} +.scroll-p-56{ + scroll-padding: 14rem; +} +.scroll-p-60{ + scroll-padding: 15rem; +} +.scroll-p-64{ + scroll-padding: 16rem; +} +.scroll-p-72{ + scroll-padding: 18rem; +} +.scroll-p-80{ + scroll-padding: 20rem; +} +.scroll-p-96{ + scroll-padding: 24rem; +} +.scroll-p-px{ + scroll-padding: 1px; +} +.scroll-p-0\.5{ + scroll-padding: 0.125rem; +} +.scroll-p-1\.5{ + scroll-padding: 0.375rem; +} +.scroll-p-2\.5{ + scroll-padding: 0.625rem; +} +.scroll-p-3\.5{ + scroll-padding: 0.875rem; +} +.scroll-p-modal{ + scroll-padding: 610px; +} +.scroll-p-5\.5{ + scroll-padding: 1.30rem; +} +.scroll-p-9\.5{ + scroll-padding: 2.45rem; +} +.scroll-p-12\.5{ + scroll-padding: 3.2rem; +} +.scroll-p-32\.5{ + scroll-padding: 8.5rem; +} +.scroll-px-0{ + scroll-padding-left: 0px; + scroll-padding-right: 0px; +} +.scroll-px-1{ + scroll-padding-left: 0.25rem; + scroll-padding-right: 0.25rem; +} +.scroll-px-2{ + scroll-padding-left: 0.5rem; + scroll-padding-right: 0.5rem; +} +.scroll-px-3{ + scroll-padding-left: 0.75rem; + scroll-padding-right: 0.75rem; +} +.scroll-px-4{ + scroll-padding-left: 1rem; + scroll-padding-right: 1rem; +} +.scroll-px-5{ + scroll-padding-left: 1.25rem; + scroll-padding-right: 1.25rem; +} +.scroll-px-6{ + scroll-padding-left: 1.5rem; + scroll-padding-right: 1.5rem; +} +.scroll-px-7{ + scroll-padding-left: 1.75rem; + scroll-padding-right: 1.75rem; +} +.scroll-px-8{ + scroll-padding-left: 2rem; + scroll-padding-right: 2rem; +} +.scroll-px-9{ + scroll-padding-left: 2.25rem; + scroll-padding-right: 2.25rem; +} +.scroll-px-10{ + scroll-padding-left: 2.5rem; + scroll-padding-right: 2.5rem; +} +.scroll-px-11{ + scroll-padding-left: 2.75rem; + scroll-padding-right: 2.75rem; +} +.scroll-px-12{ + scroll-padding-left: 3rem; + scroll-padding-right: 3rem; +} +.scroll-px-14{ + scroll-padding-left: 3.5rem; + scroll-padding-right: 3.5rem; +} +.scroll-px-16{ + scroll-padding-left: 4rem; + scroll-padding-right: 4rem; +} +.scroll-px-20{ + scroll-padding-left: 5rem; + scroll-padding-right: 5rem; +} +.scroll-px-24{ + scroll-padding-left: 6rem; + scroll-padding-right: 6rem; +} +.scroll-px-28{ + scroll-padding-left: 7rem; + scroll-padding-right: 7rem; +} +.scroll-px-31{ + scroll-padding-left: 30.938rem; + scroll-padding-right: 30.938rem; +} +.scroll-px-32{ + scroll-padding-left: 8rem; + scroll-padding-right: 8rem; +} +.scroll-px-33{ + scroll-padding-left: 8.5rem; + scroll-padding-right: 8.5rem; +} +.scroll-px-36{ + scroll-padding-left: 9rem; + scroll-padding-right: 9rem; +} +.scroll-px-37{ + scroll-padding-left: 9.25rem; + scroll-padding-right: 9.25rem; +} +.scroll-px-40{ + scroll-padding-left: 10rem; + scroll-padding-right: 10rem; +} +.scroll-px-44{ + scroll-padding-left: 11rem; + scroll-padding-right: 11rem; +} +.scroll-px-46{ + scroll-padding-left: 46.875rem; + scroll-padding-right: 46.875rem; +} +.scroll-px-48{ + scroll-padding-left: 12rem; + scroll-padding-right: 12rem; +} +.scroll-px-52{ + scroll-padding-left: 13rem; + scroll-padding-right: 13rem; +} +.scroll-px-56{ + scroll-padding-left: 14rem; + scroll-padding-right: 14rem; +} +.scroll-px-60{ + scroll-padding-left: 15rem; + scroll-padding-right: 15rem; +} +.scroll-px-64{ + scroll-padding-left: 16rem; + scroll-padding-right: 16rem; +} +.scroll-px-72{ + scroll-padding-left: 18rem; + scroll-padding-right: 18rem; +} +.scroll-px-80{ + scroll-padding-left: 20rem; + scroll-padding-right: 20rem; +} +.scroll-px-96{ + scroll-padding-left: 24rem; + scroll-padding-right: 24rem; +} +.scroll-px-px{ + scroll-padding-left: 1px; + scroll-padding-right: 1px; +} +.scroll-px-0\.5{ + scroll-padding-left: 0.125rem; + scroll-padding-right: 0.125rem; +} +.scroll-px-1\.5{ + scroll-padding-left: 0.375rem; + scroll-padding-right: 0.375rem; +} +.scroll-px-2\.5{ + scroll-padding-left: 0.625rem; + scroll-padding-right: 0.625rem; +} +.scroll-px-3\.5{ + scroll-padding-left: 0.875rem; + scroll-padding-right: 0.875rem; +} +.scroll-px-modal{ + scroll-padding-left: 610px; + scroll-padding-right: 610px; +} +.scroll-px-5\.5{ + scroll-padding-left: 1.30rem; + scroll-padding-right: 1.30rem; +} +.scroll-px-9\.5{ + scroll-padding-left: 2.45rem; + scroll-padding-right: 2.45rem; +} +.scroll-px-12\.5{ + scroll-padding-left: 3.2rem; + scroll-padding-right: 3.2rem; +} +.scroll-px-32\.5{ + scroll-padding-left: 8.5rem; + scroll-padding-right: 8.5rem; +} +.scroll-py-0{ + scroll-padding-top: 0px; + scroll-padding-bottom: 0px; +} +.scroll-py-1{ + scroll-padding-top: 0.25rem; + scroll-padding-bottom: 0.25rem; +} +.scroll-py-2{ + scroll-padding-top: 0.5rem; + scroll-padding-bottom: 0.5rem; +} +.scroll-py-3{ + scroll-padding-top: 0.75rem; + scroll-padding-bottom: 0.75rem; +} +.scroll-py-4{ + scroll-padding-top: 1rem; + scroll-padding-bottom: 1rem; +} +.scroll-py-5{ + scroll-padding-top: 1.25rem; + scroll-padding-bottom: 1.25rem; +} +.scroll-py-6{ + scroll-padding-top: 1.5rem; + scroll-padding-bottom: 1.5rem; +} +.scroll-py-7{ + scroll-padding-top: 1.75rem; + scroll-padding-bottom: 1.75rem; +} +.scroll-py-8{ + scroll-padding-top: 2rem; + scroll-padding-bottom: 2rem; +} +.scroll-py-9{ + scroll-padding-top: 2.25rem; + scroll-padding-bottom: 2.25rem; +} +.scroll-py-10{ + scroll-padding-top: 2.5rem; + scroll-padding-bottom: 2.5rem; +} +.scroll-py-11{ + scroll-padding-top: 2.75rem; + scroll-padding-bottom: 2.75rem; +} +.scroll-py-12{ + scroll-padding-top: 3rem; + scroll-padding-bottom: 3rem; +} +.scroll-py-14{ + scroll-padding-top: 3.5rem; + scroll-padding-bottom: 3.5rem; +} +.scroll-py-16{ + scroll-padding-top: 4rem; + scroll-padding-bottom: 4rem; +} +.scroll-py-20{ + scroll-padding-top: 5rem; + scroll-padding-bottom: 5rem; +} +.scroll-py-24{ + scroll-padding-top: 6rem; + scroll-padding-bottom: 6rem; +} +.scroll-py-28{ + scroll-padding-top: 7rem; + scroll-padding-bottom: 7rem; +} +.scroll-py-31{ + scroll-padding-top: 30.938rem; + scroll-padding-bottom: 30.938rem; +} +.scroll-py-32{ + scroll-padding-top: 8rem; + scroll-padding-bottom: 8rem; +} +.scroll-py-33{ + scroll-padding-top: 8.5rem; + scroll-padding-bottom: 8.5rem; +} +.scroll-py-36{ + scroll-padding-top: 9rem; + scroll-padding-bottom: 9rem; +} +.scroll-py-37{ + scroll-padding-top: 9.25rem; + scroll-padding-bottom: 9.25rem; +} +.scroll-py-40{ + scroll-padding-top: 10rem; + scroll-padding-bottom: 10rem; +} +.scroll-py-44{ + scroll-padding-top: 11rem; + scroll-padding-bottom: 11rem; +} +.scroll-py-46{ + scroll-padding-top: 46.875rem; + scroll-padding-bottom: 46.875rem; +} +.scroll-py-48{ + scroll-padding-top: 12rem; + scroll-padding-bottom: 12rem; +} +.scroll-py-52{ + scroll-padding-top: 13rem; + scroll-padding-bottom: 13rem; +} +.scroll-py-56{ + scroll-padding-top: 14rem; + scroll-padding-bottom: 14rem; +} +.scroll-py-60{ + scroll-padding-top: 15rem; + scroll-padding-bottom: 15rem; +} +.scroll-py-64{ + scroll-padding-top: 16rem; + scroll-padding-bottom: 16rem; +} +.scroll-py-72{ + scroll-padding-top: 18rem; + scroll-padding-bottom: 18rem; +} +.scroll-py-80{ + scroll-padding-top: 20rem; + scroll-padding-bottom: 20rem; +} +.scroll-py-96{ + scroll-padding-top: 24rem; + scroll-padding-bottom: 24rem; +} +.scroll-py-px{ + scroll-padding-top: 1px; + scroll-padding-bottom: 1px; +} +.scroll-py-0\.5{ + scroll-padding-top: 0.125rem; + scroll-padding-bottom: 0.125rem; +} +.scroll-py-1\.5{ + scroll-padding-top: 0.375rem; + scroll-padding-bottom: 0.375rem; +} +.scroll-py-2\.5{ + scroll-padding-top: 0.625rem; + scroll-padding-bottom: 0.625rem; +} +.scroll-py-3\.5{ + scroll-padding-top: 0.875rem; + scroll-padding-bottom: 0.875rem; +} +.scroll-py-modal{ + scroll-padding-top: 610px; + scroll-padding-bottom: 610px; +} +.scroll-py-5\.5{ + scroll-padding-top: 1.30rem; + scroll-padding-bottom: 1.30rem; +} +.scroll-py-9\.5{ + scroll-padding-top: 2.45rem; + scroll-padding-bottom: 2.45rem; +} +.scroll-py-12\.5{ + scroll-padding-top: 3.2rem; + scroll-padding-bottom: 3.2rem; +} +.scroll-py-32\.5{ + scroll-padding-top: 8.5rem; + scroll-padding-bottom: 8.5rem; +} +.scroll-pt-0{ + scroll-padding-top: 0px; +} +.scroll-pt-1{ + scroll-padding-top: 0.25rem; +} +.scroll-pt-2{ + scroll-padding-top: 0.5rem; +} +.scroll-pt-3{ + scroll-padding-top: 0.75rem; +} +.scroll-pt-4{ + scroll-padding-top: 1rem; +} +.scroll-pt-5{ + scroll-padding-top: 1.25rem; +} +.scroll-pt-6{ + scroll-padding-top: 1.5rem; +} +.scroll-pt-7{ + scroll-padding-top: 1.75rem; +} +.scroll-pt-8{ + scroll-padding-top: 2rem; +} +.scroll-pt-9{ + scroll-padding-top: 2.25rem; +} +.scroll-pt-10{ + scroll-padding-top: 2.5rem; +} +.scroll-pt-11{ + scroll-padding-top: 2.75rem; +} +.scroll-pt-12{ + scroll-padding-top: 3rem; +} +.scroll-pt-14{ + scroll-padding-top: 3.5rem; +} +.scroll-pt-16{ + scroll-padding-top: 4rem; +} +.scroll-pt-20{ + scroll-padding-top: 5rem; +} +.scroll-pt-24{ + scroll-padding-top: 6rem; +} +.scroll-pt-28{ + scroll-padding-top: 7rem; +} +.scroll-pt-31{ + scroll-padding-top: 30.938rem; +} +.scroll-pt-32{ + scroll-padding-top: 8rem; +} +.scroll-pt-33{ + scroll-padding-top: 8.5rem; +} +.scroll-pt-36{ + scroll-padding-top: 9rem; +} +.scroll-pt-37{ + scroll-padding-top: 9.25rem; +} +.scroll-pt-40{ + scroll-padding-top: 10rem; +} +.scroll-pt-44{ + scroll-padding-top: 11rem; +} +.scroll-pt-46{ + scroll-padding-top: 46.875rem; +} +.scroll-pt-48{ + scroll-padding-top: 12rem; +} +.scroll-pt-52{ + scroll-padding-top: 13rem; +} +.scroll-pt-56{ + scroll-padding-top: 14rem; +} +.scroll-pt-60{ + scroll-padding-top: 15rem; +} +.scroll-pt-64{ + scroll-padding-top: 16rem; +} +.scroll-pt-72{ + scroll-padding-top: 18rem; +} +.scroll-pt-80{ + scroll-padding-top: 20rem; +} +.scroll-pt-96{ + scroll-padding-top: 24rem; +} +.scroll-pt-px{ + scroll-padding-top: 1px; +} +.scroll-pt-0\.5{ + scroll-padding-top: 0.125rem; +} +.scroll-pt-1\.5{ + scroll-padding-top: 0.375rem; +} +.scroll-pt-2\.5{ + scroll-padding-top: 0.625rem; +} +.scroll-pt-3\.5{ + scroll-padding-top: 0.875rem; +} +.scroll-pt-modal{ + scroll-padding-top: 610px; +} +.scroll-pt-5\.5{ + scroll-padding-top: 1.30rem; +} +.scroll-pt-9\.5{ + scroll-padding-top: 2.45rem; +} +.scroll-pt-12\.5{ + scroll-padding-top: 3.2rem; +} +.scroll-pt-32\.5{ + scroll-padding-top: 8.5rem; +} +.scroll-pr-0{ + scroll-padding-right: 0px; +} +.scroll-pr-1{ + scroll-padding-right: 0.25rem; +} +.scroll-pr-2{ + scroll-padding-right: 0.5rem; +} +.scroll-pr-3{ + scroll-padding-right: 0.75rem; +} +.scroll-pr-4{ + scroll-padding-right: 1rem; +} +.scroll-pr-5{ + scroll-padding-right: 1.25rem; +} +.scroll-pr-6{ + scroll-padding-right: 1.5rem; +} +.scroll-pr-7{ + scroll-padding-right: 1.75rem; +} +.scroll-pr-8{ + scroll-padding-right: 2rem; +} +.scroll-pr-9{ + scroll-padding-right: 2.25rem; +} +.scroll-pr-10{ + scroll-padding-right: 2.5rem; +} +.scroll-pr-11{ + scroll-padding-right: 2.75rem; +} +.scroll-pr-12{ + scroll-padding-right: 3rem; +} +.scroll-pr-14{ + scroll-padding-right: 3.5rem; +} +.scroll-pr-16{ + scroll-padding-right: 4rem; +} +.scroll-pr-20{ + scroll-padding-right: 5rem; +} +.scroll-pr-24{ + scroll-padding-right: 6rem; +} +.scroll-pr-28{ + scroll-padding-right: 7rem; +} +.scroll-pr-31{ + scroll-padding-right: 30.938rem; +} +.scroll-pr-32{ + scroll-padding-right: 8rem; +} +.scroll-pr-33{ + scroll-padding-right: 8.5rem; +} +.scroll-pr-36{ + scroll-padding-right: 9rem; +} +.scroll-pr-37{ + scroll-padding-right: 9.25rem; +} +.scroll-pr-40{ + scroll-padding-right: 10rem; +} +.scroll-pr-44{ + scroll-padding-right: 11rem; +} +.scroll-pr-46{ + scroll-padding-right: 46.875rem; +} +.scroll-pr-48{ + scroll-padding-right: 12rem; +} +.scroll-pr-52{ + scroll-padding-right: 13rem; +} +.scroll-pr-56{ + scroll-padding-right: 14rem; +} +.scroll-pr-60{ + scroll-padding-right: 15rem; +} +.scroll-pr-64{ + scroll-padding-right: 16rem; +} +.scroll-pr-72{ + scroll-padding-right: 18rem; +} +.scroll-pr-80{ + scroll-padding-right: 20rem; +} +.scroll-pr-96{ + scroll-padding-right: 24rem; +} +.scroll-pr-px{ + scroll-padding-right: 1px; +} +.scroll-pr-0\.5{ + scroll-padding-right: 0.125rem; +} +.scroll-pr-1\.5{ + scroll-padding-right: 0.375rem; +} +.scroll-pr-2\.5{ + scroll-padding-right: 0.625rem; +} +.scroll-pr-3\.5{ + scroll-padding-right: 0.875rem; +} +.scroll-pr-modal{ + scroll-padding-right: 610px; +} +.scroll-pr-5\.5{ + scroll-padding-right: 1.30rem; +} +.scroll-pr-9\.5{ + scroll-padding-right: 2.45rem; +} +.scroll-pr-12\.5{ + scroll-padding-right: 3.2rem; +} +.scroll-pr-32\.5{ + scroll-padding-right: 8.5rem; +} +.scroll-pb-0{ + scroll-padding-bottom: 0px; +} +.scroll-pb-1{ + scroll-padding-bottom: 0.25rem; +} +.scroll-pb-2{ + scroll-padding-bottom: 0.5rem; +} +.scroll-pb-3{ + scroll-padding-bottom: 0.75rem; +} +.scroll-pb-4{ + scroll-padding-bottom: 1rem; +} +.scroll-pb-5{ + scroll-padding-bottom: 1.25rem; +} +.scroll-pb-6{ + scroll-padding-bottom: 1.5rem; +} +.scroll-pb-7{ + scroll-padding-bottom: 1.75rem; +} +.scroll-pb-8{ + scroll-padding-bottom: 2rem; +} +.scroll-pb-9{ + scroll-padding-bottom: 2.25rem; +} +.scroll-pb-10{ + scroll-padding-bottom: 2.5rem; +} +.scroll-pb-11{ + scroll-padding-bottom: 2.75rem; +} +.scroll-pb-12{ + scroll-padding-bottom: 3rem; +} +.scroll-pb-14{ + scroll-padding-bottom: 3.5rem; +} +.scroll-pb-16{ + scroll-padding-bottom: 4rem; +} +.scroll-pb-20{ + scroll-padding-bottom: 5rem; +} +.scroll-pb-24{ + scroll-padding-bottom: 6rem; +} +.scroll-pb-28{ + scroll-padding-bottom: 7rem; +} +.scroll-pb-31{ + scroll-padding-bottom: 30.938rem; +} +.scroll-pb-32{ + scroll-padding-bottom: 8rem; +} +.scroll-pb-33{ + scroll-padding-bottom: 8.5rem; +} +.scroll-pb-36{ + scroll-padding-bottom: 9rem; +} +.scroll-pb-37{ + scroll-padding-bottom: 9.25rem; +} +.scroll-pb-40{ + scroll-padding-bottom: 10rem; +} +.scroll-pb-44{ + scroll-padding-bottom: 11rem; +} +.scroll-pb-46{ + scroll-padding-bottom: 46.875rem; +} +.scroll-pb-48{ + scroll-padding-bottom: 12rem; +} +.scroll-pb-52{ + scroll-padding-bottom: 13rem; +} +.scroll-pb-56{ + scroll-padding-bottom: 14rem; +} +.scroll-pb-60{ + scroll-padding-bottom: 15rem; +} +.scroll-pb-64{ + scroll-padding-bottom: 16rem; +} +.scroll-pb-72{ + scroll-padding-bottom: 18rem; +} +.scroll-pb-80{ + scroll-padding-bottom: 20rem; +} +.scroll-pb-96{ + scroll-padding-bottom: 24rem; +} +.scroll-pb-px{ + scroll-padding-bottom: 1px; +} +.scroll-pb-0\.5{ + scroll-padding-bottom: 0.125rem; +} +.scroll-pb-1\.5{ + scroll-padding-bottom: 0.375rem; +} +.scroll-pb-2\.5{ + scroll-padding-bottom: 0.625rem; +} +.scroll-pb-3\.5{ + scroll-padding-bottom: 0.875rem; +} +.scroll-pb-modal{ + scroll-padding-bottom: 610px; +} +.scroll-pb-5\.5{ + scroll-padding-bottom: 1.30rem; +} +.scroll-pb-9\.5{ + scroll-padding-bottom: 2.45rem; +} +.scroll-pb-12\.5{ + scroll-padding-bottom: 3.2rem; +} +.scroll-pb-32\.5{ + scroll-padding-bottom: 8.5rem; +} +.scroll-pl-0{ + scroll-padding-left: 0px; +} +.scroll-pl-1{ + scroll-padding-left: 0.25rem; +} +.scroll-pl-2{ + scroll-padding-left: 0.5rem; +} +.scroll-pl-3{ + scroll-padding-left: 0.75rem; +} +.scroll-pl-4{ + scroll-padding-left: 1rem; +} +.scroll-pl-5{ + scroll-padding-left: 1.25rem; +} +.scroll-pl-6{ + scroll-padding-left: 1.5rem; +} +.scroll-pl-7{ + scroll-padding-left: 1.75rem; +} +.scroll-pl-8{ + scroll-padding-left: 2rem; +} +.scroll-pl-9{ + scroll-padding-left: 2.25rem; +} +.scroll-pl-10{ + scroll-padding-left: 2.5rem; +} +.scroll-pl-11{ + scroll-padding-left: 2.75rem; +} +.scroll-pl-12{ + scroll-padding-left: 3rem; +} +.scroll-pl-14{ + scroll-padding-left: 3.5rem; +} +.scroll-pl-16{ + scroll-padding-left: 4rem; +} +.scroll-pl-20{ + scroll-padding-left: 5rem; +} +.scroll-pl-24{ + scroll-padding-left: 6rem; +} +.scroll-pl-28{ + scroll-padding-left: 7rem; +} +.scroll-pl-31{ + scroll-padding-left: 30.938rem; +} +.scroll-pl-32{ + scroll-padding-left: 8rem; +} +.scroll-pl-33{ + scroll-padding-left: 8.5rem; +} +.scroll-pl-36{ + scroll-padding-left: 9rem; +} +.scroll-pl-37{ + scroll-padding-left: 9.25rem; +} +.scroll-pl-40{ + scroll-padding-left: 10rem; +} +.scroll-pl-44{ + scroll-padding-left: 11rem; +} +.scroll-pl-46{ + scroll-padding-left: 46.875rem; +} +.scroll-pl-48{ + scroll-padding-left: 12rem; +} +.scroll-pl-52{ + scroll-padding-left: 13rem; +} +.scroll-pl-56{ + scroll-padding-left: 14rem; +} +.scroll-pl-60{ + scroll-padding-left: 15rem; +} +.scroll-pl-64{ + scroll-padding-left: 16rem; +} +.scroll-pl-72{ + scroll-padding-left: 18rem; +} +.scroll-pl-80{ + scroll-padding-left: 20rem; +} +.scroll-pl-96{ + scroll-padding-left: 24rem; +} +.scroll-pl-px{ + scroll-padding-left: 1px; +} +.scroll-pl-0\.5{ + scroll-padding-left: 0.125rem; +} +.scroll-pl-1\.5{ + scroll-padding-left: 0.375rem; +} +.scroll-pl-2\.5{ + scroll-padding-left: 0.625rem; +} +.scroll-pl-3\.5{ + scroll-padding-left: 0.875rem; +} +.scroll-pl-modal{ + scroll-padding-left: 610px; +} +.scroll-pl-5\.5{ + scroll-padding-left: 1.30rem; +} +.scroll-pl-9\.5{ + scroll-padding-left: 2.45rem; +} +.scroll-pl-12\.5{ + scroll-padding-left: 3.2rem; +} +.scroll-pl-32\.5{ + scroll-padding-left: 8.5rem; +} +.list-inside{ + list-style-position: inside; +} +.list-outside{ + list-style-position: outside; +} +.list-none{ + list-style-type: none; +} +.list-disc{ + list-style-type: disc; +} +.list-decimal{ + list-style-type: decimal; +} +.appearance-none{ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.columns-1{ + -webkit-columns: 1; + -moz-columns: 1; + columns: 1; +} +.columns-2{ + -webkit-columns: 2; + -moz-columns: 2; + columns: 2; +} +.columns-3{ + -webkit-columns: 3; + -moz-columns: 3; + columns: 3; +} +.columns-4{ + -webkit-columns: 4; + -moz-columns: 4; + columns: 4; +} +.columns-5{ + -webkit-columns: 5; + -moz-columns: 5; + columns: 5; +} +.columns-6{ + -webkit-columns: 6; + -moz-columns: 6; + columns: 6; +} +.columns-7{ + -webkit-columns: 7; + -moz-columns: 7; + columns: 7; +} +.columns-8{ + -webkit-columns: 8; + -moz-columns: 8; + columns: 8; +} +.columns-9{ + -webkit-columns: 9; + -moz-columns: 9; + columns: 9; +} +.columns-10{ + -webkit-columns: 10; + -moz-columns: 10; + columns: 10; +} +.columns-11{ + -webkit-columns: 11; + -moz-columns: 11; + columns: 11; +} +.columns-12{ + -webkit-columns: 12; + -moz-columns: 12; + columns: 12; +} +.columns-auto{ + -webkit-columns: auto; + -moz-columns: auto; + columns: auto; +} +.columns-3xs{ + -webkit-columns: 16rem; + -moz-columns: 16rem; + columns: 16rem; +} +.columns-2xs{ + -webkit-columns: 18rem; + -moz-columns: 18rem; + columns: 18rem; +} +.columns-xs{ + -webkit-columns: 20rem; + -moz-columns: 20rem; + columns: 20rem; +} +.columns-sm{ + -webkit-columns: 24rem; + -moz-columns: 24rem; + columns: 24rem; +} +.columns-md{ + -webkit-columns: 28rem; + -moz-columns: 28rem; + columns: 28rem; +} +.columns-lg{ + -webkit-columns: 32rem; + -moz-columns: 32rem; + columns: 32rem; +} +.columns-xl{ + -webkit-columns: 36rem; + -moz-columns: 36rem; + columns: 36rem; +} +.columns-2xl{ + -webkit-columns: 42rem; + -moz-columns: 42rem; + columns: 42rem; +} +.columns-3xl{ + -webkit-columns: 48rem; + -moz-columns: 48rem; + columns: 48rem; +} +.columns-4xl{ + -webkit-columns: 56rem; + -moz-columns: 56rem; + columns: 56rem; +} +.columns-5xl{ + -webkit-columns: 64rem; + -moz-columns: 64rem; + columns: 64rem; +} +.columns-6xl{ + -webkit-columns: 72rem; + -moz-columns: 72rem; + columns: 72rem; +} +.columns-7xl{ + -webkit-columns: 80rem; + -moz-columns: 80rem; + columns: 80rem; +} +.break-before-auto{ + -webkit-column-break-before: auto; + -moz-column-break-before: auto; + break-before: auto; +} +.break-before-avoid{ + -webkit-column-break-before: avoid; + -moz-column-break-before: avoid; + break-before: avoid; +} +.break-before-all{ + -webkit-column-break-before: all; + -moz-column-break-before: all; + break-before: all; +} +.break-before-avoid-page{ + -webkit-column-break-before: avoid; + -moz-column-break-before: avoid; + break-before: avoid-page; +} +.break-before-page{ + -webkit-column-break-before: page; + -moz-column-break-before: page; + break-before: page; +} +.break-before-left{ + -webkit-column-break-before: left; + -moz-column-break-before: left; + break-before: left; +} +.break-before-right{ + -webkit-column-break-before: right; + -moz-column-break-before: right; + break-before: right; +} +.break-before-column{ + -webkit-column-break-before: column; + -moz-column-break-before: column; + break-before: column; +} +.break-inside-auto{ + -webkit-column-break-inside: auto; + -moz-column-break-inside: auto; + break-inside: auto; +} +.break-inside-avoid{ + -webkit-column-break-inside: avoid; + -moz-column-break-inside: avoid; + break-inside: avoid; +} +.break-inside-avoid-page{ + break-inside: avoid-page; +} +.break-inside-avoid-column{ + -webkit-column-break-inside: avoid; + -moz-column-break-inside: avoid; + break-inside: avoid-column; +} +.break-after-auto{ + -webkit-column-break-after: auto; + -moz-column-break-after: auto; + break-after: auto; +} +.break-after-avoid{ + -webkit-column-break-after: avoid; + -moz-column-break-after: avoid; + break-after: avoid; +} +.break-after-all{ + -webkit-column-break-after: all; + -moz-column-break-after: all; + break-after: all; +} +.break-after-avoid-page{ + -webkit-column-break-after: avoid; + -moz-column-break-after: avoid; + break-after: avoid-page; +} +.break-after-page{ + -webkit-column-break-after: page; + -moz-column-break-after: page; + break-after: page; +} +.break-after-left{ + -webkit-column-break-after: left; + -moz-column-break-after: left; + break-after: left; +} +.break-after-right{ + -webkit-column-break-after: right; + -moz-column-break-after: right; + break-after: right; +} +.break-after-column{ + -webkit-column-break-after: column; + -moz-column-break-after: column; + break-after: column; +} +.auto-cols-auto{ + grid-auto-columns: auto; +} +.auto-cols-min{ + grid-auto-columns: -webkit-min-content; + grid-auto-columns: min-content; +} +.auto-cols-max{ + grid-auto-columns: -webkit-max-content; + grid-auto-columns: max-content; +} +.auto-cols-fr{ + grid-auto-columns: minmax(0, 1fr); +} +.grid-flow-row{ + grid-auto-flow: row; +} +.grid-flow-col{ + grid-auto-flow: column; +} +.grid-flow-row-dense{ + grid-auto-flow: row dense; +} +.grid-flow-col-dense{ + grid-auto-flow: column dense; +} +.auto-rows-auto{ + grid-auto-rows: auto; +} +.auto-rows-min{ + grid-auto-rows: -webkit-min-content; + grid-auto-rows: min-content; +} +.auto-rows-max{ + grid-auto-rows: -webkit-max-content; + grid-auto-rows: max-content; +} +.auto-rows-fr{ + grid-auto-rows: minmax(0, 1fr); +} +.grid-cols-1{ + grid-template-columns: repeat(1, minmax(0, 1fr)); +} +.grid-cols-2{ + grid-template-columns: repeat(2, minmax(0, 1fr)); +} +.grid-cols-3{ + grid-template-columns: repeat(3, minmax(0, 1fr)); +} +.grid-cols-4{ + grid-template-columns: repeat(4, minmax(0, 1fr)); +} +.grid-cols-5{ + grid-template-columns: repeat(5, minmax(0, 1fr)); +} +.grid-cols-6{ + grid-template-columns: repeat(6, minmax(0, 1fr)); +} +.grid-cols-7{ + grid-template-columns: repeat(7, minmax(0, 1fr)); +} +.grid-cols-8{ + grid-template-columns: repeat(8, minmax(0, 1fr)); +} +.grid-cols-9{ + grid-template-columns: repeat(9, minmax(0, 1fr)); +} +.grid-cols-10{ + grid-template-columns: repeat(10, minmax(0, 1fr)); +} +.grid-cols-11{ + grid-template-columns: repeat(11, minmax(0, 1fr)); +} +.grid-cols-12{ + grid-template-columns: repeat(12, minmax(0, 1fr)); +} +.grid-cols-none{ + grid-template-columns: none; +} +.grid-rows-1{ + grid-template-rows: repeat(1, minmax(0, 1fr)); +} +.grid-rows-2{ + grid-template-rows: repeat(2, minmax(0, 1fr)); +} +.grid-rows-3{ + grid-template-rows: repeat(3, minmax(0, 1fr)); +} +.grid-rows-4{ + grid-template-rows: repeat(4, minmax(0, 1fr)); +} +.grid-rows-5{ + grid-template-rows: repeat(5, minmax(0, 1fr)); +} +.grid-rows-6{ + grid-template-rows: repeat(6, minmax(0, 1fr)); +} +.grid-rows-none{ + grid-template-rows: none; +} +.flex-row{ + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; +} +.flex-row-reverse{ + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; +} +.flex-col{ + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} +.flex-col-reverse{ + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; +} +.flex-wrap{ + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +.flex-wrap-reverse{ + -ms-flex-wrap: wrap-reverse; + flex-wrap: wrap-reverse; +} +.flex-nowrap{ + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} +.place-content-center{ + place-content: center; +} +.place-content-start{ + place-content: start; +} +.place-content-end{ + place-content: end; +} +.place-content-between{ + place-content: space-between; +} +.place-content-around{ + place-content: space-around; +} +.place-content-evenly{ + place-content: space-evenly; +} +.place-content-stretch{ + place-content: stretch; +} +.place-items-start{ + place-items: start; +} +.place-items-end{ + place-items: end; +} +.place-items-center{ + place-items: center; +} +.place-items-stretch{ + place-items: stretch; +} +.content-center{ + -ms-flex-line-pack: center; + align-content: center; +} +.content-start{ + -ms-flex-line-pack: start; + align-content: flex-start; +} +.content-end{ + -ms-flex-line-pack: end; + align-content: flex-end; +} +.content-between{ + -ms-flex-line-pack: justify; + align-content: space-between; +} +.content-around{ + -ms-flex-line-pack: distribute; + align-content: space-around; +} +.content-evenly{ + -ms-flex-line-pack: space-evenly; + align-content: space-evenly; +} +.items-start{ + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; +} +.items-end{ + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; +} +.items-center{ + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +.items-baseline{ + -webkit-box-align: baseline; + -ms-flex-align: baseline; + align-items: baseline; +} +.items-stretch{ + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; +} +.justify-start{ + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} +.justify-end{ + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} +.justify-center{ + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +.justify-between{ + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} +.justify-around{ + -ms-flex-pack: distribute; + justify-content: space-around; +} +.justify-evenly{ + -webkit-box-pack: space-evenly; + -ms-flex-pack: space-evenly; + justify-content: space-evenly; +} +.justify-items-start{ + justify-items: start; +} +.justify-items-end{ + justify-items: end; +} +.justify-items-center{ + justify-items: center; +} +.justify-items-stretch{ + justify-items: stretch; +} +.gap-0{ + gap: 0px; +} +.gap-1{ + gap: 0.25rem; +} +.gap-2{ + gap: 0.5rem; +} +.gap-3{ + gap: 0.75rem; +} +.gap-4{ + gap: 1rem; +} +.gap-5{ + gap: 1.25rem; +} +.gap-6{ + gap: 1.5rem; +} +.gap-7{ + gap: 1.75rem; +} +.gap-8{ + gap: 2rem; +} +.gap-9{ + gap: 2.25rem; +} +.gap-10{ + gap: 2.5rem; +} +.gap-11{ + gap: 2.75rem; +} +.gap-12{ + gap: 3rem; +} +.gap-14{ + gap: 3.5rem; +} +.gap-16{ + gap: 4rem; +} +.gap-20{ + gap: 5rem; +} +.gap-24{ + gap: 6rem; +} +.gap-28{ + gap: 7rem; +} +.gap-31{ + gap: 30.938rem; +} +.gap-32{ + gap: 8rem; +} +.gap-33{ + gap: 8.5rem; +} +.gap-36{ + gap: 9rem; +} +.gap-37{ + gap: 9.25rem; +} +.gap-40{ + gap: 10rem; +} +.gap-44{ + gap: 11rem; +} +.gap-46{ + gap: 46.875rem; +} +.gap-48{ + gap: 12rem; +} +.gap-52{ + gap: 13rem; +} +.gap-56{ + gap: 14rem; +} +.gap-60{ + gap: 15rem; +} +.gap-64{ + gap: 16rem; +} +.gap-72{ + gap: 18rem; +} +.gap-80{ + gap: 20rem; +} +.gap-96{ + gap: 24rem; +} +.gap-px{ + gap: 1px; +} +.gap-0\.5{ + gap: 0.125rem; +} +.gap-1\.5{ + gap: 0.375rem; +} +.gap-2\.5{ + gap: 0.625rem; +} +.gap-3\.5{ + gap: 0.875rem; +} +.gap-modal{ + gap: 610px; +} +.gap-5\.5{ + gap: 1.30rem; +} +.gap-9\.5{ + gap: 2.45rem; +} +.gap-12\.5{ + gap: 3.2rem; +} +.gap-32\.5{ + gap: 8.5rem; +} +.gap-x-0{ + -webkit-column-gap: 0px; + -moz-column-gap: 0px; + column-gap: 0px; +} +.gap-x-1{ + -webkit-column-gap: 0.25rem; + -moz-column-gap: 0.25rem; + column-gap: 0.25rem; +} +.gap-x-2{ + -webkit-column-gap: 0.5rem; + -moz-column-gap: 0.5rem; + column-gap: 0.5rem; +} +.gap-x-3{ + -webkit-column-gap: 0.75rem; + -moz-column-gap: 0.75rem; + column-gap: 0.75rem; +} +.gap-x-4{ + -webkit-column-gap: 1rem; + -moz-column-gap: 1rem; + column-gap: 1rem; +} +.gap-x-5{ + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; +} +.gap-x-6{ + -webkit-column-gap: 1.5rem; + -moz-column-gap: 1.5rem; + column-gap: 1.5rem; +} +.gap-x-7{ + -webkit-column-gap: 1.75rem; + -moz-column-gap: 1.75rem; + column-gap: 1.75rem; +} +.gap-x-8{ + -webkit-column-gap: 2rem; + -moz-column-gap: 2rem; + column-gap: 2rem; +} +.gap-x-9{ + -webkit-column-gap: 2.25rem; + -moz-column-gap: 2.25rem; + column-gap: 2.25rem; +} +.gap-x-10{ + -webkit-column-gap: 2.5rem; + -moz-column-gap: 2.5rem; + column-gap: 2.5rem; +} +.gap-x-11{ + -webkit-column-gap: 2.75rem; + -moz-column-gap: 2.75rem; + column-gap: 2.75rem; +} +.gap-x-12{ + -webkit-column-gap: 3rem; + -moz-column-gap: 3rem; + column-gap: 3rem; +} +.gap-x-14{ + -webkit-column-gap: 3.5rem; + -moz-column-gap: 3.5rem; + column-gap: 3.5rem; +} +.gap-x-16{ + -webkit-column-gap: 4rem; + -moz-column-gap: 4rem; + column-gap: 4rem; +} +.gap-x-20{ + -webkit-column-gap: 5rem; + -moz-column-gap: 5rem; + column-gap: 5rem; +} +.gap-x-24{ + -webkit-column-gap: 6rem; + -moz-column-gap: 6rem; + column-gap: 6rem; +} +.gap-x-28{ + -webkit-column-gap: 7rem; + -moz-column-gap: 7rem; + column-gap: 7rem; +} +.gap-x-31{ + -webkit-column-gap: 30.938rem; + -moz-column-gap: 30.938rem; + column-gap: 30.938rem; +} +.gap-x-32{ + -webkit-column-gap: 8rem; + -moz-column-gap: 8rem; + column-gap: 8rem; +} +.gap-x-33{ + -webkit-column-gap: 8.5rem; + -moz-column-gap: 8.5rem; + column-gap: 8.5rem; +} +.gap-x-36{ + -webkit-column-gap: 9rem; + -moz-column-gap: 9rem; + column-gap: 9rem; +} +.gap-x-37{ + -webkit-column-gap: 9.25rem; + -moz-column-gap: 9.25rem; + column-gap: 9.25rem; +} +.gap-x-40{ + -webkit-column-gap: 10rem; + -moz-column-gap: 10rem; + column-gap: 10rem; +} +.gap-x-44{ + -webkit-column-gap: 11rem; + -moz-column-gap: 11rem; + column-gap: 11rem; +} +.gap-x-46{ + -webkit-column-gap: 46.875rem; + -moz-column-gap: 46.875rem; + column-gap: 46.875rem; +} +.gap-x-48{ + -webkit-column-gap: 12rem; + -moz-column-gap: 12rem; + column-gap: 12rem; +} +.gap-x-52{ + -webkit-column-gap: 13rem; + -moz-column-gap: 13rem; + column-gap: 13rem; +} +.gap-x-56{ + -webkit-column-gap: 14rem; + -moz-column-gap: 14rem; + column-gap: 14rem; +} +.gap-x-60{ + -webkit-column-gap: 15rem; + -moz-column-gap: 15rem; + column-gap: 15rem; +} +.gap-x-64{ + -webkit-column-gap: 16rem; + -moz-column-gap: 16rem; + column-gap: 16rem; +} +.gap-x-72{ + -webkit-column-gap: 18rem; + -moz-column-gap: 18rem; + column-gap: 18rem; +} +.gap-x-80{ + -webkit-column-gap: 20rem; + -moz-column-gap: 20rem; + column-gap: 20rem; +} +.gap-x-96{ + -webkit-column-gap: 24rem; + -moz-column-gap: 24rem; + column-gap: 24rem; +} +.gap-x-px{ + -webkit-column-gap: 1px; + -moz-column-gap: 1px; + column-gap: 1px; +} +.gap-x-0\.5{ + -webkit-column-gap: 0.125rem; + -moz-column-gap: 0.125rem; + column-gap: 0.125rem; +} +.gap-x-1\.5{ + -webkit-column-gap: 0.375rem; + -moz-column-gap: 0.375rem; + column-gap: 0.375rem; +} +.gap-x-2\.5{ + -webkit-column-gap: 0.625rem; + -moz-column-gap: 0.625rem; + column-gap: 0.625rem; +} +.gap-x-3\.5{ + -webkit-column-gap: 0.875rem; + -moz-column-gap: 0.875rem; + column-gap: 0.875rem; +} +.gap-x-modal{ + -webkit-column-gap: 610px; + -moz-column-gap: 610px; + column-gap: 610px; +} +.gap-x-5\.5{ + -webkit-column-gap: 1.30rem; + -moz-column-gap: 1.30rem; + column-gap: 1.30rem; +} +.gap-x-9\.5{ + -webkit-column-gap: 2.45rem; + -moz-column-gap: 2.45rem; + column-gap: 2.45rem; +} +.gap-x-12\.5{ + -webkit-column-gap: 3.2rem; + -moz-column-gap: 3.2rem; + column-gap: 3.2rem; +} +.gap-x-32\.5{ + -webkit-column-gap: 8.5rem; + -moz-column-gap: 8.5rem; + column-gap: 8.5rem; +} +.gap-y-0{ + row-gap: 0px; +} +.gap-y-1{ + row-gap: 0.25rem; +} +.gap-y-2{ + row-gap: 0.5rem; +} +.gap-y-3{ + row-gap: 0.75rem; +} +.gap-y-4{ + row-gap: 1rem; +} +.gap-y-5{ + row-gap: 1.25rem; +} +.gap-y-6{ + row-gap: 1.5rem; +} +.gap-y-7{ + row-gap: 1.75rem; +} +.gap-y-8{ + row-gap: 2rem; +} +.gap-y-9{ + row-gap: 2.25rem; +} +.gap-y-10{ + row-gap: 2.5rem; +} +.gap-y-11{ + row-gap: 2.75rem; +} +.gap-y-12{ + row-gap: 3rem; +} +.gap-y-14{ + row-gap: 3.5rem; +} +.gap-y-16{ + row-gap: 4rem; +} +.gap-y-20{ + row-gap: 5rem; +} +.gap-y-24{ + row-gap: 6rem; +} +.gap-y-28{ + row-gap: 7rem; +} +.gap-y-31{ + row-gap: 30.938rem; +} +.gap-y-32{ + row-gap: 8rem; +} +.gap-y-33{ + row-gap: 8.5rem; +} +.gap-y-36{ + row-gap: 9rem; +} +.gap-y-37{ + row-gap: 9.25rem; +} +.gap-y-40{ + row-gap: 10rem; +} +.gap-y-44{ + row-gap: 11rem; +} +.gap-y-46{ + row-gap: 46.875rem; +} +.gap-y-48{ + row-gap: 12rem; +} +.gap-y-52{ + row-gap: 13rem; +} +.gap-y-56{ + row-gap: 14rem; +} +.gap-y-60{ + row-gap: 15rem; +} +.gap-y-64{ + row-gap: 16rem; +} +.gap-y-72{ + row-gap: 18rem; +} +.gap-y-80{ + row-gap: 20rem; +} +.gap-y-96{ + row-gap: 24rem; +} +.gap-y-px{ + row-gap: 1px; +} +.gap-y-0\.5{ + row-gap: 0.125rem; +} +.gap-y-1\.5{ + row-gap: 0.375rem; +} +.gap-y-2\.5{ + row-gap: 0.625rem; +} +.gap-y-3\.5{ + row-gap: 0.875rem; +} +.gap-y-modal{ + row-gap: 610px; +} +.gap-y-5\.5{ + row-gap: 1.30rem; +} +.gap-y-9\.5{ + row-gap: 2.45rem; +} +.gap-y-12\.5{ + row-gap: 3.2rem; +} +.gap-y-32\.5{ + row-gap: 8.5rem; +} +.space-x-0 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0px * var(--tw-space-x-reverse)); + margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-1 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.25rem * var(--tw-space-x-reverse)); + margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-2 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-3 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.75rem * var(--tw-space-x-reverse)); + margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-4 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(1rem * var(--tw-space-x-reverse)); + margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(1.25rem * var(--tw-space-x-reverse)); + margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-6 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(1.5rem * var(--tw-space-x-reverse)); + margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-7 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(1.75rem * var(--tw-space-x-reverse)); + margin-left: calc(1.75rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-8 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(2rem * var(--tw-space-x-reverse)); + margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-9 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(2.25rem * var(--tw-space-x-reverse)); + margin-left: calc(2.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-10 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(2.5rem * var(--tw-space-x-reverse)); + margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-11 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(2.75rem * var(--tw-space-x-reverse)); + margin-left: calc(2.75rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-12 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(3rem * var(--tw-space-x-reverse)); + margin-left: calc(3rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-14 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(3.5rem * var(--tw-space-x-reverse)); + margin-left: calc(3.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-16 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(4rem * var(--tw-space-x-reverse)); + margin-left: calc(4rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-20 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(5rem * var(--tw-space-x-reverse)); + margin-left: calc(5rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-24 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(6rem * var(--tw-space-x-reverse)); + margin-left: calc(6rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-28 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(7rem * var(--tw-space-x-reverse)); + margin-left: calc(7rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-31 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(30.938rem * var(--tw-space-x-reverse)); + margin-left: calc(30.938rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-32 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(8rem * var(--tw-space-x-reverse)); + margin-left: calc(8rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-33 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(8.5rem * var(--tw-space-x-reverse)); + margin-left: calc(8.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-36 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(9rem * var(--tw-space-x-reverse)); + margin-left: calc(9rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-37 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(9.25rem * var(--tw-space-x-reverse)); + margin-left: calc(9.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-40 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(10rem * var(--tw-space-x-reverse)); + margin-left: calc(10rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-44 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(11rem * var(--tw-space-x-reverse)); + margin-left: calc(11rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-46 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(46.875rem * var(--tw-space-x-reverse)); + margin-left: calc(46.875rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-48 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(12rem * var(--tw-space-x-reverse)); + margin-left: calc(12rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-52 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(13rem * var(--tw-space-x-reverse)); + margin-left: calc(13rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-56 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(14rem * var(--tw-space-x-reverse)); + margin-left: calc(14rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-60 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(15rem * var(--tw-space-x-reverse)); + margin-left: calc(15rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-64 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(16rem * var(--tw-space-x-reverse)); + margin-left: calc(16rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-72 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(18rem * var(--tw-space-x-reverse)); + margin-left: calc(18rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-80 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(20rem * var(--tw-space-x-reverse)); + margin-left: calc(20rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-96 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(24rem * var(--tw-space-x-reverse)); + margin-left: calc(24rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-px > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(1px * var(--tw-space-x-reverse)); + margin-left: calc(1px * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-0\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.125rem * var(--tw-space-x-reverse)); + margin-left: calc(0.125rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-1\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.375rem * var(--tw-space-x-reverse)); + margin-left: calc(0.375rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-2\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.625rem * var(--tw-space-x-reverse)); + margin-left: calc(0.625rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-3\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.875rem * var(--tw-space-x-reverse)); + margin-left: calc(0.875rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-modal > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(610px * var(--tw-space-x-reverse)); + margin-left: calc(610px * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-5\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(1.30rem * var(--tw-space-x-reverse)); + margin-left: calc(1.30rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-9\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(2.45rem * var(--tw-space-x-reverse)); + margin-left: calc(2.45rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-12\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(3.2rem * var(--tw-space-x-reverse)); + margin-left: calc(3.2rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-32\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(8.5rem * var(--tw-space-x-reverse)); + margin-left: calc(8.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-0 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-0px * var(--tw-space-x-reverse)); + margin-left: calc(-0px * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-1 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-0.25rem * var(--tw-space-x-reverse)); + margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-2 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-3 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-0.75rem * var(--tw-space-x-reverse)); + margin-left: calc(-0.75rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-4 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-1rem * var(--tw-space-x-reverse)); + margin-left: calc(-1rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-1.25rem * var(--tw-space-x-reverse)); + margin-left: calc(-1.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-6 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-1.5rem * var(--tw-space-x-reverse)); + margin-left: calc(-1.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-7 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-1.75rem * var(--tw-space-x-reverse)); + margin-left: calc(-1.75rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-8 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-2rem * var(--tw-space-x-reverse)); + margin-left: calc(-2rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-9 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-2.25rem * var(--tw-space-x-reverse)); + margin-left: calc(-2.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-10 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-2.5rem * var(--tw-space-x-reverse)); + margin-left: calc(-2.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-11 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-2.75rem * var(--tw-space-x-reverse)); + margin-left: calc(-2.75rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-12 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-3rem * var(--tw-space-x-reverse)); + margin-left: calc(-3rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-14 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-3.5rem * var(--tw-space-x-reverse)); + margin-left: calc(-3.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-16 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-4rem * var(--tw-space-x-reverse)); + margin-left: calc(-4rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-20 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-5rem * var(--tw-space-x-reverse)); + margin-left: calc(-5rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-24 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-6rem * var(--tw-space-x-reverse)); + margin-left: calc(-6rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-28 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-7rem * var(--tw-space-x-reverse)); + margin-left: calc(-7rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-31 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-30.938rem * var(--tw-space-x-reverse)); + margin-left: calc(-30.938rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-32 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-8rem * var(--tw-space-x-reverse)); + margin-left: calc(-8rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-33 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-8.5rem * var(--tw-space-x-reverse)); + margin-left: calc(-8.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-36 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-9rem * var(--tw-space-x-reverse)); + margin-left: calc(-9rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-37 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-9.25rem * var(--tw-space-x-reverse)); + margin-left: calc(-9.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-40 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-10rem * var(--tw-space-x-reverse)); + margin-left: calc(-10rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-44 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-11rem * var(--tw-space-x-reverse)); + margin-left: calc(-11rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-46 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-46.875rem * var(--tw-space-x-reverse)); + margin-left: calc(-46.875rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-48 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-12rem * var(--tw-space-x-reverse)); + margin-left: calc(-12rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-52 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-13rem * var(--tw-space-x-reverse)); + margin-left: calc(-13rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-56 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-14rem * var(--tw-space-x-reverse)); + margin-left: calc(-14rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-60 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-15rem * var(--tw-space-x-reverse)); + margin-left: calc(-15rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-64 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-16rem * var(--tw-space-x-reverse)); + margin-left: calc(-16rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-72 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-18rem * var(--tw-space-x-reverse)); + margin-left: calc(-18rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-80 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-20rem * var(--tw-space-x-reverse)); + margin-left: calc(-20rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-96 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-24rem * var(--tw-space-x-reverse)); + margin-left: calc(-24rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-px > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-1px * var(--tw-space-x-reverse)); + margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-0\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-0.125rem * var(--tw-space-x-reverse)); + margin-left: calc(-0.125rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-1\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-0.375rem * var(--tw-space-x-reverse)); + margin-left: calc(-0.375rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-2\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-0.625rem * var(--tw-space-x-reverse)); + margin-left: calc(-0.625rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-3\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-0.875rem * var(--tw-space-x-reverse)); + margin-left: calc(-0.875rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-modal > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-610px * var(--tw-space-x-reverse)); + margin-left: calc(-610px * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-5\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-1.30rem * var(--tw-space-x-reverse)); + margin-left: calc(-1.30rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-9\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-2.45rem * var(--tw-space-x-reverse)); + margin-left: calc(-2.45rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-12\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-3.2rem * var(--tw-space-x-reverse)); + margin-left: calc(-3.2rem * calc(1 - var(--tw-space-x-reverse))); +} +.-space-x-32\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(-8.5rem * var(--tw-space-x-reverse)); + margin-left: calc(-8.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-y-0 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0px * var(--tw-space-y-reverse)); +} +.space-y-1 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); +} +.space-y-2 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); +} +.space-y-3 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); +} +.space-y-4 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1rem * var(--tw-space-y-reverse)); +} +.space-y-5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.25rem * var(--tw-space-y-reverse)); +} +.space-y-6 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); +} +.space-y-7 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.75rem * var(--tw-space-y-reverse)); +} +.space-y-8 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(2rem * var(--tw-space-y-reverse)); +} +.space-y-9 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(2.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(2.25rem * var(--tw-space-y-reverse)); +} +.space-y-10 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(2.5rem * var(--tw-space-y-reverse)); +} +.space-y-11 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(2.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(2.75rem * var(--tw-space-y-reverse)); +} +.space-y-12 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(3rem * var(--tw-space-y-reverse)); +} +.space-y-14 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(3.5rem * var(--tw-space-y-reverse)); +} +.space-y-16 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(4rem * var(--tw-space-y-reverse)); +} +.space-y-20 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(5rem * var(--tw-space-y-reverse)); +} +.space-y-24 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(6rem * var(--tw-space-y-reverse)); +} +.space-y-28 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(7rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(7rem * var(--tw-space-y-reverse)); +} +.space-y-31 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(30.938rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(30.938rem * var(--tw-space-y-reverse)); +} +.space-y-32 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(8rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(8rem * var(--tw-space-y-reverse)); +} +.space-y-33 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(8.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(8.5rem * var(--tw-space-y-reverse)); +} +.space-y-36 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(9rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(9rem * var(--tw-space-y-reverse)); +} +.space-y-37 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(9.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(9.25rem * var(--tw-space-y-reverse)); +} +.space-y-40 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(10rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(10rem * var(--tw-space-y-reverse)); +} +.space-y-44 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(11rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(11rem * var(--tw-space-y-reverse)); +} +.space-y-46 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(46.875rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(46.875rem * var(--tw-space-y-reverse)); +} +.space-y-48 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(12rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(12rem * var(--tw-space-y-reverse)); +} +.space-y-52 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(13rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(13rem * var(--tw-space-y-reverse)); +} +.space-y-56 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(14rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(14rem * var(--tw-space-y-reverse)); +} +.space-y-60 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(15rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(15rem * var(--tw-space-y-reverse)); +} +.space-y-64 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(16rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(16rem * var(--tw-space-y-reverse)); +} +.space-y-72 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(18rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(18rem * var(--tw-space-y-reverse)); +} +.space-y-80 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(20rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(20rem * var(--tw-space-y-reverse)); +} +.space-y-96 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(24rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(24rem * var(--tw-space-y-reverse)); +} +.space-y-px > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1px * var(--tw-space-y-reverse)); +} +.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.125rem * var(--tw-space-y-reverse)); +} +.space-y-1\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.375rem * var(--tw-space-y-reverse)); +} +.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.625rem * var(--tw-space-y-reverse)); +} +.space-y-3\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.875rem * var(--tw-space-y-reverse)); +} +.space-y-modal > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(610px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(610px * var(--tw-space-y-reverse)); +} +.space-y-5\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(1.30rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.30rem * var(--tw-space-y-reverse)); +} +.space-y-9\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(2.45rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(2.45rem * var(--tw-space-y-reverse)); +} +.space-y-12\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(3.2rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(3.2rem * var(--tw-space-y-reverse)); +} +.space-y-32\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(8.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(8.5rem * var(--tw-space-y-reverse)); +} +.-space-y-0 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-0px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-0px * var(--tw-space-y-reverse)); +} +.-space-y-1 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-0.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-0.25rem * var(--tw-space-y-reverse)); +} +.-space-y-2 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-0.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-0.5rem * var(--tw-space-y-reverse)); +} +.-space-y-3 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-0.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-0.75rem * var(--tw-space-y-reverse)); +} +.-space-y-4 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-1rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-1rem * var(--tw-space-y-reverse)); +} +.-space-y-5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-1.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-1.25rem * var(--tw-space-y-reverse)); +} +.-space-y-6 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-1.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-1.5rem * var(--tw-space-y-reverse)); +} +.-space-y-7 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-1.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-1.75rem * var(--tw-space-y-reverse)); +} +.-space-y-8 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-2rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-2rem * var(--tw-space-y-reverse)); +} +.-space-y-9 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-2.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-2.25rem * var(--tw-space-y-reverse)); +} +.-space-y-10 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-2.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-2.5rem * var(--tw-space-y-reverse)); +} +.-space-y-11 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-2.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-2.75rem * var(--tw-space-y-reverse)); +} +.-space-y-12 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-3rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-3rem * var(--tw-space-y-reverse)); +} +.-space-y-14 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-3.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-3.5rem * var(--tw-space-y-reverse)); +} +.-space-y-16 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-4rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-4rem * var(--tw-space-y-reverse)); +} +.-space-y-20 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-5rem * var(--tw-space-y-reverse)); +} +.-space-y-24 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-6rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-6rem * var(--tw-space-y-reverse)); +} +.-space-y-28 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-7rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-7rem * var(--tw-space-y-reverse)); +} +.-space-y-31 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-30.938rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-30.938rem * var(--tw-space-y-reverse)); +} +.-space-y-32 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-8rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-8rem * var(--tw-space-y-reverse)); +} +.-space-y-33 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-8.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-8.5rem * var(--tw-space-y-reverse)); +} +.-space-y-36 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-9rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-9rem * var(--tw-space-y-reverse)); +} +.-space-y-37 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-9.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-9.25rem * var(--tw-space-y-reverse)); +} +.-space-y-40 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-10rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-10rem * var(--tw-space-y-reverse)); +} +.-space-y-44 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-11rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-11rem * var(--tw-space-y-reverse)); +} +.-space-y-46 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-46.875rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-46.875rem * var(--tw-space-y-reverse)); +} +.-space-y-48 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-12rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-12rem * var(--tw-space-y-reverse)); +} +.-space-y-52 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-13rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-13rem * var(--tw-space-y-reverse)); +} +.-space-y-56 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-14rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-14rem * var(--tw-space-y-reverse)); +} +.-space-y-60 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-15rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-15rem * var(--tw-space-y-reverse)); +} +.-space-y-64 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-16rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-16rem * var(--tw-space-y-reverse)); +} +.-space-y-72 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-18rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-18rem * var(--tw-space-y-reverse)); +} +.-space-y-80 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-20rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-20rem * var(--tw-space-y-reverse)); +} +.-space-y-96 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-24rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-24rem * var(--tw-space-y-reverse)); +} +.-space-y-px > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-1px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-1px * var(--tw-space-y-reverse)); +} +.-space-y-0\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-0.125rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-0.125rem * var(--tw-space-y-reverse)); +} +.-space-y-1\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-0.375rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-0.375rem * var(--tw-space-y-reverse)); +} +.-space-y-2\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-0.625rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-0.625rem * var(--tw-space-y-reverse)); +} +.-space-y-3\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-0.875rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-0.875rem * var(--tw-space-y-reverse)); +} +.-space-y-modal > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-610px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-610px * var(--tw-space-y-reverse)); +} +.-space-y-5\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-1.30rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-1.30rem * var(--tw-space-y-reverse)); +} +.-space-y-9\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-2.45rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-2.45rem * var(--tw-space-y-reverse)); +} +.-space-y-12\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-3.2rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-3.2rem * var(--tw-space-y-reverse)); +} +.-space-y-32\.5 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(-8.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(-8.5rem * var(--tw-space-y-reverse)); +} +.space-y-reverse > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 1; +} +.space-x-reverse > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 1; +} +.divide-x-0 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-x-reverse: 0; + border-right-width: calc(0px * var(--tw-divide-x-reverse)); + border-left-width: calc(0px * calc(1 - var(--tw-divide-x-reverse))); +} +.divide-x-2 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-x-reverse: 0; + border-right-width: calc(2px * var(--tw-divide-x-reverse)); + border-left-width: calc(2px * calc(1 - var(--tw-divide-x-reverse))); +} +.divide-x-4 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-x-reverse: 0; + border-right-width: calc(4px * var(--tw-divide-x-reverse)); + border-left-width: calc(4px * calc(1 - var(--tw-divide-x-reverse))); +} +.divide-x-8 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-x-reverse: 0; + border-right-width: calc(8px * var(--tw-divide-x-reverse)); + border-left-width: calc(8px * calc(1 - var(--tw-divide-x-reverse))); +} +.divide-x > :not([hidden]) ~ :not([hidden]){ + --tw-divide-x-reverse: 0; + border-right-width: calc(1px * var(--tw-divide-x-reverse)); + border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); +} +.divide-y-0 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-y-reverse: 0; + border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(0px * var(--tw-divide-y-reverse)); +} +.divide-y-2 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-y-reverse: 0; + border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(2px * var(--tw-divide-y-reverse)); +} +.divide-y-4 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-y-reverse: 0; + border-top-width: calc(4px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(4px * var(--tw-divide-y-reverse)); +} +.divide-y-8 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-y-reverse: 0; + border-top-width: calc(8px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(8px * var(--tw-divide-y-reverse)); +} +.divide-y > :not([hidden]) ~ :not([hidden]){ + --tw-divide-y-reverse: 0; + border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); +} +.divide-y-reverse > :not([hidden]) ~ :not([hidden]){ + --tw-divide-y-reverse: 1; +} +.divide-x-reverse > :not([hidden]) ~ :not([hidden]){ + --tw-divide-x-reverse: 1; +} +.divide-solid > :not([hidden]) ~ :not([hidden]){ + border-style: solid; +} +.divide-dashed > :not([hidden]) ~ :not([hidden]){ + border-style: dashed; +} +.divide-dotted > :not([hidden]) ~ :not([hidden]){ + border-style: dotted; +} +.divide-double > :not([hidden]) ~ :not([hidden]){ + border-style: double; +} +.divide-none > :not([hidden]) ~ :not([hidden]){ + border-style: none; +} +.divide-inherit > :not([hidden]) ~ :not([hidden]){ + border-color: inherit; +} +.divide-current > :not([hidden]) ~ :not([hidden]){ + border-color: currentColor; +} +.divide-transparent > :not([hidden]) ~ :not([hidden]){ + border-color: transparent; +} +.divide-black-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(246 246 246 / var(--tw-divide-opacity)); +} +.divide-black-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(236 236 236 / var(--tw-divide-opacity)); +} +.divide-black-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(208 208 208 / var(--tw-divide-opacity)); +} +.divide-black-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(179 179 179 / var(--tw-divide-opacity)); +} +.divide-black-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(123 123 123 / var(--tw-divide-opacity)); +} +.divide-black-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(66 66 66 / var(--tw-divide-opacity)); +} +.divide-black-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(59 59 59 / var(--tw-divide-opacity)); +} +.divide-black-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(50 50 50 / var(--tw-divide-opacity)); +} +.divide-black-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(40 40 40 / var(--tw-divide-opacity)); +} +.divide-black-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(32 32 32 / var(--tw-divide-opacity)); +} +.divide-black > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(66 66 66 / var(--tw-divide-opacity)); +} +.divide-white > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-divide-opacity)); +} +.divide-slate-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(248 250 252 / var(--tw-divide-opacity)); +} +.divide-slate-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(241 245 249 / var(--tw-divide-opacity)); +} +.divide-slate-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(226 232 240 / var(--tw-divide-opacity)); +} +.divide-slate-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(203 213 225 / var(--tw-divide-opacity)); +} +.divide-slate-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(148 163 184 / var(--tw-divide-opacity)); +} +.divide-slate-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(100 116 139 / var(--tw-divide-opacity)); +} +.divide-slate-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(71 85 105 / var(--tw-divide-opacity)); +} +.divide-slate-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(51 65 85 / var(--tw-divide-opacity)); +} +.divide-slate-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(30 41 59 / var(--tw-divide-opacity)); +} +.divide-slate-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(15 23 42 / var(--tw-divide-opacity)); +} +.divide-gray-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(249 250 251 / var(--tw-divide-opacity)); +} +.divide-gray-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(243 244 246 / var(--tw-divide-opacity)); +} +.divide-gray-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-divide-opacity)); +} +.divide-gray-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-divide-opacity)); +} +.divide-gray-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(156 163 175 / var(--tw-divide-opacity)); +} +.divide-gray-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(107 114 128 / var(--tw-divide-opacity)); +} +.divide-gray-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(75 85 99 / var(--tw-divide-opacity)); +} +.divide-gray-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(55 65 81 / var(--tw-divide-opacity)); +} +.divide-gray-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(31 41 55 / var(--tw-divide-opacity)); +} +.divide-gray-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(17 24 39 / var(--tw-divide-opacity)); +} +.divide-zinc-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(250 250 250 / var(--tw-divide-opacity)); +} +.divide-zinc-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(244 244 245 / var(--tw-divide-opacity)); +} +.divide-zinc-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(228 228 231 / var(--tw-divide-opacity)); +} +.divide-zinc-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(212 212 216 / var(--tw-divide-opacity)); +} +.divide-zinc-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(161 161 170 / var(--tw-divide-opacity)); +} +.divide-zinc-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(113 113 122 / var(--tw-divide-opacity)); +} +.divide-zinc-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(82 82 91 / var(--tw-divide-opacity)); +} +.divide-zinc-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(63 63 70 / var(--tw-divide-opacity)); +} +.divide-zinc-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(39 39 42 / var(--tw-divide-opacity)); +} +.divide-zinc-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(24 24 27 / var(--tw-divide-opacity)); +} +.divide-neutral-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(250 250 250 / var(--tw-divide-opacity)); +} +.divide-neutral-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(245 245 245 / var(--tw-divide-opacity)); +} +.divide-neutral-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(229 229 229 / var(--tw-divide-opacity)); +} +.divide-neutral-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(212 212 212 / var(--tw-divide-opacity)); +} +.divide-neutral-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(163 163 163 / var(--tw-divide-opacity)); +} +.divide-neutral-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(115 115 115 / var(--tw-divide-opacity)); +} +.divide-neutral-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(82 82 82 / var(--tw-divide-opacity)); +} +.divide-neutral-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(64 64 64 / var(--tw-divide-opacity)); +} +.divide-neutral-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(38 38 38 / var(--tw-divide-opacity)); +} +.divide-neutral-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(23 23 23 / var(--tw-divide-opacity)); +} +.divide-stone-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(250 250 249 / var(--tw-divide-opacity)); +} +.divide-stone-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(245 245 244 / var(--tw-divide-opacity)); +} +.divide-stone-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(231 229 228 / var(--tw-divide-opacity)); +} +.divide-stone-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(214 211 209 / var(--tw-divide-opacity)); +} +.divide-stone-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(168 162 158 / var(--tw-divide-opacity)); +} +.divide-stone-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(120 113 108 / var(--tw-divide-opacity)); +} +.divide-stone-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(87 83 78 / var(--tw-divide-opacity)); +} +.divide-stone-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(68 64 60 / var(--tw-divide-opacity)); +} +.divide-stone-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(41 37 36 / var(--tw-divide-opacity)); +} +.divide-stone-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(28 25 23 / var(--tw-divide-opacity)); +} +.divide-red-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(252 242 242 / var(--tw-divide-opacity)); +} +.divide-red-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(250 230 230 / var(--tw-divide-opacity)); +} +.divide-red-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(242 191 191 / var(--tw-divide-opacity)); +} +.divide-red-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(235 153 153 / var(--tw-divide-opacity)); +} +.divide-red-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(219 77 77 / var(--tw-divide-opacity)); +} +.divide-red-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(204 0 0 / var(--tw-divide-opacity)); +} +.divide-red-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(184 0 0 / var(--tw-divide-opacity)); +} +.divide-red-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(153 0 0 / var(--tw-divide-opacity)); +} +.divide-red-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(122 0 0 / var(--tw-divide-opacity)); +} +.divide-red-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(100 0 0 / var(--tw-divide-opacity)); +} +.divide-red > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(204 0 0 / var(--tw-divide-opacity)); +} +.divide-orange-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(255 250 243 / var(--tw-divide-opacity)); +} +.divide-orange-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(254 245 231 / var(--tw-divide-opacity)); +} +.divide-orange-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(253 231 194 / var(--tw-divide-opacity)); +} +.divide-orange-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(251 216 157 / var(--tw-divide-opacity)); +} +.divide-orange-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(248 187 84 / var(--tw-divide-opacity)); +} +.divide-orange-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(245 158 11 / var(--tw-divide-opacity)); +} +.divide-orange-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(221 142 10 / var(--tw-divide-opacity)); +} +.divide-orange-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(184 119 8 / var(--tw-divide-opacity)); +} +.divide-orange-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(147 95 7 / var(--tw-divide-opacity)); +} +.divide-orange-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(120 77 5 / var(--tw-divide-opacity)); +} +.divide-orange > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(245 158 11 / var(--tw-divide-opacity)); +} +.divide-amber-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(255 251 235 / var(--tw-divide-opacity)); +} +.divide-amber-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(254 243 199 / var(--tw-divide-opacity)); +} +.divide-amber-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(253 230 138 / var(--tw-divide-opacity)); +} +.divide-amber-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(252 211 77 / var(--tw-divide-opacity)); +} +.divide-amber-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(251 191 36 / var(--tw-divide-opacity)); +} +.divide-amber-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(245 158 11 / var(--tw-divide-opacity)); +} +.divide-amber-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(217 119 6 / var(--tw-divide-opacity)); +} +.divide-amber-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(180 83 9 / var(--tw-divide-opacity)); +} +.divide-amber-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(146 64 14 / var(--tw-divide-opacity)); +} +.divide-amber-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(120 53 15 / var(--tw-divide-opacity)); +} +.divide-yellow-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(253 253 234 / var(--tw-divide-opacity)); +} +.divide-yellow-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(253 246 178 / var(--tw-divide-opacity)); +} +.divide-yellow-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(252 233 106 / var(--tw-divide-opacity)); +} +.divide-yellow-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(250 202 21 / var(--tw-divide-opacity)); +} +.divide-yellow-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(227 160 8 / var(--tw-divide-opacity)); +} +.divide-yellow-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(194 120 3 / var(--tw-divide-opacity)); +} +.divide-yellow-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(159 88 10 / var(--tw-divide-opacity)); +} +.divide-yellow-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(142 75 16 / var(--tw-divide-opacity)); +} +.divide-yellow-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(114 59 19 / var(--tw-divide-opacity)); +} +.divide-yellow-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(99 49 18 / var(--tw-divide-opacity)); +} +.divide-lime-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(247 254 231 / var(--tw-divide-opacity)); +} +.divide-lime-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(236 252 203 / var(--tw-divide-opacity)); +} +.divide-lime-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(217 249 157 / var(--tw-divide-opacity)); +} +.divide-lime-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(190 242 100 / var(--tw-divide-opacity)); +} +.divide-lime-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(163 230 53 / var(--tw-divide-opacity)); +} +.divide-lime-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(132 204 22 / var(--tw-divide-opacity)); +} +.divide-lime-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(101 163 13 / var(--tw-divide-opacity)); +} +.divide-lime-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(77 124 15 / var(--tw-divide-opacity)); +} +.divide-lime-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(63 98 18 / var(--tw-divide-opacity)); +} +.divide-lime-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(54 83 20 / var(--tw-divide-opacity)); +} +.divide-green-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(248 250 246 / var(--tw-divide-opacity)); +} +.divide-green-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(241 246 238 / var(--tw-divide-opacity)); +} +.divide-green-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(219 232 212 / var(--tw-divide-opacity)); +} +.divide-green-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(197 217 186 / var(--tw-divide-opacity)); +} +.divide-green-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(154 189 134 / var(--tw-divide-opacity)); +} +.divide-green-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(110 161 82 / var(--tw-divide-opacity)); +} +.divide-green-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(99 145 74 / var(--tw-divide-opacity)); +} +.divide-green-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(83 121 62 / var(--tw-divide-opacity)); +} +.divide-green-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(66 97 49 / var(--tw-divide-opacity)); +} +.divide-green-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(54 79 40 / var(--tw-divide-opacity)); +} +.divide-green > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(110 161 82 / var(--tw-divide-opacity)); +} +.divide-emerald-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(236 253 245 / var(--tw-divide-opacity)); +} +.divide-emerald-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(209 250 229 / var(--tw-divide-opacity)); +} +.divide-emerald-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(167 243 208 / var(--tw-divide-opacity)); +} +.divide-emerald-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(110 231 183 / var(--tw-divide-opacity)); +} +.divide-emerald-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(52 211 153 / var(--tw-divide-opacity)); +} +.divide-emerald-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(16 185 129 / var(--tw-divide-opacity)); +} +.divide-emerald-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(5 150 105 / var(--tw-divide-opacity)); +} +.divide-emerald-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(4 120 87 / var(--tw-divide-opacity)); +} +.divide-emerald-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(6 95 70 / var(--tw-divide-opacity)); +} +.divide-emerald-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(6 78 59 / var(--tw-divide-opacity)); +} +.divide-teal-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(237 250 250 / var(--tw-divide-opacity)); +} +.divide-teal-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(213 245 246 / var(--tw-divide-opacity)); +} +.divide-teal-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(175 236 239 / var(--tw-divide-opacity)); +} +.divide-teal-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(126 220 226 / var(--tw-divide-opacity)); +} +.divide-teal-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(22 189 202 / var(--tw-divide-opacity)); +} +.divide-teal-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(6 148 162 / var(--tw-divide-opacity)); +} +.divide-teal-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(4 116 129 / var(--tw-divide-opacity)); +} +.divide-teal-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(3 102 114 / var(--tw-divide-opacity)); +} +.divide-teal-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(5 80 92 / var(--tw-divide-opacity)); +} +.divide-teal-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(1 68 81 / var(--tw-divide-opacity)); +} +.divide-cyan-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(236 254 255 / var(--tw-divide-opacity)); +} +.divide-cyan-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(207 250 254 / var(--tw-divide-opacity)); +} +.divide-cyan-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(165 243 252 / var(--tw-divide-opacity)); +} +.divide-cyan-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(103 232 249 / var(--tw-divide-opacity)); +} +.divide-cyan-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(34 211 238 / var(--tw-divide-opacity)); +} +.divide-cyan-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(6 182 212 / var(--tw-divide-opacity)); +} +.divide-cyan-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(8 145 178 / var(--tw-divide-opacity)); +} +.divide-cyan-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(14 116 144 / var(--tw-divide-opacity)); +} +.divide-cyan-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(21 94 117 / var(--tw-divide-opacity)); +} +.divide-cyan-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(22 78 99 / var(--tw-divide-opacity)); +} +.divide-sky-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(240 249 255 / var(--tw-divide-opacity)); +} +.divide-sky-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(224 242 254 / var(--tw-divide-opacity)); +} +.divide-sky-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(186 230 253 / var(--tw-divide-opacity)); +} +.divide-sky-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(125 211 252 / var(--tw-divide-opacity)); +} +.divide-sky-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(56 189 248 / var(--tw-divide-opacity)); +} +.divide-sky-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(14 165 233 / var(--tw-divide-opacity)); +} +.divide-sky-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(2 132 199 / var(--tw-divide-opacity)); +} +.divide-sky-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(3 105 161 / var(--tw-divide-opacity)); +} +.divide-sky-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(7 89 133 / var(--tw-divide-opacity)); +} +.divide-sky-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(12 74 110 / var(--tw-divide-opacity)); +} +.divide-blue-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(242 248 251 / var(--tw-divide-opacity)); +} +.divide-blue-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(230 241 246 / var(--tw-divide-opacity)); +} +.divide-blue-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(191 219 233 / var(--tw-divide-opacity)); +} +.divide-blue-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(153 197 219 / var(--tw-divide-opacity)); +} +.divide-blue-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(77 154 193 / var(--tw-divide-opacity)); +} +.divide-blue-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(0 110 166 / var(--tw-divide-opacity)); +} +.divide-blue-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(0 99 149 / var(--tw-divide-opacity)); +} +.divide-blue-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(0 83 125 / var(--tw-divide-opacity)); +} +.divide-blue-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(0 66 100 / var(--tw-divide-opacity)); +} +.divide-blue-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(0 54 81 / var(--tw-divide-opacity)); +} +.divide-blue > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(0 110 166 / var(--tw-divide-opacity)); +} +.divide-indigo-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(240 245 255 / var(--tw-divide-opacity)); +} +.divide-indigo-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(229 237 255 / var(--tw-divide-opacity)); +} +.divide-indigo-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(205 219 254 / var(--tw-divide-opacity)); +} +.divide-indigo-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(180 198 252 / var(--tw-divide-opacity)); +} +.divide-indigo-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(141 162 251 / var(--tw-divide-opacity)); +} +.divide-indigo-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(104 117 245 / var(--tw-divide-opacity)); +} +.divide-indigo-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(88 80 236 / var(--tw-divide-opacity)); +} +.divide-indigo-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(81 69 205 / var(--tw-divide-opacity)); +} +.divide-indigo-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(66 56 157 / var(--tw-divide-opacity)); +} +.divide-indigo-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(54 47 120 / var(--tw-divide-opacity)); +} +.divide-violet-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(245 243 255 / var(--tw-divide-opacity)); +} +.divide-violet-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(237 233 254 / var(--tw-divide-opacity)); +} +.divide-violet-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(221 214 254 / var(--tw-divide-opacity)); +} +.divide-violet-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(196 181 253 / var(--tw-divide-opacity)); +} +.divide-violet-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(167 139 250 / var(--tw-divide-opacity)); +} +.divide-violet-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(139 92 246 / var(--tw-divide-opacity)); +} +.divide-violet-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(124 58 237 / var(--tw-divide-opacity)); +} +.divide-violet-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(109 40 217 / var(--tw-divide-opacity)); +} +.divide-violet-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(91 33 182 / var(--tw-divide-opacity)); +} +.divide-violet-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(76 29 149 / var(--tw-divide-opacity)); +} +.divide-purple-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(247 247 249 / var(--tw-divide-opacity)); +} +.divide-purple-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(238 238 243 / var(--tw-divide-opacity)); +} +.divide-purple-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(213 213 226 / var(--tw-divide-opacity)); +} +.divide-purple-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(187 188 209 / var(--tw-divide-opacity)); +} +.divide-purple-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(136 138 174 / var(--tw-divide-opacity)); +} +.divide-purple-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-divide-opacity)); +} +.divide-purple-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(77 79 125 / var(--tw-divide-opacity)); +} +.divide-purple-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(64 66 104 / var(--tw-divide-opacity)); +} +.divide-purple-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(51 53 83 / var(--tw-divide-opacity)); +} +.divide-purple-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(42 43 68 / var(--tw-divide-opacity)); +} +.divide-purple > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-divide-opacity)); +} +.divide-fuchsia-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(253 244 255 / var(--tw-divide-opacity)); +} +.divide-fuchsia-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(250 232 255 / var(--tw-divide-opacity)); +} +.divide-fuchsia-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(245 208 254 / var(--tw-divide-opacity)); +} +.divide-fuchsia-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(240 171 252 / var(--tw-divide-opacity)); +} +.divide-fuchsia-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(232 121 249 / var(--tw-divide-opacity)); +} +.divide-fuchsia-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(217 70 239 / var(--tw-divide-opacity)); +} +.divide-fuchsia-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(192 38 211 / var(--tw-divide-opacity)); +} +.divide-fuchsia-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(162 28 175 / var(--tw-divide-opacity)); +} +.divide-fuchsia-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(134 25 143 / var(--tw-divide-opacity)); +} +.divide-fuchsia-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(112 26 117 / var(--tw-divide-opacity)); +} +.divide-pink-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(253 242 248 / var(--tw-divide-opacity)); +} +.divide-pink-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(252 232 243 / var(--tw-divide-opacity)); +} +.divide-pink-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(250 209 232 / var(--tw-divide-opacity)); +} +.divide-pink-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(248 180 217 / var(--tw-divide-opacity)); +} +.divide-pink-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(241 126 184 / var(--tw-divide-opacity)); +} +.divide-pink-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(231 70 148 / var(--tw-divide-opacity)); +} +.divide-pink-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(214 31 105 / var(--tw-divide-opacity)); +} +.divide-pink-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(191 18 93 / var(--tw-divide-opacity)); +} +.divide-pink-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(153 21 75 / var(--tw-divide-opacity)); +} +.divide-pink-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(117 26 61 / var(--tw-divide-opacity)); +} +.divide-rose-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(255 241 242 / var(--tw-divide-opacity)); +} +.divide-rose-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(255 228 230 / var(--tw-divide-opacity)); +} +.divide-rose-200 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(254 205 211 / var(--tw-divide-opacity)); +} +.divide-rose-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(253 164 175 / var(--tw-divide-opacity)); +} +.divide-rose-400 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(251 113 133 / var(--tw-divide-opacity)); +} +.divide-rose-500 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(244 63 94 / var(--tw-divide-opacity)); +} +.divide-rose-600 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(225 29 72 / var(--tw-divide-opacity)); +} +.divide-rose-700 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(190 18 60 / var(--tw-divide-opacity)); +} +.divide-rose-800 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(159 18 57 / var(--tw-divide-opacity)); +} +.divide-rose-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(136 19 55 / var(--tw-divide-opacity)); +} +.divide-rose > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(244 63 94 / var(--tw-divide-opacity)); +} +.divide-lilac-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(245 247 250 / var(--tw-divide-opacity)); +} +.divide-lilac-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(237 240 252 / var(--tw-divide-opacity)); +} +.divide-lilac-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(220 226 249 / var(--tw-divide-opacity)); +} +.divide-lilac > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(248 249 254 / var(--tw-divide-opacity)); +} +.divide-golden-900 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(191 184 130 / var(--tw-divide-opacity)); +} +.divide-golden > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(209 201 137 / var(--tw-divide-opacity)); +} +.divide-status-success > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(241 246 238 / var(--tw-divide-opacity)); +} +.divide-status-danger > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(250 230 230 / var(--tw-divide-opacity)); +} +.divide-status-sent > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(254 245 231 / var(--tw-divide-opacity)); +} +.divide-status-viewed > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(238 238 243 / var(--tw-divide-opacity)); +} +.divide-status-draft > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(236 236 236 / var(--tw-divide-opacity)); +} +.divide-status-partial > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(230 241 246 / var(--tw-divide-opacity)); +} +.divide-status-canceled > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(40 40 40 / var(--tw-divide-opacity)); +} +.divide-status-warning > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(254 245 231 / var(--tw-divide-opacity)); +} +.divide-text-status-success > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(99 145 74 / var(--tw-divide-opacity)); +} +.divide-text-status-danger > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(184 0 0 / var(--tw-divide-opacity)); +} +.divide-text-status-sent > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(221 142 10 / var(--tw-divide-opacity)); +} +.divide-text-status-viewed > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(77 79 125 / var(--tw-divide-opacity)); +} +.divide-text-status-draft > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(59 59 59 / var(--tw-divide-opacity)); +} +.divide-text-status-partial > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(0 99 149 / var(--tw-divide-opacity)); +} +.divide-text-status-canceled > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-divide-opacity)); +} +.divide-text-status-warning > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(184 119 8 / var(--tw-divide-opacity)); +} +.divide-body > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(252 252 252 / var(--tw-divide-opacity)); +} +.divide-light-gray > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(199 201 217 / var(--tw-divide-opacity)); +} +.divide-dark-blue > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(21 40 75 / var(--tw-divide-opacity)); +} +.divide-lighter-gray > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(242 242 245 / var(--tw-divide-opacity)); +} +.divide-purple-lighter > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(242 244 252 / var(--tw-divide-opacity)); +} +.divide-modal-background > :not([hidden]) ~ :not([hidden]){ + border-color: rgba(0, 0, 0, 0.3); +} +.divide-testing > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgb(147 95 7 / var(--tw-divide-opacity)); +} +.divide-opacity-0 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0; +} +.divide-opacity-5 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.05; +} +.divide-opacity-10 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.1; +} +.divide-opacity-20 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.2; +} +.divide-opacity-25 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.25; +} +.divide-opacity-30 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.3; +} +.divide-opacity-40 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.4; +} +.divide-opacity-50 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.5; +} +.divide-opacity-60 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.6; +} +.divide-opacity-70 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.7; +} +.divide-opacity-75 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.75; +} +.divide-opacity-80 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.8; +} +.divide-opacity-90 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.9; +} +.divide-opacity-95 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 0.95; +} +.divide-opacity-100 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; +} +.place-self-auto{ + place-self: auto; +} +.place-self-start{ + place-self: start; +} +.place-self-end{ + place-self: end; +} +.place-self-center{ + place-self: center; +} +.place-self-stretch{ + place-self: stretch; +} +.self-auto{ + -ms-flex-item-align: auto; + align-self: auto; +} +.self-start{ + -ms-flex-item-align: start; + align-self: flex-start; +} +.self-end{ + -ms-flex-item-align: end; + align-self: flex-end; +} +.self-center{ + -ms-flex-item-align: center; + align-self: center; +} +.self-stretch{ + -ms-flex-item-align: stretch; + align-self: stretch; +} +.self-baseline{ + -ms-flex-item-align: baseline; + align-self: baseline; +} +.justify-self-auto{ + justify-self: auto; +} +.justify-self-start{ + justify-self: start; +} +.justify-self-end{ + justify-self: end; +} +.justify-self-center{ + justify-self: center; +} +.justify-self-stretch{ + justify-self: stretch; +} +.overflow-auto{ + overflow: auto; +} +.overflow-hidden{ + overflow: hidden; +} +.overflow-clip{ + overflow: clip; +} +.overflow-visible{ + overflow: visible; +} +.overflow-scroll{ + overflow: scroll; +} +.overflow-x-auto{ + overflow-x: auto; +} +.overflow-y-auto{ + overflow-y: auto; +} +.overflow-x-hidden{ + overflow-x: hidden; +} +.overflow-y-hidden{ + overflow-y: hidden; +} +.overflow-x-clip{ + overflow-x: clip; +} +.overflow-y-clip{ + overflow-y: clip; +} +.overflow-x-visible{ + overflow-x: visible; +} +.overflow-y-visible{ + overflow-y: visible; +} +.overflow-x-scroll{ + overflow-x: scroll; +} +.overflow-y-scroll{ + overflow-y: scroll; +} +.overscroll-auto{ + -ms-scroll-chaining: chained; + overscroll-behavior: auto; +} +.overscroll-contain{ + -ms-scroll-chaining: none; + overscroll-behavior: contain; +} +.overscroll-none{ + -ms-scroll-chaining: none; + overscroll-behavior: none; +} +.overscroll-y-auto{ + overscroll-behavior-y: auto; +} +.overscroll-y-contain{ + overscroll-behavior-y: contain; +} +.overscroll-y-none{ + overscroll-behavior-y: none; +} +.overscroll-x-auto{ + overscroll-behavior-x: auto; +} +.overscroll-x-contain{ + overscroll-behavior-x: contain; +} +.overscroll-x-none{ + overscroll-behavior-x: none; +} +.scroll-auto{ + scroll-behavior: auto; +} +.scroll-smooth{ + scroll-behavior: smooth; +} +.truncate{ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.overflow-ellipsis{ + text-overflow: ellipsis; +} +.text-ellipsis{ + text-overflow: ellipsis; +} +.text-clip{ + text-overflow: clip; +} +.whitespace-normal{ + white-space: normal; +} +.whitespace-nowrap{ + white-space: nowrap; +} +.whitespace-pre{ + white-space: pre; +} +.whitespace-pre-line{ + white-space: pre-line; +} +.whitespace-pre-wrap{ + white-space: pre-wrap; +} +.break-normal{ + overflow-wrap: normal; + word-break: normal; +} +.break-words{ + overflow-wrap: break-word; +} +.break-all{ + word-break: break-all; +} +.rounded-none{ + border-radius: 0px; +} +.rounded-sm{ + border-radius: 0.125rem; +} +.rounded{ + border-radius: 0.25rem; +} +.rounded-md{ + border-radius: 0.375rem; +} +.rounded-lg{ + border-radius: 0.5rem; +} +.rounded-xl{ + border-radius: 0.75rem; +} +.rounded-2xl{ + border-radius: 1rem; +} +.rounded-3xl{ + border-radius: 1.5rem; +} +.rounded-full{ + border-radius: 9999px; +} +.rounded-t-none{ + border-top-left-radius: 0px; + border-top-right-radius: 0px; +} +.rounded-t-sm{ + border-top-left-radius: 0.125rem; + border-top-right-radius: 0.125rem; +} +.rounded-t{ + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.rounded-t-md{ + border-top-left-radius: 0.375rem; + border-top-right-radius: 0.375rem; +} +.rounded-t-lg{ + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; +} +.rounded-t-xl{ + border-top-left-radius: 0.75rem; + border-top-right-radius: 0.75rem; +} +.rounded-t-2xl{ + border-top-left-radius: 1rem; + border-top-right-radius: 1rem; +} +.rounded-t-3xl{ + border-top-left-radius: 1.5rem; + border-top-right-radius: 1.5rem; +} +.rounded-t-full{ + border-top-left-radius: 9999px; + border-top-right-radius: 9999px; +} +.rounded-r-none{ + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; +} +.rounded-r-sm{ + border-top-right-radius: 0.125rem; + border-bottom-right-radius: 0.125rem; +} +.rounded-r{ + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} +.rounded-r-md{ + border-top-right-radius: 0.375rem; + border-bottom-right-radius: 0.375rem; +} +.rounded-r-lg{ + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; +} +.rounded-r-xl{ + border-top-right-radius: 0.75rem; + border-bottom-right-radius: 0.75rem; +} +.rounded-r-2xl{ + border-top-right-radius: 1rem; + border-bottom-right-radius: 1rem; +} +.rounded-r-3xl{ + border-top-right-radius: 1.5rem; + border-bottom-right-radius: 1.5rem; +} +.rounded-r-full{ + border-top-right-radius: 9999px; + border-bottom-right-radius: 9999px; +} +.rounded-b-none{ + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; +} +.rounded-b-sm{ + border-bottom-right-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; +} +.rounded-b{ + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.rounded-b-md{ + border-bottom-right-radius: 0.375rem; + border-bottom-left-radius: 0.375rem; +} +.rounded-b-lg{ + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} +.rounded-b-xl{ + border-bottom-right-radius: 0.75rem; + border-bottom-left-radius: 0.75rem; +} +.rounded-b-2xl{ + border-bottom-right-radius: 1rem; + border-bottom-left-radius: 1rem; +} +.rounded-b-3xl{ + border-bottom-right-radius: 1.5rem; + border-bottom-left-radius: 1.5rem; +} +.rounded-b-full{ + border-bottom-right-radius: 9999px; + border-bottom-left-radius: 9999px; +} +.rounded-l-none{ + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} +.rounded-l-sm{ + border-top-left-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; +} +.rounded-l{ + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.rounded-l-md{ + border-top-left-radius: 0.375rem; + border-bottom-left-radius: 0.375rem; +} +.rounded-l-lg{ + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} +.rounded-l-xl{ + border-top-left-radius: 0.75rem; + border-bottom-left-radius: 0.75rem; +} +.rounded-l-2xl{ + border-top-left-radius: 1rem; + border-bottom-left-radius: 1rem; +} +.rounded-l-3xl{ + border-top-left-radius: 1.5rem; + border-bottom-left-radius: 1.5rem; +} +.rounded-l-full{ + border-top-left-radius: 9999px; + border-bottom-left-radius: 9999px; +} +.rounded-tl-none{ + border-top-left-radius: 0px; +} +.rounded-tl-sm{ + border-top-left-radius: 0.125rem; +} +.rounded-tl{ + border-top-left-radius: 0.25rem; +} +.rounded-tl-md{ + border-top-left-radius: 0.375rem; +} +.rounded-tl-lg{ + border-top-left-radius: 0.5rem; +} +.rounded-tl-xl{ + border-top-left-radius: 0.75rem; +} +.rounded-tl-2xl{ + border-top-left-radius: 1rem; +} +.rounded-tl-3xl{ + border-top-left-radius: 1.5rem; +} +.rounded-tl-full{ + border-top-left-radius: 9999px; +} +.rounded-tr-none{ + border-top-right-radius: 0px; +} +.rounded-tr-sm{ + border-top-right-radius: 0.125rem; +} +.rounded-tr{ + border-top-right-radius: 0.25rem; +} +.rounded-tr-md{ + border-top-right-radius: 0.375rem; +} +.rounded-tr-lg{ + border-top-right-radius: 0.5rem; +} +.rounded-tr-xl{ + border-top-right-radius: 0.75rem; +} +.rounded-tr-2xl{ + border-top-right-radius: 1rem; +} +.rounded-tr-3xl{ + border-top-right-radius: 1.5rem; +} +.rounded-tr-full{ + border-top-right-radius: 9999px; +} +.rounded-br-none{ + border-bottom-right-radius: 0px; +} +.rounded-br-sm{ + border-bottom-right-radius: 0.125rem; +} +.rounded-br{ + border-bottom-right-radius: 0.25rem; +} +.rounded-br-md{ + border-bottom-right-radius: 0.375rem; +} +.rounded-br-lg{ + border-bottom-right-radius: 0.5rem; +} +.rounded-br-xl{ + border-bottom-right-radius: 0.75rem; +} +.rounded-br-2xl{ + border-bottom-right-radius: 1rem; +} +.rounded-br-3xl{ + border-bottom-right-radius: 1.5rem; +} +.rounded-br-full{ + border-bottom-right-radius: 9999px; +} +.rounded-bl-none{ + border-bottom-left-radius: 0px; +} +.rounded-bl-sm{ + border-bottom-left-radius: 0.125rem; +} +.rounded-bl{ + border-bottom-left-radius: 0.25rem; +} +.rounded-bl-md{ + border-bottom-left-radius: 0.375rem; +} +.rounded-bl-lg{ + border-bottom-left-radius: 0.5rem; +} +.rounded-bl-xl{ + border-bottom-left-radius: 0.75rem; +} +.rounded-bl-2xl{ + border-bottom-left-radius: 1rem; +} +.rounded-bl-3xl{ + border-bottom-left-radius: 1.5rem; +} +.rounded-bl-full{ + border-bottom-left-radius: 9999px; +} +.border-0{ + border-width: 0px; +} +.border-2{ + border-width: 2px; +} +.border-4{ + border-width: 4px; +} +.border-8{ + border-width: 8px; +} +.border{ + border-width: 1px; +} +.border-x-0{ + border-left-width: 0px; + border-right-width: 0px; +} +.border-x-2{ + border-left-width: 2px; + border-right-width: 2px; +} +.border-x-4{ + border-left-width: 4px; + border-right-width: 4px; +} +.border-x-8{ + border-left-width: 8px; + border-right-width: 8px; +} +.border-x{ + border-left-width: 1px; + border-right-width: 1px; +} +.border-y-0{ + border-top-width: 0px; + border-bottom-width: 0px; +} +.border-y-2{ + border-top-width: 2px; + border-bottom-width: 2px; +} +.border-y-4{ + border-top-width: 4px; + border-bottom-width: 4px; +} +.border-y-8{ + border-top-width: 8px; + border-bottom-width: 8px; +} +.border-y{ + border-top-width: 1px; + border-bottom-width: 1px; +} +.border-t-0{ + border-top-width: 0px; +} +.border-t-2{ + border-top-width: 2px; +} +.border-t-4{ + border-top-width: 4px; +} +.border-t-8{ + border-top-width: 8px; +} +.border-t{ + border-top-width: 1px; +} +.border-r-0{ + border-right-width: 0px; +} +.border-r-2{ + border-right-width: 2px; +} +.border-r-4{ + border-right-width: 4px; +} +.border-r-8{ + border-right-width: 8px; +} +.border-r{ + border-right-width: 1px; +} +.border-b-0{ + border-bottom-width: 0px; +} +.border-b-2{ + border-bottom-width: 2px; +} +.border-b-4{ + border-bottom-width: 4px; +} +.border-b-8{ + border-bottom-width: 8px; +} +.border-b{ + border-bottom-width: 1px; +} +.border-l-0{ + border-left-width: 0px; +} +.border-l-2{ + border-left-width: 2px; +} +.border-l-4{ + border-left-width: 4px; +} +.border-l-8{ + border-left-width: 8px; +} +.border-l{ + border-left-width: 1px; +} +.border-solid{ + border-style: solid; +} +.border-dashed{ + border-style: dashed; +} +.border-dotted{ + border-style: dotted; +} +.border-double{ + border-style: double; +} +.border-hidden{ + border-style: hidden; +} +.border-none{ + border-style: none; +} +.border-inherit{ + border-color: inherit; +} +.border-current{ + border-color: currentColor; +} +.border-transparent{ + border-color: transparent; +} +.border-black-50{ + --tw-border-opacity: 1; + border-color: rgb(246 246 246 / var(--tw-border-opacity)); +} +.border-black-100{ + --tw-border-opacity: 1; + border-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-black-200{ + --tw-border-opacity: 1; + border-color: rgb(208 208 208 / var(--tw-border-opacity)); +} +.border-black-300{ + --tw-border-opacity: 1; + border-color: rgb(179 179 179 / var(--tw-border-opacity)); +} +.border-black-400{ + --tw-border-opacity: 1; + border-color: rgb(123 123 123 / var(--tw-border-opacity)); +} +.border-black-500{ + --tw-border-opacity: 1; + border-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-black-600{ + --tw-border-opacity: 1; + border-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-black-700{ + --tw-border-opacity: 1; + border-color: rgb(50 50 50 / var(--tw-border-opacity)); +} +.border-black-800{ + --tw-border-opacity: 1; + border-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-black-900{ + --tw-border-opacity: 1; + border-color: rgb(32 32 32 / var(--tw-border-opacity)); +} +.border-black{ + --tw-border-opacity: 1; + border-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-white{ + --tw-border-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-slate-50{ + --tw-border-opacity: 1; + border-color: rgb(248 250 252 / var(--tw-border-opacity)); +} +.border-slate-100{ + --tw-border-opacity: 1; + border-color: rgb(241 245 249 / var(--tw-border-opacity)); +} +.border-slate-200{ + --tw-border-opacity: 1; + border-color: rgb(226 232 240 / var(--tw-border-opacity)); +} +.border-slate-300{ + --tw-border-opacity: 1; + border-color: rgb(203 213 225 / var(--tw-border-opacity)); +} +.border-slate-400{ + --tw-border-opacity: 1; + border-color: rgb(148 163 184 / var(--tw-border-opacity)); +} +.border-slate-500{ + --tw-border-opacity: 1; + border-color: rgb(100 116 139 / var(--tw-border-opacity)); +} +.border-slate-600{ + --tw-border-opacity: 1; + border-color: rgb(71 85 105 / var(--tw-border-opacity)); +} +.border-slate-700{ + --tw-border-opacity: 1; + border-color: rgb(51 65 85 / var(--tw-border-opacity)); +} +.border-slate-800{ + --tw-border-opacity: 1; + border-color: rgb(30 41 59 / var(--tw-border-opacity)); +} +.border-slate-900{ + --tw-border-opacity: 1; + border-color: rgb(15 23 42 / var(--tw-border-opacity)); +} +.border-gray-50{ + --tw-border-opacity: 1; + border-color: rgb(249 250 251 / var(--tw-border-opacity)); +} +.border-gray-100{ + --tw-border-opacity: 1; + border-color: rgb(243 244 246 / var(--tw-border-opacity)); +} +.border-gray-200{ + --tw-border-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-border-opacity)); +} +.border-gray-300{ + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity)); +} +.border-gray-400{ + --tw-border-opacity: 1; + border-color: rgb(156 163 175 / var(--tw-border-opacity)); +} +.border-gray-500{ + --tw-border-opacity: 1; + border-color: rgb(107 114 128 / var(--tw-border-opacity)); +} +.border-gray-600{ + --tw-border-opacity: 1; + border-color: rgb(75 85 99 / var(--tw-border-opacity)); +} +.border-gray-700{ + --tw-border-opacity: 1; + border-color: rgb(55 65 81 / var(--tw-border-opacity)); +} +.border-gray-800{ + --tw-border-opacity: 1; + border-color: rgb(31 41 55 / var(--tw-border-opacity)); +} +.border-gray-900{ + --tw-border-opacity: 1; + border-color: rgb(17 24 39 / var(--tw-border-opacity)); +} +.border-zinc-50{ + --tw-border-opacity: 1; + border-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-zinc-100{ + --tw-border-opacity: 1; + border-color: rgb(244 244 245 / var(--tw-border-opacity)); +} +.border-zinc-200{ + --tw-border-opacity: 1; + border-color: rgb(228 228 231 / var(--tw-border-opacity)); +} +.border-zinc-300{ + --tw-border-opacity: 1; + border-color: rgb(212 212 216 / var(--tw-border-opacity)); +} +.border-zinc-400{ + --tw-border-opacity: 1; + border-color: rgb(161 161 170 / var(--tw-border-opacity)); +} +.border-zinc-500{ + --tw-border-opacity: 1; + border-color: rgb(113 113 122 / var(--tw-border-opacity)); +} +.border-zinc-600{ + --tw-border-opacity: 1; + border-color: rgb(82 82 91 / var(--tw-border-opacity)); +} +.border-zinc-700{ + --tw-border-opacity: 1; + border-color: rgb(63 63 70 / var(--tw-border-opacity)); +} +.border-zinc-800{ + --tw-border-opacity: 1; + border-color: rgb(39 39 42 / var(--tw-border-opacity)); +} +.border-zinc-900{ + --tw-border-opacity: 1; + border-color: rgb(24 24 27 / var(--tw-border-opacity)); +} +.border-neutral-50{ + --tw-border-opacity: 1; + border-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-neutral-100{ + --tw-border-opacity: 1; + border-color: rgb(245 245 245 / var(--tw-border-opacity)); +} +.border-neutral-200{ + --tw-border-opacity: 1; + border-color: rgb(229 229 229 / var(--tw-border-opacity)); +} +.border-neutral-300{ + --tw-border-opacity: 1; + border-color: rgb(212 212 212 / var(--tw-border-opacity)); +} +.border-neutral-400{ + --tw-border-opacity: 1; + border-color: rgb(163 163 163 / var(--tw-border-opacity)); +} +.border-neutral-500{ + --tw-border-opacity: 1; + border-color: rgb(115 115 115 / var(--tw-border-opacity)); +} +.border-neutral-600{ + --tw-border-opacity: 1; + border-color: rgb(82 82 82 / var(--tw-border-opacity)); +} +.border-neutral-700{ + --tw-border-opacity: 1; + border-color: rgb(64 64 64 / var(--tw-border-opacity)); +} +.border-neutral-800{ + --tw-border-opacity: 1; + border-color: rgb(38 38 38 / var(--tw-border-opacity)); +} +.border-neutral-900{ + --tw-border-opacity: 1; + border-color: rgb(23 23 23 / var(--tw-border-opacity)); +} +.border-stone-50{ + --tw-border-opacity: 1; + border-color: rgb(250 250 249 / var(--tw-border-opacity)); +} +.border-stone-100{ + --tw-border-opacity: 1; + border-color: rgb(245 245 244 / var(--tw-border-opacity)); +} +.border-stone-200{ + --tw-border-opacity: 1; + border-color: rgb(231 229 228 / var(--tw-border-opacity)); +} +.border-stone-300{ + --tw-border-opacity: 1; + border-color: rgb(214 211 209 / var(--tw-border-opacity)); +} +.border-stone-400{ + --tw-border-opacity: 1; + border-color: rgb(168 162 158 / var(--tw-border-opacity)); +} +.border-stone-500{ + --tw-border-opacity: 1; + border-color: rgb(120 113 108 / var(--tw-border-opacity)); +} +.border-stone-600{ + --tw-border-opacity: 1; + border-color: rgb(87 83 78 / var(--tw-border-opacity)); +} +.border-stone-700{ + --tw-border-opacity: 1; + border-color: rgb(68 64 60 / var(--tw-border-opacity)); +} +.border-stone-800{ + --tw-border-opacity: 1; + border-color: rgb(41 37 36 / var(--tw-border-opacity)); +} +.border-stone-900{ + --tw-border-opacity: 1; + border-color: rgb(28 25 23 / var(--tw-border-opacity)); +} +.border-red-50{ + --tw-border-opacity: 1; + border-color: rgb(252 242 242 / var(--tw-border-opacity)); +} +.border-red-100{ + --tw-border-opacity: 1; + border-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-red-200{ + --tw-border-opacity: 1; + border-color: rgb(242 191 191 / var(--tw-border-opacity)); +} +.border-red-300{ + --tw-border-opacity: 1; + border-color: rgb(235 153 153 / var(--tw-border-opacity)); +} +.border-red-400{ + --tw-border-opacity: 1; + border-color: rgb(219 77 77 / var(--tw-border-opacity)); +} +.border-red-500{ + --tw-border-opacity: 1; + border-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-red-600{ + --tw-border-opacity: 1; + border-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-red-700{ + --tw-border-opacity: 1; + border-color: rgb(153 0 0 / var(--tw-border-opacity)); +} +.border-red-800{ + --tw-border-opacity: 1; + border-color: rgb(122 0 0 / var(--tw-border-opacity)); +} +.border-red-900{ + --tw-border-opacity: 1; + border-color: rgb(100 0 0 / var(--tw-border-opacity)); +} +.border-red{ + --tw-border-opacity: 1; + border-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-orange-50{ + --tw-border-opacity: 1; + border-color: rgb(255 250 243 / var(--tw-border-opacity)); +} +.border-orange-100{ + --tw-border-opacity: 1; + border-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-orange-200{ + --tw-border-opacity: 1; + border-color: rgb(253 231 194 / var(--tw-border-opacity)); +} +.border-orange-300{ + --tw-border-opacity: 1; + border-color: rgb(251 216 157 / var(--tw-border-opacity)); +} +.border-orange-400{ + --tw-border-opacity: 1; + border-color: rgb(248 187 84 / var(--tw-border-opacity)); +} +.border-orange-500{ + --tw-border-opacity: 1; + border-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-orange-600{ + --tw-border-opacity: 1; + border-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-orange-700{ + --tw-border-opacity: 1; + border-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-orange-800{ + --tw-border-opacity: 1; + border-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-orange-900{ + --tw-border-opacity: 1; + border-color: rgb(120 77 5 / var(--tw-border-opacity)); +} +.border-orange{ + --tw-border-opacity: 1; + border-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-amber-50{ + --tw-border-opacity: 1; + border-color: rgb(255 251 235 / var(--tw-border-opacity)); +} +.border-amber-100{ + --tw-border-opacity: 1; + border-color: rgb(254 243 199 / var(--tw-border-opacity)); +} +.border-amber-200{ + --tw-border-opacity: 1; + border-color: rgb(253 230 138 / var(--tw-border-opacity)); +} +.border-amber-300{ + --tw-border-opacity: 1; + border-color: rgb(252 211 77 / var(--tw-border-opacity)); +} +.border-amber-400{ + --tw-border-opacity: 1; + border-color: rgb(251 191 36 / var(--tw-border-opacity)); +} +.border-amber-500{ + --tw-border-opacity: 1; + border-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-amber-600{ + --tw-border-opacity: 1; + border-color: rgb(217 119 6 / var(--tw-border-opacity)); +} +.border-amber-700{ + --tw-border-opacity: 1; + border-color: rgb(180 83 9 / var(--tw-border-opacity)); +} +.border-amber-800{ + --tw-border-opacity: 1; + border-color: rgb(146 64 14 / var(--tw-border-opacity)); +} +.border-amber-900{ + --tw-border-opacity: 1; + border-color: rgb(120 53 15 / var(--tw-border-opacity)); +} +.border-yellow-50{ + --tw-border-opacity: 1; + border-color: rgb(253 253 234 / var(--tw-border-opacity)); +} +.border-yellow-100{ + --tw-border-opacity: 1; + border-color: rgb(253 246 178 / var(--tw-border-opacity)); +} +.border-yellow-200{ + --tw-border-opacity: 1; + border-color: rgb(252 233 106 / var(--tw-border-opacity)); +} +.border-yellow-300{ + --tw-border-opacity: 1; + border-color: rgb(250 202 21 / var(--tw-border-opacity)); +} +.border-yellow-400{ + --tw-border-opacity: 1; + border-color: rgb(227 160 8 / var(--tw-border-opacity)); +} +.border-yellow-500{ + --tw-border-opacity: 1; + border-color: rgb(194 120 3 / var(--tw-border-opacity)); +} +.border-yellow-600{ + --tw-border-opacity: 1; + border-color: rgb(159 88 10 / var(--tw-border-opacity)); +} +.border-yellow-700{ + --tw-border-opacity: 1; + border-color: rgb(142 75 16 / var(--tw-border-opacity)); +} +.border-yellow-800{ + --tw-border-opacity: 1; + border-color: rgb(114 59 19 / var(--tw-border-opacity)); +} +.border-yellow-900{ + --tw-border-opacity: 1; + border-color: rgb(99 49 18 / var(--tw-border-opacity)); +} +.border-lime-50{ + --tw-border-opacity: 1; + border-color: rgb(247 254 231 / var(--tw-border-opacity)); +} +.border-lime-100{ + --tw-border-opacity: 1; + border-color: rgb(236 252 203 / var(--tw-border-opacity)); +} +.border-lime-200{ + --tw-border-opacity: 1; + border-color: rgb(217 249 157 / var(--tw-border-opacity)); +} +.border-lime-300{ + --tw-border-opacity: 1; + border-color: rgb(190 242 100 / var(--tw-border-opacity)); +} +.border-lime-400{ + --tw-border-opacity: 1; + border-color: rgb(163 230 53 / var(--tw-border-opacity)); +} +.border-lime-500{ + --tw-border-opacity: 1; + border-color: rgb(132 204 22 / var(--tw-border-opacity)); +} +.border-lime-600{ + --tw-border-opacity: 1; + border-color: rgb(101 163 13 / var(--tw-border-opacity)); +} +.border-lime-700{ + --tw-border-opacity: 1; + border-color: rgb(77 124 15 / var(--tw-border-opacity)); +} +.border-lime-800{ + --tw-border-opacity: 1; + border-color: rgb(63 98 18 / var(--tw-border-opacity)); +} +.border-lime-900{ + --tw-border-opacity: 1; + border-color: rgb(54 83 20 / var(--tw-border-opacity)); +} +.border-green-50{ + --tw-border-opacity: 1; + border-color: rgb(248 250 246 / var(--tw-border-opacity)); +} +.border-green-100{ + --tw-border-opacity: 1; + border-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-green-200{ + --tw-border-opacity: 1; + border-color: rgb(219 232 212 / var(--tw-border-opacity)); +} +.border-green-300{ + --tw-border-opacity: 1; + border-color: rgb(197 217 186 / var(--tw-border-opacity)); +} +.border-green-400{ + --tw-border-opacity: 1; + border-color: rgb(154 189 134 / var(--tw-border-opacity)); +} +.border-green-500{ + --tw-border-opacity: 1; + border-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-green-600{ + --tw-border-opacity: 1; + border-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-green-700{ + --tw-border-opacity: 1; + border-color: rgb(83 121 62 / var(--tw-border-opacity)); +} +.border-green-800{ + --tw-border-opacity: 1; + border-color: rgb(66 97 49 / var(--tw-border-opacity)); +} +.border-green-900{ + --tw-border-opacity: 1; + border-color: rgb(54 79 40 / var(--tw-border-opacity)); +} +.border-green{ + --tw-border-opacity: 1; + border-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-emerald-50{ + --tw-border-opacity: 1; + border-color: rgb(236 253 245 / var(--tw-border-opacity)); +} +.border-emerald-100{ + --tw-border-opacity: 1; + border-color: rgb(209 250 229 / var(--tw-border-opacity)); +} +.border-emerald-200{ + --tw-border-opacity: 1; + border-color: rgb(167 243 208 / var(--tw-border-opacity)); +} +.border-emerald-300{ + --tw-border-opacity: 1; + border-color: rgb(110 231 183 / var(--tw-border-opacity)); +} +.border-emerald-400{ + --tw-border-opacity: 1; + border-color: rgb(52 211 153 / var(--tw-border-opacity)); +} +.border-emerald-500{ + --tw-border-opacity: 1; + border-color: rgb(16 185 129 / var(--tw-border-opacity)); +} +.border-emerald-600{ + --tw-border-opacity: 1; + border-color: rgb(5 150 105 / var(--tw-border-opacity)); +} +.border-emerald-700{ + --tw-border-opacity: 1; + border-color: rgb(4 120 87 / var(--tw-border-opacity)); +} +.border-emerald-800{ + --tw-border-opacity: 1; + border-color: rgb(6 95 70 / var(--tw-border-opacity)); +} +.border-emerald-900{ + --tw-border-opacity: 1; + border-color: rgb(6 78 59 / var(--tw-border-opacity)); +} +.border-teal-50{ + --tw-border-opacity: 1; + border-color: rgb(237 250 250 / var(--tw-border-opacity)); +} +.border-teal-100{ + --tw-border-opacity: 1; + border-color: rgb(213 245 246 / var(--tw-border-opacity)); +} +.border-teal-200{ + --tw-border-opacity: 1; + border-color: rgb(175 236 239 / var(--tw-border-opacity)); +} +.border-teal-300{ + --tw-border-opacity: 1; + border-color: rgb(126 220 226 / var(--tw-border-opacity)); +} +.border-teal-400{ + --tw-border-opacity: 1; + border-color: rgb(22 189 202 / var(--tw-border-opacity)); +} +.border-teal-500{ + --tw-border-opacity: 1; + border-color: rgb(6 148 162 / var(--tw-border-opacity)); +} +.border-teal-600{ + --tw-border-opacity: 1; + border-color: rgb(4 116 129 / var(--tw-border-opacity)); +} +.border-teal-700{ + --tw-border-opacity: 1; + border-color: rgb(3 102 114 / var(--tw-border-opacity)); +} +.border-teal-800{ + --tw-border-opacity: 1; + border-color: rgb(5 80 92 / var(--tw-border-opacity)); +} +.border-teal-900{ + --tw-border-opacity: 1; + border-color: rgb(1 68 81 / var(--tw-border-opacity)); +} +.border-cyan-50{ + --tw-border-opacity: 1; + border-color: rgb(236 254 255 / var(--tw-border-opacity)); +} +.border-cyan-100{ + --tw-border-opacity: 1; + border-color: rgb(207 250 254 / var(--tw-border-opacity)); +} +.border-cyan-200{ + --tw-border-opacity: 1; + border-color: rgb(165 243 252 / var(--tw-border-opacity)); +} +.border-cyan-300{ + --tw-border-opacity: 1; + border-color: rgb(103 232 249 / var(--tw-border-opacity)); +} +.border-cyan-400{ + --tw-border-opacity: 1; + border-color: rgb(34 211 238 / var(--tw-border-opacity)); +} +.border-cyan-500{ + --tw-border-opacity: 1; + border-color: rgb(6 182 212 / var(--tw-border-opacity)); +} +.border-cyan-600{ + --tw-border-opacity: 1; + border-color: rgb(8 145 178 / var(--tw-border-opacity)); +} +.border-cyan-700{ + --tw-border-opacity: 1; + border-color: rgb(14 116 144 / var(--tw-border-opacity)); +} +.border-cyan-800{ + --tw-border-opacity: 1; + border-color: rgb(21 94 117 / var(--tw-border-opacity)); +} +.border-cyan-900{ + --tw-border-opacity: 1; + border-color: rgb(22 78 99 / var(--tw-border-opacity)); +} +.border-sky-50{ + --tw-border-opacity: 1; + border-color: rgb(240 249 255 / var(--tw-border-opacity)); +} +.border-sky-100{ + --tw-border-opacity: 1; + border-color: rgb(224 242 254 / var(--tw-border-opacity)); +} +.border-sky-200{ + --tw-border-opacity: 1; + border-color: rgb(186 230 253 / var(--tw-border-opacity)); +} +.border-sky-300{ + --tw-border-opacity: 1; + border-color: rgb(125 211 252 / var(--tw-border-opacity)); +} +.border-sky-400{ + --tw-border-opacity: 1; + border-color: rgb(56 189 248 / var(--tw-border-opacity)); +} +.border-sky-500{ + --tw-border-opacity: 1; + border-color: rgb(14 165 233 / var(--tw-border-opacity)); +} +.border-sky-600{ + --tw-border-opacity: 1; + border-color: rgb(2 132 199 / var(--tw-border-opacity)); +} +.border-sky-700{ + --tw-border-opacity: 1; + border-color: rgb(3 105 161 / var(--tw-border-opacity)); +} +.border-sky-800{ + --tw-border-opacity: 1; + border-color: rgb(7 89 133 / var(--tw-border-opacity)); +} +.border-sky-900{ + --tw-border-opacity: 1; + border-color: rgb(12 74 110 / var(--tw-border-opacity)); +} +.border-blue-50{ + --tw-border-opacity: 1; + border-color: rgb(242 248 251 / var(--tw-border-opacity)); +} +.border-blue-100{ + --tw-border-opacity: 1; + border-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-blue-200{ + --tw-border-opacity: 1; + border-color: rgb(191 219 233 / var(--tw-border-opacity)); +} +.border-blue-300{ + --tw-border-opacity: 1; + border-color: rgb(153 197 219 / var(--tw-border-opacity)); +} +.border-blue-400{ + --tw-border-opacity: 1; + border-color: rgb(77 154 193 / var(--tw-border-opacity)); +} +.border-blue-500{ + --tw-border-opacity: 1; + border-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-blue-600{ + --tw-border-opacity: 1; + border-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-blue-700{ + --tw-border-opacity: 1; + border-color: rgb(0 83 125 / var(--tw-border-opacity)); +} +.border-blue-800{ + --tw-border-opacity: 1; + border-color: rgb(0 66 100 / var(--tw-border-opacity)); +} +.border-blue-900{ + --tw-border-opacity: 1; + border-color: rgb(0 54 81 / var(--tw-border-opacity)); +} +.border-blue{ + --tw-border-opacity: 1; + border-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-indigo-50{ + --tw-border-opacity: 1; + border-color: rgb(240 245 255 / var(--tw-border-opacity)); +} +.border-indigo-100{ + --tw-border-opacity: 1; + border-color: rgb(229 237 255 / var(--tw-border-opacity)); +} +.border-indigo-200{ + --tw-border-opacity: 1; + border-color: rgb(205 219 254 / var(--tw-border-opacity)); +} +.border-indigo-300{ + --tw-border-opacity: 1; + border-color: rgb(180 198 252 / var(--tw-border-opacity)); +} +.border-indigo-400{ + --tw-border-opacity: 1; + border-color: rgb(141 162 251 / var(--tw-border-opacity)); +} +.border-indigo-500{ + --tw-border-opacity: 1; + border-color: rgb(104 117 245 / var(--tw-border-opacity)); +} +.border-indigo-600{ + --tw-border-opacity: 1; + border-color: rgb(88 80 236 / var(--tw-border-opacity)); +} +.border-indigo-700{ + --tw-border-opacity: 1; + border-color: rgb(81 69 205 / var(--tw-border-opacity)); +} +.border-indigo-800{ + --tw-border-opacity: 1; + border-color: rgb(66 56 157 / var(--tw-border-opacity)); +} +.border-indigo-900{ + --tw-border-opacity: 1; + border-color: rgb(54 47 120 / var(--tw-border-opacity)); +} +.border-violet-50{ + --tw-border-opacity: 1; + border-color: rgb(245 243 255 / var(--tw-border-opacity)); +} +.border-violet-100{ + --tw-border-opacity: 1; + border-color: rgb(237 233 254 / var(--tw-border-opacity)); +} +.border-violet-200{ + --tw-border-opacity: 1; + border-color: rgb(221 214 254 / var(--tw-border-opacity)); +} +.border-violet-300{ + --tw-border-opacity: 1; + border-color: rgb(196 181 253 / var(--tw-border-opacity)); +} +.border-violet-400{ + --tw-border-opacity: 1; + border-color: rgb(167 139 250 / var(--tw-border-opacity)); +} +.border-violet-500{ + --tw-border-opacity: 1; + border-color: rgb(139 92 246 / var(--tw-border-opacity)); +} +.border-violet-600{ + --tw-border-opacity: 1; + border-color: rgb(124 58 237 / var(--tw-border-opacity)); +} +.border-violet-700{ + --tw-border-opacity: 1; + border-color: rgb(109 40 217 / var(--tw-border-opacity)); +} +.border-violet-800{ + --tw-border-opacity: 1; + border-color: rgb(91 33 182 / var(--tw-border-opacity)); +} +.border-violet-900{ + --tw-border-opacity: 1; + border-color: rgb(76 29 149 / var(--tw-border-opacity)); +} +.border-purple-50{ + --tw-border-opacity: 1; + border-color: rgb(247 247 249 / var(--tw-border-opacity)); +} +.border-purple-100{ + --tw-border-opacity: 1; + border-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-purple-200{ + --tw-border-opacity: 1; + border-color: rgb(213 213 226 / var(--tw-border-opacity)); +} +.border-purple-300{ + --tw-border-opacity: 1; + border-color: rgb(187 188 209 / var(--tw-border-opacity)); +} +.border-purple-400{ + --tw-border-opacity: 1; + border-color: rgb(136 138 174 / var(--tw-border-opacity)); +} +.border-purple-500{ + --tw-border-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-purple-600{ + --tw-border-opacity: 1; + border-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-purple-700{ + --tw-border-opacity: 1; + border-color: rgb(64 66 104 / var(--tw-border-opacity)); +} +.border-purple-800{ + --tw-border-opacity: 1; + border-color: rgb(51 53 83 / var(--tw-border-opacity)); +} +.border-purple-900{ + --tw-border-opacity: 1; + border-color: rgb(42 43 68 / var(--tw-border-opacity)); +} +.border-purple{ + --tw-border-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-fuchsia-50{ + --tw-border-opacity: 1; + border-color: rgb(253 244 255 / var(--tw-border-opacity)); +} +.border-fuchsia-100{ + --tw-border-opacity: 1; + border-color: rgb(250 232 255 / var(--tw-border-opacity)); +} +.border-fuchsia-200{ + --tw-border-opacity: 1; + border-color: rgb(245 208 254 / var(--tw-border-opacity)); +} +.border-fuchsia-300{ + --tw-border-opacity: 1; + border-color: rgb(240 171 252 / var(--tw-border-opacity)); +} +.border-fuchsia-400{ + --tw-border-opacity: 1; + border-color: rgb(232 121 249 / var(--tw-border-opacity)); +} +.border-fuchsia-500{ + --tw-border-opacity: 1; + border-color: rgb(217 70 239 / var(--tw-border-opacity)); +} +.border-fuchsia-600{ + --tw-border-opacity: 1; + border-color: rgb(192 38 211 / var(--tw-border-opacity)); +} +.border-fuchsia-700{ + --tw-border-opacity: 1; + border-color: rgb(162 28 175 / var(--tw-border-opacity)); +} +.border-fuchsia-800{ + --tw-border-opacity: 1; + border-color: rgb(134 25 143 / var(--tw-border-opacity)); +} +.border-fuchsia-900{ + --tw-border-opacity: 1; + border-color: rgb(112 26 117 / var(--tw-border-opacity)); +} +.border-pink-50{ + --tw-border-opacity: 1; + border-color: rgb(253 242 248 / var(--tw-border-opacity)); +} +.border-pink-100{ + --tw-border-opacity: 1; + border-color: rgb(252 232 243 / var(--tw-border-opacity)); +} +.border-pink-200{ + --tw-border-opacity: 1; + border-color: rgb(250 209 232 / var(--tw-border-opacity)); +} +.border-pink-300{ + --tw-border-opacity: 1; + border-color: rgb(248 180 217 / var(--tw-border-opacity)); +} +.border-pink-400{ + --tw-border-opacity: 1; + border-color: rgb(241 126 184 / var(--tw-border-opacity)); +} +.border-pink-500{ + --tw-border-opacity: 1; + border-color: rgb(231 70 148 / var(--tw-border-opacity)); +} +.border-pink-600{ + --tw-border-opacity: 1; + border-color: rgb(214 31 105 / var(--tw-border-opacity)); +} +.border-pink-700{ + --tw-border-opacity: 1; + border-color: rgb(191 18 93 / var(--tw-border-opacity)); +} +.border-pink-800{ + --tw-border-opacity: 1; + border-color: rgb(153 21 75 / var(--tw-border-opacity)); +} +.border-pink-900{ + --tw-border-opacity: 1; + border-color: rgb(117 26 61 / var(--tw-border-opacity)); +} +.border-rose-50{ + --tw-border-opacity: 1; + border-color: rgb(255 241 242 / var(--tw-border-opacity)); +} +.border-rose-100{ + --tw-border-opacity: 1; + border-color: rgb(255 228 230 / var(--tw-border-opacity)); +} +.border-rose-200{ + --tw-border-opacity: 1; + border-color: rgb(254 205 211 / var(--tw-border-opacity)); +} +.border-rose-300{ + --tw-border-opacity: 1; + border-color: rgb(253 164 175 / var(--tw-border-opacity)); +} +.border-rose-400{ + --tw-border-opacity: 1; + border-color: rgb(251 113 133 / var(--tw-border-opacity)); +} +.border-rose-500{ + --tw-border-opacity: 1; + border-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-rose-600{ + --tw-border-opacity: 1; + border-color: rgb(225 29 72 / var(--tw-border-opacity)); +} +.border-rose-700{ + --tw-border-opacity: 1; + border-color: rgb(190 18 60 / var(--tw-border-opacity)); +} +.border-rose-800{ + --tw-border-opacity: 1; + border-color: rgb(159 18 57 / var(--tw-border-opacity)); +} +.border-rose-900{ + --tw-border-opacity: 1; + border-color: rgb(136 19 55 / var(--tw-border-opacity)); +} +.border-rose{ + --tw-border-opacity: 1; + border-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-lilac-100{ + --tw-border-opacity: 1; + border-color: rgb(245 247 250 / var(--tw-border-opacity)); +} +.border-lilac-300{ + --tw-border-opacity: 1; + border-color: rgb(237 240 252 / var(--tw-border-opacity)); +} +.border-lilac-900{ + --tw-border-opacity: 1; + border-color: rgb(220 226 249 / var(--tw-border-opacity)); +} +.border-lilac{ + --tw-border-opacity: 1; + border-color: rgb(248 249 254 / var(--tw-border-opacity)); +} +.border-golden-900{ + --tw-border-opacity: 1; + border-color: rgb(191 184 130 / var(--tw-border-opacity)); +} +.border-golden{ + --tw-border-opacity: 1; + border-color: rgb(209 201 137 / var(--tw-border-opacity)); +} +.border-status-success{ + --tw-border-opacity: 1; + border-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-status-danger{ + --tw-border-opacity: 1; + border-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-status-sent{ + --tw-border-opacity: 1; + border-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-status-viewed{ + --tw-border-opacity: 1; + border-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-status-draft{ + --tw-border-opacity: 1; + border-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-status-partial{ + --tw-border-opacity: 1; + border-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-status-canceled{ + --tw-border-opacity: 1; + border-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-status-warning{ + --tw-border-opacity: 1; + border-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-text-status-success{ + --tw-border-opacity: 1; + border-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-text-status-danger{ + --tw-border-opacity: 1; + border-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-text-status-sent{ + --tw-border-opacity: 1; + border-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-text-status-viewed{ + --tw-border-opacity: 1; + border-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-text-status-draft{ + --tw-border-opacity: 1; + border-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-text-status-partial{ + --tw-border-opacity: 1; + border-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-text-status-canceled{ + --tw-border-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-text-status-warning{ + --tw-border-opacity: 1; + border-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-body{ + --tw-border-opacity: 1; + border-color: rgb(252 252 252 / var(--tw-border-opacity)); +} +.border-light-gray{ + --tw-border-opacity: 1; + border-color: rgb(199 201 217 / var(--tw-border-opacity)); +} +.border-dark-blue{ + --tw-border-opacity: 1; + border-color: rgb(21 40 75 / var(--tw-border-opacity)); +} +.border-lighter-gray{ + --tw-border-opacity: 1; + border-color: rgb(242 242 245 / var(--tw-border-opacity)); +} +.border-purple-lighter{ + --tw-border-opacity: 1; + border-color: rgb(242 244 252 / var(--tw-border-opacity)); +} +.border-modal-background{ + border-color: rgba(0, 0, 0, 0.3); +} +.border-testing{ + --tw-border-opacity: 1; + border-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-x-inherit{ + border-left-color: inherit; + border-right-color: inherit; +} +.border-x-current{ + border-left-color: currentColor; + border-right-color: currentColor; +} +.border-x-transparent{ + border-left-color: transparent; + border-right-color: transparent; +} +.border-x-black-50{ + --tw-border-opacity: 1; + border-left-color: rgb(246 246 246 / var(--tw-border-opacity)); + border-right-color: rgb(246 246 246 / var(--tw-border-opacity)); +} +.border-x-black-100{ + --tw-border-opacity: 1; + border-left-color: rgb(236 236 236 / var(--tw-border-opacity)); + border-right-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-x-black-200{ + --tw-border-opacity: 1; + border-left-color: rgb(208 208 208 / var(--tw-border-opacity)); + border-right-color: rgb(208 208 208 / var(--tw-border-opacity)); +} +.border-x-black-300{ + --tw-border-opacity: 1; + border-left-color: rgb(179 179 179 / var(--tw-border-opacity)); + border-right-color: rgb(179 179 179 / var(--tw-border-opacity)); +} +.border-x-black-400{ + --tw-border-opacity: 1; + border-left-color: rgb(123 123 123 / var(--tw-border-opacity)); + border-right-color: rgb(123 123 123 / var(--tw-border-opacity)); +} +.border-x-black-500{ + --tw-border-opacity: 1; + border-left-color: rgb(66 66 66 / var(--tw-border-opacity)); + border-right-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-x-black-600{ + --tw-border-opacity: 1; + border-left-color: rgb(59 59 59 / var(--tw-border-opacity)); + border-right-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-x-black-700{ + --tw-border-opacity: 1; + border-left-color: rgb(50 50 50 / var(--tw-border-opacity)); + border-right-color: rgb(50 50 50 / var(--tw-border-opacity)); +} +.border-x-black-800{ + --tw-border-opacity: 1; + border-left-color: rgb(40 40 40 / var(--tw-border-opacity)); + border-right-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-x-black-900{ + --tw-border-opacity: 1; + border-left-color: rgb(32 32 32 / var(--tw-border-opacity)); + border-right-color: rgb(32 32 32 / var(--tw-border-opacity)); +} +.border-x-black{ + --tw-border-opacity: 1; + border-left-color: rgb(66 66 66 / var(--tw-border-opacity)); + border-right-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-x-white{ + --tw-border-opacity: 1; + border-left-color: rgb(255 255 255 / var(--tw-border-opacity)); + border-right-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-x-slate-50{ + --tw-border-opacity: 1; + border-left-color: rgb(248 250 252 / var(--tw-border-opacity)); + border-right-color: rgb(248 250 252 / var(--tw-border-opacity)); +} +.border-x-slate-100{ + --tw-border-opacity: 1; + border-left-color: rgb(241 245 249 / var(--tw-border-opacity)); + border-right-color: rgb(241 245 249 / var(--tw-border-opacity)); +} +.border-x-slate-200{ + --tw-border-opacity: 1; + border-left-color: rgb(226 232 240 / var(--tw-border-opacity)); + border-right-color: rgb(226 232 240 / var(--tw-border-opacity)); +} +.border-x-slate-300{ + --tw-border-opacity: 1; + border-left-color: rgb(203 213 225 / var(--tw-border-opacity)); + border-right-color: rgb(203 213 225 / var(--tw-border-opacity)); +} +.border-x-slate-400{ + --tw-border-opacity: 1; + border-left-color: rgb(148 163 184 / var(--tw-border-opacity)); + border-right-color: rgb(148 163 184 / var(--tw-border-opacity)); +} +.border-x-slate-500{ + --tw-border-opacity: 1; + border-left-color: rgb(100 116 139 / var(--tw-border-opacity)); + border-right-color: rgb(100 116 139 / var(--tw-border-opacity)); +} +.border-x-slate-600{ + --tw-border-opacity: 1; + border-left-color: rgb(71 85 105 / var(--tw-border-opacity)); + border-right-color: rgb(71 85 105 / var(--tw-border-opacity)); +} +.border-x-slate-700{ + --tw-border-opacity: 1; + border-left-color: rgb(51 65 85 / var(--tw-border-opacity)); + border-right-color: rgb(51 65 85 / var(--tw-border-opacity)); +} +.border-x-slate-800{ + --tw-border-opacity: 1; + border-left-color: rgb(30 41 59 / var(--tw-border-opacity)); + border-right-color: rgb(30 41 59 / var(--tw-border-opacity)); +} +.border-x-slate-900{ + --tw-border-opacity: 1; + border-left-color: rgb(15 23 42 / var(--tw-border-opacity)); + border-right-color: rgb(15 23 42 / var(--tw-border-opacity)); +} +.border-x-gray-50{ + --tw-border-opacity: 1; + border-left-color: rgb(249 250 251 / var(--tw-border-opacity)); + border-right-color: rgb(249 250 251 / var(--tw-border-opacity)); +} +.border-x-gray-100{ + --tw-border-opacity: 1; + border-left-color: rgb(243 244 246 / var(--tw-border-opacity)); + border-right-color: rgb(243 244 246 / var(--tw-border-opacity)); +} +.border-x-gray-200{ + --tw-border-opacity: 1; + border-left-color: rgb(229 231 235 / var(--tw-border-opacity)); + border-right-color: rgb(229 231 235 / var(--tw-border-opacity)); +} +.border-x-gray-300{ + --tw-border-opacity: 1; + border-left-color: rgb(209 213 219 / var(--tw-border-opacity)); + border-right-color: rgb(209 213 219 / var(--tw-border-opacity)); +} +.border-x-gray-400{ + --tw-border-opacity: 1; + border-left-color: rgb(156 163 175 / var(--tw-border-opacity)); + border-right-color: rgb(156 163 175 / var(--tw-border-opacity)); +} +.border-x-gray-500{ + --tw-border-opacity: 1; + border-left-color: rgb(107 114 128 / var(--tw-border-opacity)); + border-right-color: rgb(107 114 128 / var(--tw-border-opacity)); +} +.border-x-gray-600{ + --tw-border-opacity: 1; + border-left-color: rgb(75 85 99 / var(--tw-border-opacity)); + border-right-color: rgb(75 85 99 / var(--tw-border-opacity)); +} +.border-x-gray-700{ + --tw-border-opacity: 1; + border-left-color: rgb(55 65 81 / var(--tw-border-opacity)); + border-right-color: rgb(55 65 81 / var(--tw-border-opacity)); +} +.border-x-gray-800{ + --tw-border-opacity: 1; + border-left-color: rgb(31 41 55 / var(--tw-border-opacity)); + border-right-color: rgb(31 41 55 / var(--tw-border-opacity)); +} +.border-x-gray-900{ + --tw-border-opacity: 1; + border-left-color: rgb(17 24 39 / var(--tw-border-opacity)); + border-right-color: rgb(17 24 39 / var(--tw-border-opacity)); +} +.border-x-zinc-50{ + --tw-border-opacity: 1; + border-left-color: rgb(250 250 250 / var(--tw-border-opacity)); + border-right-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-x-zinc-100{ + --tw-border-opacity: 1; + border-left-color: rgb(244 244 245 / var(--tw-border-opacity)); + border-right-color: rgb(244 244 245 / var(--tw-border-opacity)); +} +.border-x-zinc-200{ + --tw-border-opacity: 1; + border-left-color: rgb(228 228 231 / var(--tw-border-opacity)); + border-right-color: rgb(228 228 231 / var(--tw-border-opacity)); +} +.border-x-zinc-300{ + --tw-border-opacity: 1; + border-left-color: rgb(212 212 216 / var(--tw-border-opacity)); + border-right-color: rgb(212 212 216 / var(--tw-border-opacity)); +} +.border-x-zinc-400{ + --tw-border-opacity: 1; + border-left-color: rgb(161 161 170 / var(--tw-border-opacity)); + border-right-color: rgb(161 161 170 / var(--tw-border-opacity)); +} +.border-x-zinc-500{ + --tw-border-opacity: 1; + border-left-color: rgb(113 113 122 / var(--tw-border-opacity)); + border-right-color: rgb(113 113 122 / var(--tw-border-opacity)); +} +.border-x-zinc-600{ + --tw-border-opacity: 1; + border-left-color: rgb(82 82 91 / var(--tw-border-opacity)); + border-right-color: rgb(82 82 91 / var(--tw-border-opacity)); +} +.border-x-zinc-700{ + --tw-border-opacity: 1; + border-left-color: rgb(63 63 70 / var(--tw-border-opacity)); + border-right-color: rgb(63 63 70 / var(--tw-border-opacity)); +} +.border-x-zinc-800{ + --tw-border-opacity: 1; + border-left-color: rgb(39 39 42 / var(--tw-border-opacity)); + border-right-color: rgb(39 39 42 / var(--tw-border-opacity)); +} +.border-x-zinc-900{ + --tw-border-opacity: 1; + border-left-color: rgb(24 24 27 / var(--tw-border-opacity)); + border-right-color: rgb(24 24 27 / var(--tw-border-opacity)); +} +.border-x-neutral-50{ + --tw-border-opacity: 1; + border-left-color: rgb(250 250 250 / var(--tw-border-opacity)); + border-right-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-x-neutral-100{ + --tw-border-opacity: 1; + border-left-color: rgb(245 245 245 / var(--tw-border-opacity)); + border-right-color: rgb(245 245 245 / var(--tw-border-opacity)); +} +.border-x-neutral-200{ + --tw-border-opacity: 1; + border-left-color: rgb(229 229 229 / var(--tw-border-opacity)); + border-right-color: rgb(229 229 229 / var(--tw-border-opacity)); +} +.border-x-neutral-300{ + --tw-border-opacity: 1; + border-left-color: rgb(212 212 212 / var(--tw-border-opacity)); + border-right-color: rgb(212 212 212 / var(--tw-border-opacity)); +} +.border-x-neutral-400{ + --tw-border-opacity: 1; + border-left-color: rgb(163 163 163 / var(--tw-border-opacity)); + border-right-color: rgb(163 163 163 / var(--tw-border-opacity)); +} +.border-x-neutral-500{ + --tw-border-opacity: 1; + border-left-color: rgb(115 115 115 / var(--tw-border-opacity)); + border-right-color: rgb(115 115 115 / var(--tw-border-opacity)); +} +.border-x-neutral-600{ + --tw-border-opacity: 1; + border-left-color: rgb(82 82 82 / var(--tw-border-opacity)); + border-right-color: rgb(82 82 82 / var(--tw-border-opacity)); +} +.border-x-neutral-700{ + --tw-border-opacity: 1; + border-left-color: rgb(64 64 64 / var(--tw-border-opacity)); + border-right-color: rgb(64 64 64 / var(--tw-border-opacity)); +} +.border-x-neutral-800{ + --tw-border-opacity: 1; + border-left-color: rgb(38 38 38 / var(--tw-border-opacity)); + border-right-color: rgb(38 38 38 / var(--tw-border-opacity)); +} +.border-x-neutral-900{ + --tw-border-opacity: 1; + border-left-color: rgb(23 23 23 / var(--tw-border-opacity)); + border-right-color: rgb(23 23 23 / var(--tw-border-opacity)); +} +.border-x-stone-50{ + --tw-border-opacity: 1; + border-left-color: rgb(250 250 249 / var(--tw-border-opacity)); + border-right-color: rgb(250 250 249 / var(--tw-border-opacity)); +} +.border-x-stone-100{ + --tw-border-opacity: 1; + border-left-color: rgb(245 245 244 / var(--tw-border-opacity)); + border-right-color: rgb(245 245 244 / var(--tw-border-opacity)); +} +.border-x-stone-200{ + --tw-border-opacity: 1; + border-left-color: rgb(231 229 228 / var(--tw-border-opacity)); + border-right-color: rgb(231 229 228 / var(--tw-border-opacity)); +} +.border-x-stone-300{ + --tw-border-opacity: 1; + border-left-color: rgb(214 211 209 / var(--tw-border-opacity)); + border-right-color: rgb(214 211 209 / var(--tw-border-opacity)); +} +.border-x-stone-400{ + --tw-border-opacity: 1; + border-left-color: rgb(168 162 158 / var(--tw-border-opacity)); + border-right-color: rgb(168 162 158 / var(--tw-border-opacity)); +} +.border-x-stone-500{ + --tw-border-opacity: 1; + border-left-color: rgb(120 113 108 / var(--tw-border-opacity)); + border-right-color: rgb(120 113 108 / var(--tw-border-opacity)); +} +.border-x-stone-600{ + --tw-border-opacity: 1; + border-left-color: rgb(87 83 78 / var(--tw-border-opacity)); + border-right-color: rgb(87 83 78 / var(--tw-border-opacity)); +} +.border-x-stone-700{ + --tw-border-opacity: 1; + border-left-color: rgb(68 64 60 / var(--tw-border-opacity)); + border-right-color: rgb(68 64 60 / var(--tw-border-opacity)); +} +.border-x-stone-800{ + --tw-border-opacity: 1; + border-left-color: rgb(41 37 36 / var(--tw-border-opacity)); + border-right-color: rgb(41 37 36 / var(--tw-border-opacity)); +} +.border-x-stone-900{ + --tw-border-opacity: 1; + border-left-color: rgb(28 25 23 / var(--tw-border-opacity)); + border-right-color: rgb(28 25 23 / var(--tw-border-opacity)); +} +.border-x-red-50{ + --tw-border-opacity: 1; + border-left-color: rgb(252 242 242 / var(--tw-border-opacity)); + border-right-color: rgb(252 242 242 / var(--tw-border-opacity)); +} +.border-x-red-100{ + --tw-border-opacity: 1; + border-left-color: rgb(250 230 230 / var(--tw-border-opacity)); + border-right-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-x-red-200{ + --tw-border-opacity: 1; + border-left-color: rgb(242 191 191 / var(--tw-border-opacity)); + border-right-color: rgb(242 191 191 / var(--tw-border-opacity)); +} +.border-x-red-300{ + --tw-border-opacity: 1; + border-left-color: rgb(235 153 153 / var(--tw-border-opacity)); + border-right-color: rgb(235 153 153 / var(--tw-border-opacity)); +} +.border-x-red-400{ + --tw-border-opacity: 1; + border-left-color: rgb(219 77 77 / var(--tw-border-opacity)); + border-right-color: rgb(219 77 77 / var(--tw-border-opacity)); +} +.border-x-red-500{ + --tw-border-opacity: 1; + border-left-color: rgb(204 0 0 / var(--tw-border-opacity)); + border-right-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-x-red-600{ + --tw-border-opacity: 1; + border-left-color: rgb(184 0 0 / var(--tw-border-opacity)); + border-right-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-x-red-700{ + --tw-border-opacity: 1; + border-left-color: rgb(153 0 0 / var(--tw-border-opacity)); + border-right-color: rgb(153 0 0 / var(--tw-border-opacity)); +} +.border-x-red-800{ + --tw-border-opacity: 1; + border-left-color: rgb(122 0 0 / var(--tw-border-opacity)); + border-right-color: rgb(122 0 0 / var(--tw-border-opacity)); +} +.border-x-red-900{ + --tw-border-opacity: 1; + border-left-color: rgb(100 0 0 / var(--tw-border-opacity)); + border-right-color: rgb(100 0 0 / var(--tw-border-opacity)); +} +.border-x-red{ + --tw-border-opacity: 1; + border-left-color: rgb(204 0 0 / var(--tw-border-opacity)); + border-right-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-x-orange-50{ + --tw-border-opacity: 1; + border-left-color: rgb(255 250 243 / var(--tw-border-opacity)); + border-right-color: rgb(255 250 243 / var(--tw-border-opacity)); +} +.border-x-orange-100{ + --tw-border-opacity: 1; + border-left-color: rgb(254 245 231 / var(--tw-border-opacity)); + border-right-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-x-orange-200{ + --tw-border-opacity: 1; + border-left-color: rgb(253 231 194 / var(--tw-border-opacity)); + border-right-color: rgb(253 231 194 / var(--tw-border-opacity)); +} +.border-x-orange-300{ + --tw-border-opacity: 1; + border-left-color: rgb(251 216 157 / var(--tw-border-opacity)); + border-right-color: rgb(251 216 157 / var(--tw-border-opacity)); +} +.border-x-orange-400{ + --tw-border-opacity: 1; + border-left-color: rgb(248 187 84 / var(--tw-border-opacity)); + border-right-color: rgb(248 187 84 / var(--tw-border-opacity)); +} +.border-x-orange-500{ + --tw-border-opacity: 1; + border-left-color: rgb(245 158 11 / var(--tw-border-opacity)); + border-right-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-x-orange-600{ + --tw-border-opacity: 1; + border-left-color: rgb(221 142 10 / var(--tw-border-opacity)); + border-right-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-x-orange-700{ + --tw-border-opacity: 1; + border-left-color: rgb(184 119 8 / var(--tw-border-opacity)); + border-right-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-x-orange-800{ + --tw-border-opacity: 1; + border-left-color: rgb(147 95 7 / var(--tw-border-opacity)); + border-right-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-x-orange-900{ + --tw-border-opacity: 1; + border-left-color: rgb(120 77 5 / var(--tw-border-opacity)); + border-right-color: rgb(120 77 5 / var(--tw-border-opacity)); +} +.border-x-orange{ + --tw-border-opacity: 1; + border-left-color: rgb(245 158 11 / var(--tw-border-opacity)); + border-right-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-x-amber-50{ + --tw-border-opacity: 1; + border-left-color: rgb(255 251 235 / var(--tw-border-opacity)); + border-right-color: rgb(255 251 235 / var(--tw-border-opacity)); +} +.border-x-amber-100{ + --tw-border-opacity: 1; + border-left-color: rgb(254 243 199 / var(--tw-border-opacity)); + border-right-color: rgb(254 243 199 / var(--tw-border-opacity)); +} +.border-x-amber-200{ + --tw-border-opacity: 1; + border-left-color: rgb(253 230 138 / var(--tw-border-opacity)); + border-right-color: rgb(253 230 138 / var(--tw-border-opacity)); +} +.border-x-amber-300{ + --tw-border-opacity: 1; + border-left-color: rgb(252 211 77 / var(--tw-border-opacity)); + border-right-color: rgb(252 211 77 / var(--tw-border-opacity)); +} +.border-x-amber-400{ + --tw-border-opacity: 1; + border-left-color: rgb(251 191 36 / var(--tw-border-opacity)); + border-right-color: rgb(251 191 36 / var(--tw-border-opacity)); +} +.border-x-amber-500{ + --tw-border-opacity: 1; + border-left-color: rgb(245 158 11 / var(--tw-border-opacity)); + border-right-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-x-amber-600{ + --tw-border-opacity: 1; + border-left-color: rgb(217 119 6 / var(--tw-border-opacity)); + border-right-color: rgb(217 119 6 / var(--tw-border-opacity)); +} +.border-x-amber-700{ + --tw-border-opacity: 1; + border-left-color: rgb(180 83 9 / var(--tw-border-opacity)); + border-right-color: rgb(180 83 9 / var(--tw-border-opacity)); +} +.border-x-amber-800{ + --tw-border-opacity: 1; + border-left-color: rgb(146 64 14 / var(--tw-border-opacity)); + border-right-color: rgb(146 64 14 / var(--tw-border-opacity)); +} +.border-x-amber-900{ + --tw-border-opacity: 1; + border-left-color: rgb(120 53 15 / var(--tw-border-opacity)); + border-right-color: rgb(120 53 15 / var(--tw-border-opacity)); +} +.border-x-yellow-50{ + --tw-border-opacity: 1; + border-left-color: rgb(253 253 234 / var(--tw-border-opacity)); + border-right-color: rgb(253 253 234 / var(--tw-border-opacity)); +} +.border-x-yellow-100{ + --tw-border-opacity: 1; + border-left-color: rgb(253 246 178 / var(--tw-border-opacity)); + border-right-color: rgb(253 246 178 / var(--tw-border-opacity)); +} +.border-x-yellow-200{ + --tw-border-opacity: 1; + border-left-color: rgb(252 233 106 / var(--tw-border-opacity)); + border-right-color: rgb(252 233 106 / var(--tw-border-opacity)); +} +.border-x-yellow-300{ + --tw-border-opacity: 1; + border-left-color: rgb(250 202 21 / var(--tw-border-opacity)); + border-right-color: rgb(250 202 21 / var(--tw-border-opacity)); +} +.border-x-yellow-400{ + --tw-border-opacity: 1; + border-left-color: rgb(227 160 8 / var(--tw-border-opacity)); + border-right-color: rgb(227 160 8 / var(--tw-border-opacity)); +} +.border-x-yellow-500{ + --tw-border-opacity: 1; + border-left-color: rgb(194 120 3 / var(--tw-border-opacity)); + border-right-color: rgb(194 120 3 / var(--tw-border-opacity)); +} +.border-x-yellow-600{ + --tw-border-opacity: 1; + border-left-color: rgb(159 88 10 / var(--tw-border-opacity)); + border-right-color: rgb(159 88 10 / var(--tw-border-opacity)); +} +.border-x-yellow-700{ + --tw-border-opacity: 1; + border-left-color: rgb(142 75 16 / var(--tw-border-opacity)); + border-right-color: rgb(142 75 16 / var(--tw-border-opacity)); +} +.border-x-yellow-800{ + --tw-border-opacity: 1; + border-left-color: rgb(114 59 19 / var(--tw-border-opacity)); + border-right-color: rgb(114 59 19 / var(--tw-border-opacity)); +} +.border-x-yellow-900{ + --tw-border-opacity: 1; + border-left-color: rgb(99 49 18 / var(--tw-border-opacity)); + border-right-color: rgb(99 49 18 / var(--tw-border-opacity)); +} +.border-x-lime-50{ + --tw-border-opacity: 1; + border-left-color: rgb(247 254 231 / var(--tw-border-opacity)); + border-right-color: rgb(247 254 231 / var(--tw-border-opacity)); +} +.border-x-lime-100{ + --tw-border-opacity: 1; + border-left-color: rgb(236 252 203 / var(--tw-border-opacity)); + border-right-color: rgb(236 252 203 / var(--tw-border-opacity)); +} +.border-x-lime-200{ + --tw-border-opacity: 1; + border-left-color: rgb(217 249 157 / var(--tw-border-opacity)); + border-right-color: rgb(217 249 157 / var(--tw-border-opacity)); +} +.border-x-lime-300{ + --tw-border-opacity: 1; + border-left-color: rgb(190 242 100 / var(--tw-border-opacity)); + border-right-color: rgb(190 242 100 / var(--tw-border-opacity)); +} +.border-x-lime-400{ + --tw-border-opacity: 1; + border-left-color: rgb(163 230 53 / var(--tw-border-opacity)); + border-right-color: rgb(163 230 53 / var(--tw-border-opacity)); +} +.border-x-lime-500{ + --tw-border-opacity: 1; + border-left-color: rgb(132 204 22 / var(--tw-border-opacity)); + border-right-color: rgb(132 204 22 / var(--tw-border-opacity)); +} +.border-x-lime-600{ + --tw-border-opacity: 1; + border-left-color: rgb(101 163 13 / var(--tw-border-opacity)); + border-right-color: rgb(101 163 13 / var(--tw-border-opacity)); +} +.border-x-lime-700{ + --tw-border-opacity: 1; + border-left-color: rgb(77 124 15 / var(--tw-border-opacity)); + border-right-color: rgb(77 124 15 / var(--tw-border-opacity)); +} +.border-x-lime-800{ + --tw-border-opacity: 1; + border-left-color: rgb(63 98 18 / var(--tw-border-opacity)); + border-right-color: rgb(63 98 18 / var(--tw-border-opacity)); +} +.border-x-lime-900{ + --tw-border-opacity: 1; + border-left-color: rgb(54 83 20 / var(--tw-border-opacity)); + border-right-color: rgb(54 83 20 / var(--tw-border-opacity)); +} +.border-x-green-50{ + --tw-border-opacity: 1; + border-left-color: rgb(248 250 246 / var(--tw-border-opacity)); + border-right-color: rgb(248 250 246 / var(--tw-border-opacity)); +} +.border-x-green-100{ + --tw-border-opacity: 1; + border-left-color: rgb(241 246 238 / var(--tw-border-opacity)); + border-right-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-x-green-200{ + --tw-border-opacity: 1; + border-left-color: rgb(219 232 212 / var(--tw-border-opacity)); + border-right-color: rgb(219 232 212 / var(--tw-border-opacity)); +} +.border-x-green-300{ + --tw-border-opacity: 1; + border-left-color: rgb(197 217 186 / var(--tw-border-opacity)); + border-right-color: rgb(197 217 186 / var(--tw-border-opacity)); +} +.border-x-green-400{ + --tw-border-opacity: 1; + border-left-color: rgb(154 189 134 / var(--tw-border-opacity)); + border-right-color: rgb(154 189 134 / var(--tw-border-opacity)); +} +.border-x-green-500{ + --tw-border-opacity: 1; + border-left-color: rgb(110 161 82 / var(--tw-border-opacity)); + border-right-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-x-green-600{ + --tw-border-opacity: 1; + border-left-color: rgb(99 145 74 / var(--tw-border-opacity)); + border-right-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-x-green-700{ + --tw-border-opacity: 1; + border-left-color: rgb(83 121 62 / var(--tw-border-opacity)); + border-right-color: rgb(83 121 62 / var(--tw-border-opacity)); +} +.border-x-green-800{ + --tw-border-opacity: 1; + border-left-color: rgb(66 97 49 / var(--tw-border-opacity)); + border-right-color: rgb(66 97 49 / var(--tw-border-opacity)); +} +.border-x-green-900{ + --tw-border-opacity: 1; + border-left-color: rgb(54 79 40 / var(--tw-border-opacity)); + border-right-color: rgb(54 79 40 / var(--tw-border-opacity)); +} +.border-x-green{ + --tw-border-opacity: 1; + border-left-color: rgb(110 161 82 / var(--tw-border-opacity)); + border-right-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-x-emerald-50{ + --tw-border-opacity: 1; + border-left-color: rgb(236 253 245 / var(--tw-border-opacity)); + border-right-color: rgb(236 253 245 / var(--tw-border-opacity)); +} +.border-x-emerald-100{ + --tw-border-opacity: 1; + border-left-color: rgb(209 250 229 / var(--tw-border-opacity)); + border-right-color: rgb(209 250 229 / var(--tw-border-opacity)); +} +.border-x-emerald-200{ + --tw-border-opacity: 1; + border-left-color: rgb(167 243 208 / var(--tw-border-opacity)); + border-right-color: rgb(167 243 208 / var(--tw-border-opacity)); +} +.border-x-emerald-300{ + --tw-border-opacity: 1; + border-left-color: rgb(110 231 183 / var(--tw-border-opacity)); + border-right-color: rgb(110 231 183 / var(--tw-border-opacity)); +} +.border-x-emerald-400{ + --tw-border-opacity: 1; + border-left-color: rgb(52 211 153 / var(--tw-border-opacity)); + border-right-color: rgb(52 211 153 / var(--tw-border-opacity)); +} +.border-x-emerald-500{ + --tw-border-opacity: 1; + border-left-color: rgb(16 185 129 / var(--tw-border-opacity)); + border-right-color: rgb(16 185 129 / var(--tw-border-opacity)); +} +.border-x-emerald-600{ + --tw-border-opacity: 1; + border-left-color: rgb(5 150 105 / var(--tw-border-opacity)); + border-right-color: rgb(5 150 105 / var(--tw-border-opacity)); +} +.border-x-emerald-700{ + --tw-border-opacity: 1; + border-left-color: rgb(4 120 87 / var(--tw-border-opacity)); + border-right-color: rgb(4 120 87 / var(--tw-border-opacity)); +} +.border-x-emerald-800{ + --tw-border-opacity: 1; + border-left-color: rgb(6 95 70 / var(--tw-border-opacity)); + border-right-color: rgb(6 95 70 / var(--tw-border-opacity)); +} +.border-x-emerald-900{ + --tw-border-opacity: 1; + border-left-color: rgb(6 78 59 / var(--tw-border-opacity)); + border-right-color: rgb(6 78 59 / var(--tw-border-opacity)); +} +.border-x-teal-50{ + --tw-border-opacity: 1; + border-left-color: rgb(237 250 250 / var(--tw-border-opacity)); + border-right-color: rgb(237 250 250 / var(--tw-border-opacity)); +} +.border-x-teal-100{ + --tw-border-opacity: 1; + border-left-color: rgb(213 245 246 / var(--tw-border-opacity)); + border-right-color: rgb(213 245 246 / var(--tw-border-opacity)); +} +.border-x-teal-200{ + --tw-border-opacity: 1; + border-left-color: rgb(175 236 239 / var(--tw-border-opacity)); + border-right-color: rgb(175 236 239 / var(--tw-border-opacity)); +} +.border-x-teal-300{ + --tw-border-opacity: 1; + border-left-color: rgb(126 220 226 / var(--tw-border-opacity)); + border-right-color: rgb(126 220 226 / var(--tw-border-opacity)); +} +.border-x-teal-400{ + --tw-border-opacity: 1; + border-left-color: rgb(22 189 202 / var(--tw-border-opacity)); + border-right-color: rgb(22 189 202 / var(--tw-border-opacity)); +} +.border-x-teal-500{ + --tw-border-opacity: 1; + border-left-color: rgb(6 148 162 / var(--tw-border-opacity)); + border-right-color: rgb(6 148 162 / var(--tw-border-opacity)); +} +.border-x-teal-600{ + --tw-border-opacity: 1; + border-left-color: rgb(4 116 129 / var(--tw-border-opacity)); + border-right-color: rgb(4 116 129 / var(--tw-border-opacity)); +} +.border-x-teal-700{ + --tw-border-opacity: 1; + border-left-color: rgb(3 102 114 / var(--tw-border-opacity)); + border-right-color: rgb(3 102 114 / var(--tw-border-opacity)); +} +.border-x-teal-800{ + --tw-border-opacity: 1; + border-left-color: rgb(5 80 92 / var(--tw-border-opacity)); + border-right-color: rgb(5 80 92 / var(--tw-border-opacity)); +} +.border-x-teal-900{ + --tw-border-opacity: 1; + border-left-color: rgb(1 68 81 / var(--tw-border-opacity)); + border-right-color: rgb(1 68 81 / var(--tw-border-opacity)); +} +.border-x-cyan-50{ + --tw-border-opacity: 1; + border-left-color: rgb(236 254 255 / var(--tw-border-opacity)); + border-right-color: rgb(236 254 255 / var(--tw-border-opacity)); +} +.border-x-cyan-100{ + --tw-border-opacity: 1; + border-left-color: rgb(207 250 254 / var(--tw-border-opacity)); + border-right-color: rgb(207 250 254 / var(--tw-border-opacity)); +} +.border-x-cyan-200{ + --tw-border-opacity: 1; + border-left-color: rgb(165 243 252 / var(--tw-border-opacity)); + border-right-color: rgb(165 243 252 / var(--tw-border-opacity)); +} +.border-x-cyan-300{ + --tw-border-opacity: 1; + border-left-color: rgb(103 232 249 / var(--tw-border-opacity)); + border-right-color: rgb(103 232 249 / var(--tw-border-opacity)); +} +.border-x-cyan-400{ + --tw-border-opacity: 1; + border-left-color: rgb(34 211 238 / var(--tw-border-opacity)); + border-right-color: rgb(34 211 238 / var(--tw-border-opacity)); +} +.border-x-cyan-500{ + --tw-border-opacity: 1; + border-left-color: rgb(6 182 212 / var(--tw-border-opacity)); + border-right-color: rgb(6 182 212 / var(--tw-border-opacity)); +} +.border-x-cyan-600{ + --tw-border-opacity: 1; + border-left-color: rgb(8 145 178 / var(--tw-border-opacity)); + border-right-color: rgb(8 145 178 / var(--tw-border-opacity)); +} +.border-x-cyan-700{ + --tw-border-opacity: 1; + border-left-color: rgb(14 116 144 / var(--tw-border-opacity)); + border-right-color: rgb(14 116 144 / var(--tw-border-opacity)); +} +.border-x-cyan-800{ + --tw-border-opacity: 1; + border-left-color: rgb(21 94 117 / var(--tw-border-opacity)); + border-right-color: rgb(21 94 117 / var(--tw-border-opacity)); +} +.border-x-cyan-900{ + --tw-border-opacity: 1; + border-left-color: rgb(22 78 99 / var(--tw-border-opacity)); + border-right-color: rgb(22 78 99 / var(--tw-border-opacity)); +} +.border-x-sky-50{ + --tw-border-opacity: 1; + border-left-color: rgb(240 249 255 / var(--tw-border-opacity)); + border-right-color: rgb(240 249 255 / var(--tw-border-opacity)); +} +.border-x-sky-100{ + --tw-border-opacity: 1; + border-left-color: rgb(224 242 254 / var(--tw-border-opacity)); + border-right-color: rgb(224 242 254 / var(--tw-border-opacity)); +} +.border-x-sky-200{ + --tw-border-opacity: 1; + border-left-color: rgb(186 230 253 / var(--tw-border-opacity)); + border-right-color: rgb(186 230 253 / var(--tw-border-opacity)); +} +.border-x-sky-300{ + --tw-border-opacity: 1; + border-left-color: rgb(125 211 252 / var(--tw-border-opacity)); + border-right-color: rgb(125 211 252 / var(--tw-border-opacity)); +} +.border-x-sky-400{ + --tw-border-opacity: 1; + border-left-color: rgb(56 189 248 / var(--tw-border-opacity)); + border-right-color: rgb(56 189 248 / var(--tw-border-opacity)); +} +.border-x-sky-500{ + --tw-border-opacity: 1; + border-left-color: rgb(14 165 233 / var(--tw-border-opacity)); + border-right-color: rgb(14 165 233 / var(--tw-border-opacity)); +} +.border-x-sky-600{ + --tw-border-opacity: 1; + border-left-color: rgb(2 132 199 / var(--tw-border-opacity)); + border-right-color: rgb(2 132 199 / var(--tw-border-opacity)); +} +.border-x-sky-700{ + --tw-border-opacity: 1; + border-left-color: rgb(3 105 161 / var(--tw-border-opacity)); + border-right-color: rgb(3 105 161 / var(--tw-border-opacity)); +} +.border-x-sky-800{ + --tw-border-opacity: 1; + border-left-color: rgb(7 89 133 / var(--tw-border-opacity)); + border-right-color: rgb(7 89 133 / var(--tw-border-opacity)); +} +.border-x-sky-900{ + --tw-border-opacity: 1; + border-left-color: rgb(12 74 110 / var(--tw-border-opacity)); + border-right-color: rgb(12 74 110 / var(--tw-border-opacity)); +} +.border-x-blue-50{ + --tw-border-opacity: 1; + border-left-color: rgb(242 248 251 / var(--tw-border-opacity)); + border-right-color: rgb(242 248 251 / var(--tw-border-opacity)); +} +.border-x-blue-100{ + --tw-border-opacity: 1; + border-left-color: rgb(230 241 246 / var(--tw-border-opacity)); + border-right-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-x-blue-200{ + --tw-border-opacity: 1; + border-left-color: rgb(191 219 233 / var(--tw-border-opacity)); + border-right-color: rgb(191 219 233 / var(--tw-border-opacity)); +} +.border-x-blue-300{ + --tw-border-opacity: 1; + border-left-color: rgb(153 197 219 / var(--tw-border-opacity)); + border-right-color: rgb(153 197 219 / var(--tw-border-opacity)); +} +.border-x-blue-400{ + --tw-border-opacity: 1; + border-left-color: rgb(77 154 193 / var(--tw-border-opacity)); + border-right-color: rgb(77 154 193 / var(--tw-border-opacity)); +} +.border-x-blue-500{ + --tw-border-opacity: 1; + border-left-color: rgb(0 110 166 / var(--tw-border-opacity)); + border-right-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-x-blue-600{ + --tw-border-opacity: 1; + border-left-color: rgb(0 99 149 / var(--tw-border-opacity)); + border-right-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-x-blue-700{ + --tw-border-opacity: 1; + border-left-color: rgb(0 83 125 / var(--tw-border-opacity)); + border-right-color: rgb(0 83 125 / var(--tw-border-opacity)); +} +.border-x-blue-800{ + --tw-border-opacity: 1; + border-left-color: rgb(0 66 100 / var(--tw-border-opacity)); + border-right-color: rgb(0 66 100 / var(--tw-border-opacity)); +} +.border-x-blue-900{ + --tw-border-opacity: 1; + border-left-color: rgb(0 54 81 / var(--tw-border-opacity)); + border-right-color: rgb(0 54 81 / var(--tw-border-opacity)); +} +.border-x-blue{ + --tw-border-opacity: 1; + border-left-color: rgb(0 110 166 / var(--tw-border-opacity)); + border-right-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-x-indigo-50{ + --tw-border-opacity: 1; + border-left-color: rgb(240 245 255 / var(--tw-border-opacity)); + border-right-color: rgb(240 245 255 / var(--tw-border-opacity)); +} +.border-x-indigo-100{ + --tw-border-opacity: 1; + border-left-color: rgb(229 237 255 / var(--tw-border-opacity)); + border-right-color: rgb(229 237 255 / var(--tw-border-opacity)); +} +.border-x-indigo-200{ + --tw-border-opacity: 1; + border-left-color: rgb(205 219 254 / var(--tw-border-opacity)); + border-right-color: rgb(205 219 254 / var(--tw-border-opacity)); +} +.border-x-indigo-300{ + --tw-border-opacity: 1; + border-left-color: rgb(180 198 252 / var(--tw-border-opacity)); + border-right-color: rgb(180 198 252 / var(--tw-border-opacity)); +} +.border-x-indigo-400{ + --tw-border-opacity: 1; + border-left-color: rgb(141 162 251 / var(--tw-border-opacity)); + border-right-color: rgb(141 162 251 / var(--tw-border-opacity)); +} +.border-x-indigo-500{ + --tw-border-opacity: 1; + border-left-color: rgb(104 117 245 / var(--tw-border-opacity)); + border-right-color: rgb(104 117 245 / var(--tw-border-opacity)); +} +.border-x-indigo-600{ + --tw-border-opacity: 1; + border-left-color: rgb(88 80 236 / var(--tw-border-opacity)); + border-right-color: rgb(88 80 236 / var(--tw-border-opacity)); +} +.border-x-indigo-700{ + --tw-border-opacity: 1; + border-left-color: rgb(81 69 205 / var(--tw-border-opacity)); + border-right-color: rgb(81 69 205 / var(--tw-border-opacity)); +} +.border-x-indigo-800{ + --tw-border-opacity: 1; + border-left-color: rgb(66 56 157 / var(--tw-border-opacity)); + border-right-color: rgb(66 56 157 / var(--tw-border-opacity)); +} +.border-x-indigo-900{ + --tw-border-opacity: 1; + border-left-color: rgb(54 47 120 / var(--tw-border-opacity)); + border-right-color: rgb(54 47 120 / var(--tw-border-opacity)); +} +.border-x-violet-50{ + --tw-border-opacity: 1; + border-left-color: rgb(245 243 255 / var(--tw-border-opacity)); + border-right-color: rgb(245 243 255 / var(--tw-border-opacity)); +} +.border-x-violet-100{ + --tw-border-opacity: 1; + border-left-color: rgb(237 233 254 / var(--tw-border-opacity)); + border-right-color: rgb(237 233 254 / var(--tw-border-opacity)); +} +.border-x-violet-200{ + --tw-border-opacity: 1; + border-left-color: rgb(221 214 254 / var(--tw-border-opacity)); + border-right-color: rgb(221 214 254 / var(--tw-border-opacity)); +} +.border-x-violet-300{ + --tw-border-opacity: 1; + border-left-color: rgb(196 181 253 / var(--tw-border-opacity)); + border-right-color: rgb(196 181 253 / var(--tw-border-opacity)); +} +.border-x-violet-400{ + --tw-border-opacity: 1; + border-left-color: rgb(167 139 250 / var(--tw-border-opacity)); + border-right-color: rgb(167 139 250 / var(--tw-border-opacity)); +} +.border-x-violet-500{ + --tw-border-opacity: 1; + border-left-color: rgb(139 92 246 / var(--tw-border-opacity)); + border-right-color: rgb(139 92 246 / var(--tw-border-opacity)); +} +.border-x-violet-600{ + --tw-border-opacity: 1; + border-left-color: rgb(124 58 237 / var(--tw-border-opacity)); + border-right-color: rgb(124 58 237 / var(--tw-border-opacity)); +} +.border-x-violet-700{ + --tw-border-opacity: 1; + border-left-color: rgb(109 40 217 / var(--tw-border-opacity)); + border-right-color: rgb(109 40 217 / var(--tw-border-opacity)); +} +.border-x-violet-800{ + --tw-border-opacity: 1; + border-left-color: rgb(91 33 182 / var(--tw-border-opacity)); + border-right-color: rgb(91 33 182 / var(--tw-border-opacity)); +} +.border-x-violet-900{ + --tw-border-opacity: 1; + border-left-color: rgb(76 29 149 / var(--tw-border-opacity)); + border-right-color: rgb(76 29 149 / var(--tw-border-opacity)); +} +.border-x-purple-50{ + --tw-border-opacity: 1; + border-left-color: rgb(247 247 249 / var(--tw-border-opacity)); + border-right-color: rgb(247 247 249 / var(--tw-border-opacity)); +} +.border-x-purple-100{ + --tw-border-opacity: 1; + border-left-color: rgb(238 238 243 / var(--tw-border-opacity)); + border-right-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-x-purple-200{ + --tw-border-opacity: 1; + border-left-color: rgb(213 213 226 / var(--tw-border-opacity)); + border-right-color: rgb(213 213 226 / var(--tw-border-opacity)); +} +.border-x-purple-300{ + --tw-border-opacity: 1; + border-left-color: rgb(187 188 209 / var(--tw-border-opacity)); + border-right-color: rgb(187 188 209 / var(--tw-border-opacity)); +} +.border-x-purple-400{ + --tw-border-opacity: 1; + border-left-color: rgb(136 138 174 / var(--tw-border-opacity)); + border-right-color: rgb(136 138 174 / var(--tw-border-opacity)); +} +.border-x-purple-500{ + --tw-border-opacity: 1; + border-left-color: rgb(85 88 139 / var(--tw-border-opacity)); + border-right-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-x-purple-600{ + --tw-border-opacity: 1; + border-left-color: rgb(77 79 125 / var(--tw-border-opacity)); + border-right-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-x-purple-700{ + --tw-border-opacity: 1; + border-left-color: rgb(64 66 104 / var(--tw-border-opacity)); + border-right-color: rgb(64 66 104 / var(--tw-border-opacity)); +} +.border-x-purple-800{ + --tw-border-opacity: 1; + border-left-color: rgb(51 53 83 / var(--tw-border-opacity)); + border-right-color: rgb(51 53 83 / var(--tw-border-opacity)); +} +.border-x-purple-900{ + --tw-border-opacity: 1; + border-left-color: rgb(42 43 68 / var(--tw-border-opacity)); + border-right-color: rgb(42 43 68 / var(--tw-border-opacity)); +} +.border-x-purple{ + --tw-border-opacity: 1; + border-left-color: rgb(85 88 139 / var(--tw-border-opacity)); + border-right-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-x-fuchsia-50{ + --tw-border-opacity: 1; + border-left-color: rgb(253 244 255 / var(--tw-border-opacity)); + border-right-color: rgb(253 244 255 / var(--tw-border-opacity)); +} +.border-x-fuchsia-100{ + --tw-border-opacity: 1; + border-left-color: rgb(250 232 255 / var(--tw-border-opacity)); + border-right-color: rgb(250 232 255 / var(--tw-border-opacity)); +} +.border-x-fuchsia-200{ + --tw-border-opacity: 1; + border-left-color: rgb(245 208 254 / var(--tw-border-opacity)); + border-right-color: rgb(245 208 254 / var(--tw-border-opacity)); +} +.border-x-fuchsia-300{ + --tw-border-opacity: 1; + border-left-color: rgb(240 171 252 / var(--tw-border-opacity)); + border-right-color: rgb(240 171 252 / var(--tw-border-opacity)); +} +.border-x-fuchsia-400{ + --tw-border-opacity: 1; + border-left-color: rgb(232 121 249 / var(--tw-border-opacity)); + border-right-color: rgb(232 121 249 / var(--tw-border-opacity)); +} +.border-x-fuchsia-500{ + --tw-border-opacity: 1; + border-left-color: rgb(217 70 239 / var(--tw-border-opacity)); + border-right-color: rgb(217 70 239 / var(--tw-border-opacity)); +} +.border-x-fuchsia-600{ + --tw-border-opacity: 1; + border-left-color: rgb(192 38 211 / var(--tw-border-opacity)); + border-right-color: rgb(192 38 211 / var(--tw-border-opacity)); +} +.border-x-fuchsia-700{ + --tw-border-opacity: 1; + border-left-color: rgb(162 28 175 / var(--tw-border-opacity)); + border-right-color: rgb(162 28 175 / var(--tw-border-opacity)); +} +.border-x-fuchsia-800{ + --tw-border-opacity: 1; + border-left-color: rgb(134 25 143 / var(--tw-border-opacity)); + border-right-color: rgb(134 25 143 / var(--tw-border-opacity)); +} +.border-x-fuchsia-900{ + --tw-border-opacity: 1; + border-left-color: rgb(112 26 117 / var(--tw-border-opacity)); + border-right-color: rgb(112 26 117 / var(--tw-border-opacity)); +} +.border-x-pink-50{ + --tw-border-opacity: 1; + border-left-color: rgb(253 242 248 / var(--tw-border-opacity)); + border-right-color: rgb(253 242 248 / var(--tw-border-opacity)); +} +.border-x-pink-100{ + --tw-border-opacity: 1; + border-left-color: rgb(252 232 243 / var(--tw-border-opacity)); + border-right-color: rgb(252 232 243 / var(--tw-border-opacity)); +} +.border-x-pink-200{ + --tw-border-opacity: 1; + border-left-color: rgb(250 209 232 / var(--tw-border-opacity)); + border-right-color: rgb(250 209 232 / var(--tw-border-opacity)); +} +.border-x-pink-300{ + --tw-border-opacity: 1; + border-left-color: rgb(248 180 217 / var(--tw-border-opacity)); + border-right-color: rgb(248 180 217 / var(--tw-border-opacity)); +} +.border-x-pink-400{ + --tw-border-opacity: 1; + border-left-color: rgb(241 126 184 / var(--tw-border-opacity)); + border-right-color: rgb(241 126 184 / var(--tw-border-opacity)); +} +.border-x-pink-500{ + --tw-border-opacity: 1; + border-left-color: rgb(231 70 148 / var(--tw-border-opacity)); + border-right-color: rgb(231 70 148 / var(--tw-border-opacity)); +} +.border-x-pink-600{ + --tw-border-opacity: 1; + border-left-color: rgb(214 31 105 / var(--tw-border-opacity)); + border-right-color: rgb(214 31 105 / var(--tw-border-opacity)); +} +.border-x-pink-700{ + --tw-border-opacity: 1; + border-left-color: rgb(191 18 93 / var(--tw-border-opacity)); + border-right-color: rgb(191 18 93 / var(--tw-border-opacity)); +} +.border-x-pink-800{ + --tw-border-opacity: 1; + border-left-color: rgb(153 21 75 / var(--tw-border-opacity)); + border-right-color: rgb(153 21 75 / var(--tw-border-opacity)); +} +.border-x-pink-900{ + --tw-border-opacity: 1; + border-left-color: rgb(117 26 61 / var(--tw-border-opacity)); + border-right-color: rgb(117 26 61 / var(--tw-border-opacity)); +} +.border-x-rose-50{ + --tw-border-opacity: 1; + border-left-color: rgb(255 241 242 / var(--tw-border-opacity)); + border-right-color: rgb(255 241 242 / var(--tw-border-opacity)); +} +.border-x-rose-100{ + --tw-border-opacity: 1; + border-left-color: rgb(255 228 230 / var(--tw-border-opacity)); + border-right-color: rgb(255 228 230 / var(--tw-border-opacity)); +} +.border-x-rose-200{ + --tw-border-opacity: 1; + border-left-color: rgb(254 205 211 / var(--tw-border-opacity)); + border-right-color: rgb(254 205 211 / var(--tw-border-opacity)); +} +.border-x-rose-300{ + --tw-border-opacity: 1; + border-left-color: rgb(253 164 175 / var(--tw-border-opacity)); + border-right-color: rgb(253 164 175 / var(--tw-border-opacity)); +} +.border-x-rose-400{ + --tw-border-opacity: 1; + border-left-color: rgb(251 113 133 / var(--tw-border-opacity)); + border-right-color: rgb(251 113 133 / var(--tw-border-opacity)); +} +.border-x-rose-500{ + --tw-border-opacity: 1; + border-left-color: rgb(244 63 94 / var(--tw-border-opacity)); + border-right-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-x-rose-600{ + --tw-border-opacity: 1; + border-left-color: rgb(225 29 72 / var(--tw-border-opacity)); + border-right-color: rgb(225 29 72 / var(--tw-border-opacity)); +} +.border-x-rose-700{ + --tw-border-opacity: 1; + border-left-color: rgb(190 18 60 / var(--tw-border-opacity)); + border-right-color: rgb(190 18 60 / var(--tw-border-opacity)); +} +.border-x-rose-800{ + --tw-border-opacity: 1; + border-left-color: rgb(159 18 57 / var(--tw-border-opacity)); + border-right-color: rgb(159 18 57 / var(--tw-border-opacity)); +} +.border-x-rose-900{ + --tw-border-opacity: 1; + border-left-color: rgb(136 19 55 / var(--tw-border-opacity)); + border-right-color: rgb(136 19 55 / var(--tw-border-opacity)); +} +.border-x-rose{ + --tw-border-opacity: 1; + border-left-color: rgb(244 63 94 / var(--tw-border-opacity)); + border-right-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-x-lilac-100{ + --tw-border-opacity: 1; + border-left-color: rgb(245 247 250 / var(--tw-border-opacity)); + border-right-color: rgb(245 247 250 / var(--tw-border-opacity)); +} +.border-x-lilac-300{ + --tw-border-opacity: 1; + border-left-color: rgb(237 240 252 / var(--tw-border-opacity)); + border-right-color: rgb(237 240 252 / var(--tw-border-opacity)); +} +.border-x-lilac-900{ + --tw-border-opacity: 1; + border-left-color: rgb(220 226 249 / var(--tw-border-opacity)); + border-right-color: rgb(220 226 249 / var(--tw-border-opacity)); +} +.border-x-lilac{ + --tw-border-opacity: 1; + border-left-color: rgb(248 249 254 / var(--tw-border-opacity)); + border-right-color: rgb(248 249 254 / var(--tw-border-opacity)); +} +.border-x-golden-900{ + --tw-border-opacity: 1; + border-left-color: rgb(191 184 130 / var(--tw-border-opacity)); + border-right-color: rgb(191 184 130 / var(--tw-border-opacity)); +} +.border-x-golden{ + --tw-border-opacity: 1; + border-left-color: rgb(209 201 137 / var(--tw-border-opacity)); + border-right-color: rgb(209 201 137 / var(--tw-border-opacity)); +} +.border-x-status-success{ + --tw-border-opacity: 1; + border-left-color: rgb(241 246 238 / var(--tw-border-opacity)); + border-right-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-x-status-danger{ + --tw-border-opacity: 1; + border-left-color: rgb(250 230 230 / var(--tw-border-opacity)); + border-right-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-x-status-sent{ + --tw-border-opacity: 1; + border-left-color: rgb(254 245 231 / var(--tw-border-opacity)); + border-right-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-x-status-viewed{ + --tw-border-opacity: 1; + border-left-color: rgb(238 238 243 / var(--tw-border-opacity)); + border-right-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-x-status-draft{ + --tw-border-opacity: 1; + border-left-color: rgb(236 236 236 / var(--tw-border-opacity)); + border-right-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-x-status-partial{ + --tw-border-opacity: 1; + border-left-color: rgb(230 241 246 / var(--tw-border-opacity)); + border-right-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-x-status-canceled{ + --tw-border-opacity: 1; + border-left-color: rgb(40 40 40 / var(--tw-border-opacity)); + border-right-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-x-status-warning{ + --tw-border-opacity: 1; + border-left-color: rgb(254 245 231 / var(--tw-border-opacity)); + border-right-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-x-text-status-success{ + --tw-border-opacity: 1; + border-left-color: rgb(99 145 74 / var(--tw-border-opacity)); + border-right-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-x-text-status-danger{ + --tw-border-opacity: 1; + border-left-color: rgb(184 0 0 / var(--tw-border-opacity)); + border-right-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-x-text-status-sent{ + --tw-border-opacity: 1; + border-left-color: rgb(221 142 10 / var(--tw-border-opacity)); + border-right-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-x-text-status-viewed{ + --tw-border-opacity: 1; + border-left-color: rgb(77 79 125 / var(--tw-border-opacity)); + border-right-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-x-text-status-draft{ + --tw-border-opacity: 1; + border-left-color: rgb(59 59 59 / var(--tw-border-opacity)); + border-right-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-x-text-status-partial{ + --tw-border-opacity: 1; + border-left-color: rgb(0 99 149 / var(--tw-border-opacity)); + border-right-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-x-text-status-canceled{ + --tw-border-opacity: 1; + border-left-color: rgb(255 255 255 / var(--tw-border-opacity)); + border-right-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-x-text-status-warning{ + --tw-border-opacity: 1; + border-left-color: rgb(184 119 8 / var(--tw-border-opacity)); + border-right-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-x-body{ + --tw-border-opacity: 1; + border-left-color: rgb(252 252 252 / var(--tw-border-opacity)); + border-right-color: rgb(252 252 252 / var(--tw-border-opacity)); +} +.border-x-light-gray{ + --tw-border-opacity: 1; + border-left-color: rgb(199 201 217 / var(--tw-border-opacity)); + border-right-color: rgb(199 201 217 / var(--tw-border-opacity)); +} +.border-x-dark-blue{ + --tw-border-opacity: 1; + border-left-color: rgb(21 40 75 / var(--tw-border-opacity)); + border-right-color: rgb(21 40 75 / var(--tw-border-opacity)); +} +.border-x-lighter-gray{ + --tw-border-opacity: 1; + border-left-color: rgb(242 242 245 / var(--tw-border-opacity)); + border-right-color: rgb(242 242 245 / var(--tw-border-opacity)); +} +.border-x-purple-lighter{ + --tw-border-opacity: 1; + border-left-color: rgb(242 244 252 / var(--tw-border-opacity)); + border-right-color: rgb(242 244 252 / var(--tw-border-opacity)); +} +.border-x-modal-background{ + border-left-color: rgba(0, 0, 0, 0.3); + border-right-color: rgba(0, 0, 0, 0.3); +} +.border-x-testing{ + --tw-border-opacity: 1; + border-left-color: rgb(147 95 7 / var(--tw-border-opacity)); + border-right-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-y-inherit{ + border-top-color: inherit; + border-bottom-color: inherit; +} +.border-y-current{ + border-top-color: currentColor; + border-bottom-color: currentColor; +} +.border-y-transparent{ + border-top-color: transparent; + border-bottom-color: transparent; +} +.border-y-black-50{ + --tw-border-opacity: 1; + border-top-color: rgb(246 246 246 / var(--tw-border-opacity)); + border-bottom-color: rgb(246 246 246 / var(--tw-border-opacity)); +} +.border-y-black-100{ + --tw-border-opacity: 1; + border-top-color: rgb(236 236 236 / var(--tw-border-opacity)); + border-bottom-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-y-black-200{ + --tw-border-opacity: 1; + border-top-color: rgb(208 208 208 / var(--tw-border-opacity)); + border-bottom-color: rgb(208 208 208 / var(--tw-border-opacity)); +} +.border-y-black-300{ + --tw-border-opacity: 1; + border-top-color: rgb(179 179 179 / var(--tw-border-opacity)); + border-bottom-color: rgb(179 179 179 / var(--tw-border-opacity)); +} +.border-y-black-400{ + --tw-border-opacity: 1; + border-top-color: rgb(123 123 123 / var(--tw-border-opacity)); + border-bottom-color: rgb(123 123 123 / var(--tw-border-opacity)); +} +.border-y-black-500{ + --tw-border-opacity: 1; + border-top-color: rgb(66 66 66 / var(--tw-border-opacity)); + border-bottom-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-y-black-600{ + --tw-border-opacity: 1; + border-top-color: rgb(59 59 59 / var(--tw-border-opacity)); + border-bottom-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-y-black-700{ + --tw-border-opacity: 1; + border-top-color: rgb(50 50 50 / var(--tw-border-opacity)); + border-bottom-color: rgb(50 50 50 / var(--tw-border-opacity)); +} +.border-y-black-800{ + --tw-border-opacity: 1; + border-top-color: rgb(40 40 40 / var(--tw-border-opacity)); + border-bottom-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-y-black-900{ + --tw-border-opacity: 1; + border-top-color: rgb(32 32 32 / var(--tw-border-opacity)); + border-bottom-color: rgb(32 32 32 / var(--tw-border-opacity)); +} +.border-y-black{ + --tw-border-opacity: 1; + border-top-color: rgb(66 66 66 / var(--tw-border-opacity)); + border-bottom-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-y-white{ + --tw-border-opacity: 1; + border-top-color: rgb(255 255 255 / var(--tw-border-opacity)); + border-bottom-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-y-slate-50{ + --tw-border-opacity: 1; + border-top-color: rgb(248 250 252 / var(--tw-border-opacity)); + border-bottom-color: rgb(248 250 252 / var(--tw-border-opacity)); +} +.border-y-slate-100{ + --tw-border-opacity: 1; + border-top-color: rgb(241 245 249 / var(--tw-border-opacity)); + border-bottom-color: rgb(241 245 249 / var(--tw-border-opacity)); +} +.border-y-slate-200{ + --tw-border-opacity: 1; + border-top-color: rgb(226 232 240 / var(--tw-border-opacity)); + border-bottom-color: rgb(226 232 240 / var(--tw-border-opacity)); +} +.border-y-slate-300{ + --tw-border-opacity: 1; + border-top-color: rgb(203 213 225 / var(--tw-border-opacity)); + border-bottom-color: rgb(203 213 225 / var(--tw-border-opacity)); +} +.border-y-slate-400{ + --tw-border-opacity: 1; + border-top-color: rgb(148 163 184 / var(--tw-border-opacity)); + border-bottom-color: rgb(148 163 184 / var(--tw-border-opacity)); +} +.border-y-slate-500{ + --tw-border-opacity: 1; + border-top-color: rgb(100 116 139 / var(--tw-border-opacity)); + border-bottom-color: rgb(100 116 139 / var(--tw-border-opacity)); +} +.border-y-slate-600{ + --tw-border-opacity: 1; + border-top-color: rgb(71 85 105 / var(--tw-border-opacity)); + border-bottom-color: rgb(71 85 105 / var(--tw-border-opacity)); +} +.border-y-slate-700{ + --tw-border-opacity: 1; + border-top-color: rgb(51 65 85 / var(--tw-border-opacity)); + border-bottom-color: rgb(51 65 85 / var(--tw-border-opacity)); +} +.border-y-slate-800{ + --tw-border-opacity: 1; + border-top-color: rgb(30 41 59 / var(--tw-border-opacity)); + border-bottom-color: rgb(30 41 59 / var(--tw-border-opacity)); +} +.border-y-slate-900{ + --tw-border-opacity: 1; + border-top-color: rgb(15 23 42 / var(--tw-border-opacity)); + border-bottom-color: rgb(15 23 42 / var(--tw-border-opacity)); +} +.border-y-gray-50{ + --tw-border-opacity: 1; + border-top-color: rgb(249 250 251 / var(--tw-border-opacity)); + border-bottom-color: rgb(249 250 251 / var(--tw-border-opacity)); +} +.border-y-gray-100{ + --tw-border-opacity: 1; + border-top-color: rgb(243 244 246 / var(--tw-border-opacity)); + border-bottom-color: rgb(243 244 246 / var(--tw-border-opacity)); +} +.border-y-gray-200{ + --tw-border-opacity: 1; + border-top-color: rgb(229 231 235 / var(--tw-border-opacity)); + border-bottom-color: rgb(229 231 235 / var(--tw-border-opacity)); +} +.border-y-gray-300{ + --tw-border-opacity: 1; + border-top-color: rgb(209 213 219 / var(--tw-border-opacity)); + border-bottom-color: rgb(209 213 219 / var(--tw-border-opacity)); +} +.border-y-gray-400{ + --tw-border-opacity: 1; + border-top-color: rgb(156 163 175 / var(--tw-border-opacity)); + border-bottom-color: rgb(156 163 175 / var(--tw-border-opacity)); +} +.border-y-gray-500{ + --tw-border-opacity: 1; + border-top-color: rgb(107 114 128 / var(--tw-border-opacity)); + border-bottom-color: rgb(107 114 128 / var(--tw-border-opacity)); +} +.border-y-gray-600{ + --tw-border-opacity: 1; + border-top-color: rgb(75 85 99 / var(--tw-border-opacity)); + border-bottom-color: rgb(75 85 99 / var(--tw-border-opacity)); +} +.border-y-gray-700{ + --tw-border-opacity: 1; + border-top-color: rgb(55 65 81 / var(--tw-border-opacity)); + border-bottom-color: rgb(55 65 81 / var(--tw-border-opacity)); +} +.border-y-gray-800{ + --tw-border-opacity: 1; + border-top-color: rgb(31 41 55 / var(--tw-border-opacity)); + border-bottom-color: rgb(31 41 55 / var(--tw-border-opacity)); +} +.border-y-gray-900{ + --tw-border-opacity: 1; + border-top-color: rgb(17 24 39 / var(--tw-border-opacity)); + border-bottom-color: rgb(17 24 39 / var(--tw-border-opacity)); +} +.border-y-zinc-50{ + --tw-border-opacity: 1; + border-top-color: rgb(250 250 250 / var(--tw-border-opacity)); + border-bottom-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-y-zinc-100{ + --tw-border-opacity: 1; + border-top-color: rgb(244 244 245 / var(--tw-border-opacity)); + border-bottom-color: rgb(244 244 245 / var(--tw-border-opacity)); +} +.border-y-zinc-200{ + --tw-border-opacity: 1; + border-top-color: rgb(228 228 231 / var(--tw-border-opacity)); + border-bottom-color: rgb(228 228 231 / var(--tw-border-opacity)); +} +.border-y-zinc-300{ + --tw-border-opacity: 1; + border-top-color: rgb(212 212 216 / var(--tw-border-opacity)); + border-bottom-color: rgb(212 212 216 / var(--tw-border-opacity)); +} +.border-y-zinc-400{ + --tw-border-opacity: 1; + border-top-color: rgb(161 161 170 / var(--tw-border-opacity)); + border-bottom-color: rgb(161 161 170 / var(--tw-border-opacity)); +} +.border-y-zinc-500{ + --tw-border-opacity: 1; + border-top-color: rgb(113 113 122 / var(--tw-border-opacity)); + border-bottom-color: rgb(113 113 122 / var(--tw-border-opacity)); +} +.border-y-zinc-600{ + --tw-border-opacity: 1; + border-top-color: rgb(82 82 91 / var(--tw-border-opacity)); + border-bottom-color: rgb(82 82 91 / var(--tw-border-opacity)); +} +.border-y-zinc-700{ + --tw-border-opacity: 1; + border-top-color: rgb(63 63 70 / var(--tw-border-opacity)); + border-bottom-color: rgb(63 63 70 / var(--tw-border-opacity)); +} +.border-y-zinc-800{ + --tw-border-opacity: 1; + border-top-color: rgb(39 39 42 / var(--tw-border-opacity)); + border-bottom-color: rgb(39 39 42 / var(--tw-border-opacity)); +} +.border-y-zinc-900{ + --tw-border-opacity: 1; + border-top-color: rgb(24 24 27 / var(--tw-border-opacity)); + border-bottom-color: rgb(24 24 27 / var(--tw-border-opacity)); +} +.border-y-neutral-50{ + --tw-border-opacity: 1; + border-top-color: rgb(250 250 250 / var(--tw-border-opacity)); + border-bottom-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-y-neutral-100{ + --tw-border-opacity: 1; + border-top-color: rgb(245 245 245 / var(--tw-border-opacity)); + border-bottom-color: rgb(245 245 245 / var(--tw-border-opacity)); +} +.border-y-neutral-200{ + --tw-border-opacity: 1; + border-top-color: rgb(229 229 229 / var(--tw-border-opacity)); + border-bottom-color: rgb(229 229 229 / var(--tw-border-opacity)); +} +.border-y-neutral-300{ + --tw-border-opacity: 1; + border-top-color: rgb(212 212 212 / var(--tw-border-opacity)); + border-bottom-color: rgb(212 212 212 / var(--tw-border-opacity)); +} +.border-y-neutral-400{ + --tw-border-opacity: 1; + border-top-color: rgb(163 163 163 / var(--tw-border-opacity)); + border-bottom-color: rgb(163 163 163 / var(--tw-border-opacity)); +} +.border-y-neutral-500{ + --tw-border-opacity: 1; + border-top-color: rgb(115 115 115 / var(--tw-border-opacity)); + border-bottom-color: rgb(115 115 115 / var(--tw-border-opacity)); +} +.border-y-neutral-600{ + --tw-border-opacity: 1; + border-top-color: rgb(82 82 82 / var(--tw-border-opacity)); + border-bottom-color: rgb(82 82 82 / var(--tw-border-opacity)); +} +.border-y-neutral-700{ + --tw-border-opacity: 1; + border-top-color: rgb(64 64 64 / var(--tw-border-opacity)); + border-bottom-color: rgb(64 64 64 / var(--tw-border-opacity)); +} +.border-y-neutral-800{ + --tw-border-opacity: 1; + border-top-color: rgb(38 38 38 / var(--tw-border-opacity)); + border-bottom-color: rgb(38 38 38 / var(--tw-border-opacity)); +} +.border-y-neutral-900{ + --tw-border-opacity: 1; + border-top-color: rgb(23 23 23 / var(--tw-border-opacity)); + border-bottom-color: rgb(23 23 23 / var(--tw-border-opacity)); +} +.border-y-stone-50{ + --tw-border-opacity: 1; + border-top-color: rgb(250 250 249 / var(--tw-border-opacity)); + border-bottom-color: rgb(250 250 249 / var(--tw-border-opacity)); +} +.border-y-stone-100{ + --tw-border-opacity: 1; + border-top-color: rgb(245 245 244 / var(--tw-border-opacity)); + border-bottom-color: rgb(245 245 244 / var(--tw-border-opacity)); +} +.border-y-stone-200{ + --tw-border-opacity: 1; + border-top-color: rgb(231 229 228 / var(--tw-border-opacity)); + border-bottom-color: rgb(231 229 228 / var(--tw-border-opacity)); +} +.border-y-stone-300{ + --tw-border-opacity: 1; + border-top-color: rgb(214 211 209 / var(--tw-border-opacity)); + border-bottom-color: rgb(214 211 209 / var(--tw-border-opacity)); +} +.border-y-stone-400{ + --tw-border-opacity: 1; + border-top-color: rgb(168 162 158 / var(--tw-border-opacity)); + border-bottom-color: rgb(168 162 158 / var(--tw-border-opacity)); +} +.border-y-stone-500{ + --tw-border-opacity: 1; + border-top-color: rgb(120 113 108 / var(--tw-border-opacity)); + border-bottom-color: rgb(120 113 108 / var(--tw-border-opacity)); +} +.border-y-stone-600{ + --tw-border-opacity: 1; + border-top-color: rgb(87 83 78 / var(--tw-border-opacity)); + border-bottom-color: rgb(87 83 78 / var(--tw-border-opacity)); +} +.border-y-stone-700{ + --tw-border-opacity: 1; + border-top-color: rgb(68 64 60 / var(--tw-border-opacity)); + border-bottom-color: rgb(68 64 60 / var(--tw-border-opacity)); +} +.border-y-stone-800{ + --tw-border-opacity: 1; + border-top-color: rgb(41 37 36 / var(--tw-border-opacity)); + border-bottom-color: rgb(41 37 36 / var(--tw-border-opacity)); +} +.border-y-stone-900{ + --tw-border-opacity: 1; + border-top-color: rgb(28 25 23 / var(--tw-border-opacity)); + border-bottom-color: rgb(28 25 23 / var(--tw-border-opacity)); +} +.border-y-red-50{ + --tw-border-opacity: 1; + border-top-color: rgb(252 242 242 / var(--tw-border-opacity)); + border-bottom-color: rgb(252 242 242 / var(--tw-border-opacity)); +} +.border-y-red-100{ + --tw-border-opacity: 1; + border-top-color: rgb(250 230 230 / var(--tw-border-opacity)); + border-bottom-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-y-red-200{ + --tw-border-opacity: 1; + border-top-color: rgb(242 191 191 / var(--tw-border-opacity)); + border-bottom-color: rgb(242 191 191 / var(--tw-border-opacity)); +} +.border-y-red-300{ + --tw-border-opacity: 1; + border-top-color: rgb(235 153 153 / var(--tw-border-opacity)); + border-bottom-color: rgb(235 153 153 / var(--tw-border-opacity)); +} +.border-y-red-400{ + --tw-border-opacity: 1; + border-top-color: rgb(219 77 77 / var(--tw-border-opacity)); + border-bottom-color: rgb(219 77 77 / var(--tw-border-opacity)); +} +.border-y-red-500{ + --tw-border-opacity: 1; + border-top-color: rgb(204 0 0 / var(--tw-border-opacity)); + border-bottom-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-y-red-600{ + --tw-border-opacity: 1; + border-top-color: rgb(184 0 0 / var(--tw-border-opacity)); + border-bottom-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-y-red-700{ + --tw-border-opacity: 1; + border-top-color: rgb(153 0 0 / var(--tw-border-opacity)); + border-bottom-color: rgb(153 0 0 / var(--tw-border-opacity)); +} +.border-y-red-800{ + --tw-border-opacity: 1; + border-top-color: rgb(122 0 0 / var(--tw-border-opacity)); + border-bottom-color: rgb(122 0 0 / var(--tw-border-opacity)); +} +.border-y-red-900{ + --tw-border-opacity: 1; + border-top-color: rgb(100 0 0 / var(--tw-border-opacity)); + border-bottom-color: rgb(100 0 0 / var(--tw-border-opacity)); +} +.border-y-red{ + --tw-border-opacity: 1; + border-top-color: rgb(204 0 0 / var(--tw-border-opacity)); + border-bottom-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-y-orange-50{ + --tw-border-opacity: 1; + border-top-color: rgb(255 250 243 / var(--tw-border-opacity)); + border-bottom-color: rgb(255 250 243 / var(--tw-border-opacity)); +} +.border-y-orange-100{ + --tw-border-opacity: 1; + border-top-color: rgb(254 245 231 / var(--tw-border-opacity)); + border-bottom-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-y-orange-200{ + --tw-border-opacity: 1; + border-top-color: rgb(253 231 194 / var(--tw-border-opacity)); + border-bottom-color: rgb(253 231 194 / var(--tw-border-opacity)); +} +.border-y-orange-300{ + --tw-border-opacity: 1; + border-top-color: rgb(251 216 157 / var(--tw-border-opacity)); + border-bottom-color: rgb(251 216 157 / var(--tw-border-opacity)); +} +.border-y-orange-400{ + --tw-border-opacity: 1; + border-top-color: rgb(248 187 84 / var(--tw-border-opacity)); + border-bottom-color: rgb(248 187 84 / var(--tw-border-opacity)); +} +.border-y-orange-500{ + --tw-border-opacity: 1; + border-top-color: rgb(245 158 11 / var(--tw-border-opacity)); + border-bottom-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-y-orange-600{ + --tw-border-opacity: 1; + border-top-color: rgb(221 142 10 / var(--tw-border-opacity)); + border-bottom-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-y-orange-700{ + --tw-border-opacity: 1; + border-top-color: rgb(184 119 8 / var(--tw-border-opacity)); + border-bottom-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-y-orange-800{ + --tw-border-opacity: 1; + border-top-color: rgb(147 95 7 / var(--tw-border-opacity)); + border-bottom-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-y-orange-900{ + --tw-border-opacity: 1; + border-top-color: rgb(120 77 5 / var(--tw-border-opacity)); + border-bottom-color: rgb(120 77 5 / var(--tw-border-opacity)); +} +.border-y-orange{ + --tw-border-opacity: 1; + border-top-color: rgb(245 158 11 / var(--tw-border-opacity)); + border-bottom-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-y-amber-50{ + --tw-border-opacity: 1; + border-top-color: rgb(255 251 235 / var(--tw-border-opacity)); + border-bottom-color: rgb(255 251 235 / var(--tw-border-opacity)); +} +.border-y-amber-100{ + --tw-border-opacity: 1; + border-top-color: rgb(254 243 199 / var(--tw-border-opacity)); + border-bottom-color: rgb(254 243 199 / var(--tw-border-opacity)); +} +.border-y-amber-200{ + --tw-border-opacity: 1; + border-top-color: rgb(253 230 138 / var(--tw-border-opacity)); + border-bottom-color: rgb(253 230 138 / var(--tw-border-opacity)); +} +.border-y-amber-300{ + --tw-border-opacity: 1; + border-top-color: rgb(252 211 77 / var(--tw-border-opacity)); + border-bottom-color: rgb(252 211 77 / var(--tw-border-opacity)); +} +.border-y-amber-400{ + --tw-border-opacity: 1; + border-top-color: rgb(251 191 36 / var(--tw-border-opacity)); + border-bottom-color: rgb(251 191 36 / var(--tw-border-opacity)); +} +.border-y-amber-500{ + --tw-border-opacity: 1; + border-top-color: rgb(245 158 11 / var(--tw-border-opacity)); + border-bottom-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-y-amber-600{ + --tw-border-opacity: 1; + border-top-color: rgb(217 119 6 / var(--tw-border-opacity)); + border-bottom-color: rgb(217 119 6 / var(--tw-border-opacity)); +} +.border-y-amber-700{ + --tw-border-opacity: 1; + border-top-color: rgb(180 83 9 / var(--tw-border-opacity)); + border-bottom-color: rgb(180 83 9 / var(--tw-border-opacity)); +} +.border-y-amber-800{ + --tw-border-opacity: 1; + border-top-color: rgb(146 64 14 / var(--tw-border-opacity)); + border-bottom-color: rgb(146 64 14 / var(--tw-border-opacity)); +} +.border-y-amber-900{ + --tw-border-opacity: 1; + border-top-color: rgb(120 53 15 / var(--tw-border-opacity)); + border-bottom-color: rgb(120 53 15 / var(--tw-border-opacity)); +} +.border-y-yellow-50{ + --tw-border-opacity: 1; + border-top-color: rgb(253 253 234 / var(--tw-border-opacity)); + border-bottom-color: rgb(253 253 234 / var(--tw-border-opacity)); +} +.border-y-yellow-100{ + --tw-border-opacity: 1; + border-top-color: rgb(253 246 178 / var(--tw-border-opacity)); + border-bottom-color: rgb(253 246 178 / var(--tw-border-opacity)); +} +.border-y-yellow-200{ + --tw-border-opacity: 1; + border-top-color: rgb(252 233 106 / var(--tw-border-opacity)); + border-bottom-color: rgb(252 233 106 / var(--tw-border-opacity)); +} +.border-y-yellow-300{ + --tw-border-opacity: 1; + border-top-color: rgb(250 202 21 / var(--tw-border-opacity)); + border-bottom-color: rgb(250 202 21 / var(--tw-border-opacity)); +} +.border-y-yellow-400{ + --tw-border-opacity: 1; + border-top-color: rgb(227 160 8 / var(--tw-border-opacity)); + border-bottom-color: rgb(227 160 8 / var(--tw-border-opacity)); +} +.border-y-yellow-500{ + --tw-border-opacity: 1; + border-top-color: rgb(194 120 3 / var(--tw-border-opacity)); + border-bottom-color: rgb(194 120 3 / var(--tw-border-opacity)); +} +.border-y-yellow-600{ + --tw-border-opacity: 1; + border-top-color: rgb(159 88 10 / var(--tw-border-opacity)); + border-bottom-color: rgb(159 88 10 / var(--tw-border-opacity)); +} +.border-y-yellow-700{ + --tw-border-opacity: 1; + border-top-color: rgb(142 75 16 / var(--tw-border-opacity)); + border-bottom-color: rgb(142 75 16 / var(--tw-border-opacity)); +} +.border-y-yellow-800{ + --tw-border-opacity: 1; + border-top-color: rgb(114 59 19 / var(--tw-border-opacity)); + border-bottom-color: rgb(114 59 19 / var(--tw-border-opacity)); +} +.border-y-yellow-900{ + --tw-border-opacity: 1; + border-top-color: rgb(99 49 18 / var(--tw-border-opacity)); + border-bottom-color: rgb(99 49 18 / var(--tw-border-opacity)); +} +.border-y-lime-50{ + --tw-border-opacity: 1; + border-top-color: rgb(247 254 231 / var(--tw-border-opacity)); + border-bottom-color: rgb(247 254 231 / var(--tw-border-opacity)); +} +.border-y-lime-100{ + --tw-border-opacity: 1; + border-top-color: rgb(236 252 203 / var(--tw-border-opacity)); + border-bottom-color: rgb(236 252 203 / var(--tw-border-opacity)); +} +.border-y-lime-200{ + --tw-border-opacity: 1; + border-top-color: rgb(217 249 157 / var(--tw-border-opacity)); + border-bottom-color: rgb(217 249 157 / var(--tw-border-opacity)); +} +.border-y-lime-300{ + --tw-border-opacity: 1; + border-top-color: rgb(190 242 100 / var(--tw-border-opacity)); + border-bottom-color: rgb(190 242 100 / var(--tw-border-opacity)); +} +.border-y-lime-400{ + --tw-border-opacity: 1; + border-top-color: rgb(163 230 53 / var(--tw-border-opacity)); + border-bottom-color: rgb(163 230 53 / var(--tw-border-opacity)); +} +.border-y-lime-500{ + --tw-border-opacity: 1; + border-top-color: rgb(132 204 22 / var(--tw-border-opacity)); + border-bottom-color: rgb(132 204 22 / var(--tw-border-opacity)); +} +.border-y-lime-600{ + --tw-border-opacity: 1; + border-top-color: rgb(101 163 13 / var(--tw-border-opacity)); + border-bottom-color: rgb(101 163 13 / var(--tw-border-opacity)); +} +.border-y-lime-700{ + --tw-border-opacity: 1; + border-top-color: rgb(77 124 15 / var(--tw-border-opacity)); + border-bottom-color: rgb(77 124 15 / var(--tw-border-opacity)); +} +.border-y-lime-800{ + --tw-border-opacity: 1; + border-top-color: rgb(63 98 18 / var(--tw-border-opacity)); + border-bottom-color: rgb(63 98 18 / var(--tw-border-opacity)); +} +.border-y-lime-900{ + --tw-border-opacity: 1; + border-top-color: rgb(54 83 20 / var(--tw-border-opacity)); + border-bottom-color: rgb(54 83 20 / var(--tw-border-opacity)); +} +.border-y-green-50{ + --tw-border-opacity: 1; + border-top-color: rgb(248 250 246 / var(--tw-border-opacity)); + border-bottom-color: rgb(248 250 246 / var(--tw-border-opacity)); +} +.border-y-green-100{ + --tw-border-opacity: 1; + border-top-color: rgb(241 246 238 / var(--tw-border-opacity)); + border-bottom-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-y-green-200{ + --tw-border-opacity: 1; + border-top-color: rgb(219 232 212 / var(--tw-border-opacity)); + border-bottom-color: rgb(219 232 212 / var(--tw-border-opacity)); +} +.border-y-green-300{ + --tw-border-opacity: 1; + border-top-color: rgb(197 217 186 / var(--tw-border-opacity)); + border-bottom-color: rgb(197 217 186 / var(--tw-border-opacity)); +} +.border-y-green-400{ + --tw-border-opacity: 1; + border-top-color: rgb(154 189 134 / var(--tw-border-opacity)); + border-bottom-color: rgb(154 189 134 / var(--tw-border-opacity)); +} +.border-y-green-500{ + --tw-border-opacity: 1; + border-top-color: rgb(110 161 82 / var(--tw-border-opacity)); + border-bottom-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-y-green-600{ + --tw-border-opacity: 1; + border-top-color: rgb(99 145 74 / var(--tw-border-opacity)); + border-bottom-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-y-green-700{ + --tw-border-opacity: 1; + border-top-color: rgb(83 121 62 / var(--tw-border-opacity)); + border-bottom-color: rgb(83 121 62 / var(--tw-border-opacity)); +} +.border-y-green-800{ + --tw-border-opacity: 1; + border-top-color: rgb(66 97 49 / var(--tw-border-opacity)); + border-bottom-color: rgb(66 97 49 / var(--tw-border-opacity)); +} +.border-y-green-900{ + --tw-border-opacity: 1; + border-top-color: rgb(54 79 40 / var(--tw-border-opacity)); + border-bottom-color: rgb(54 79 40 / var(--tw-border-opacity)); +} +.border-y-green{ + --tw-border-opacity: 1; + border-top-color: rgb(110 161 82 / var(--tw-border-opacity)); + border-bottom-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-y-emerald-50{ + --tw-border-opacity: 1; + border-top-color: rgb(236 253 245 / var(--tw-border-opacity)); + border-bottom-color: rgb(236 253 245 / var(--tw-border-opacity)); +} +.border-y-emerald-100{ + --tw-border-opacity: 1; + border-top-color: rgb(209 250 229 / var(--tw-border-opacity)); + border-bottom-color: rgb(209 250 229 / var(--tw-border-opacity)); +} +.border-y-emerald-200{ + --tw-border-opacity: 1; + border-top-color: rgb(167 243 208 / var(--tw-border-opacity)); + border-bottom-color: rgb(167 243 208 / var(--tw-border-opacity)); +} +.border-y-emerald-300{ + --tw-border-opacity: 1; + border-top-color: rgb(110 231 183 / var(--tw-border-opacity)); + border-bottom-color: rgb(110 231 183 / var(--tw-border-opacity)); +} +.border-y-emerald-400{ + --tw-border-opacity: 1; + border-top-color: rgb(52 211 153 / var(--tw-border-opacity)); + border-bottom-color: rgb(52 211 153 / var(--tw-border-opacity)); +} +.border-y-emerald-500{ + --tw-border-opacity: 1; + border-top-color: rgb(16 185 129 / var(--tw-border-opacity)); + border-bottom-color: rgb(16 185 129 / var(--tw-border-opacity)); +} +.border-y-emerald-600{ + --tw-border-opacity: 1; + border-top-color: rgb(5 150 105 / var(--tw-border-opacity)); + border-bottom-color: rgb(5 150 105 / var(--tw-border-opacity)); +} +.border-y-emerald-700{ + --tw-border-opacity: 1; + border-top-color: rgb(4 120 87 / var(--tw-border-opacity)); + border-bottom-color: rgb(4 120 87 / var(--tw-border-opacity)); +} +.border-y-emerald-800{ + --tw-border-opacity: 1; + border-top-color: rgb(6 95 70 / var(--tw-border-opacity)); + border-bottom-color: rgb(6 95 70 / var(--tw-border-opacity)); +} +.border-y-emerald-900{ + --tw-border-opacity: 1; + border-top-color: rgb(6 78 59 / var(--tw-border-opacity)); + border-bottom-color: rgb(6 78 59 / var(--tw-border-opacity)); +} +.border-y-teal-50{ + --tw-border-opacity: 1; + border-top-color: rgb(237 250 250 / var(--tw-border-opacity)); + border-bottom-color: rgb(237 250 250 / var(--tw-border-opacity)); +} +.border-y-teal-100{ + --tw-border-opacity: 1; + border-top-color: rgb(213 245 246 / var(--tw-border-opacity)); + border-bottom-color: rgb(213 245 246 / var(--tw-border-opacity)); +} +.border-y-teal-200{ + --tw-border-opacity: 1; + border-top-color: rgb(175 236 239 / var(--tw-border-opacity)); + border-bottom-color: rgb(175 236 239 / var(--tw-border-opacity)); +} +.border-y-teal-300{ + --tw-border-opacity: 1; + border-top-color: rgb(126 220 226 / var(--tw-border-opacity)); + border-bottom-color: rgb(126 220 226 / var(--tw-border-opacity)); +} +.border-y-teal-400{ + --tw-border-opacity: 1; + border-top-color: rgb(22 189 202 / var(--tw-border-opacity)); + border-bottom-color: rgb(22 189 202 / var(--tw-border-opacity)); +} +.border-y-teal-500{ + --tw-border-opacity: 1; + border-top-color: rgb(6 148 162 / var(--tw-border-opacity)); + border-bottom-color: rgb(6 148 162 / var(--tw-border-opacity)); +} +.border-y-teal-600{ + --tw-border-opacity: 1; + border-top-color: rgb(4 116 129 / var(--tw-border-opacity)); + border-bottom-color: rgb(4 116 129 / var(--tw-border-opacity)); +} +.border-y-teal-700{ + --tw-border-opacity: 1; + border-top-color: rgb(3 102 114 / var(--tw-border-opacity)); + border-bottom-color: rgb(3 102 114 / var(--tw-border-opacity)); +} +.border-y-teal-800{ + --tw-border-opacity: 1; + border-top-color: rgb(5 80 92 / var(--tw-border-opacity)); + border-bottom-color: rgb(5 80 92 / var(--tw-border-opacity)); +} +.border-y-teal-900{ + --tw-border-opacity: 1; + border-top-color: rgb(1 68 81 / var(--tw-border-opacity)); + border-bottom-color: rgb(1 68 81 / var(--tw-border-opacity)); +} +.border-y-cyan-50{ + --tw-border-opacity: 1; + border-top-color: rgb(236 254 255 / var(--tw-border-opacity)); + border-bottom-color: rgb(236 254 255 / var(--tw-border-opacity)); +} +.border-y-cyan-100{ + --tw-border-opacity: 1; + border-top-color: rgb(207 250 254 / var(--tw-border-opacity)); + border-bottom-color: rgb(207 250 254 / var(--tw-border-opacity)); +} +.border-y-cyan-200{ + --tw-border-opacity: 1; + border-top-color: rgb(165 243 252 / var(--tw-border-opacity)); + border-bottom-color: rgb(165 243 252 / var(--tw-border-opacity)); +} +.border-y-cyan-300{ + --tw-border-opacity: 1; + border-top-color: rgb(103 232 249 / var(--tw-border-opacity)); + border-bottom-color: rgb(103 232 249 / var(--tw-border-opacity)); +} +.border-y-cyan-400{ + --tw-border-opacity: 1; + border-top-color: rgb(34 211 238 / var(--tw-border-opacity)); + border-bottom-color: rgb(34 211 238 / var(--tw-border-opacity)); +} +.border-y-cyan-500{ + --tw-border-opacity: 1; + border-top-color: rgb(6 182 212 / var(--tw-border-opacity)); + border-bottom-color: rgb(6 182 212 / var(--tw-border-opacity)); +} +.border-y-cyan-600{ + --tw-border-opacity: 1; + border-top-color: rgb(8 145 178 / var(--tw-border-opacity)); + border-bottom-color: rgb(8 145 178 / var(--tw-border-opacity)); +} +.border-y-cyan-700{ + --tw-border-opacity: 1; + border-top-color: rgb(14 116 144 / var(--tw-border-opacity)); + border-bottom-color: rgb(14 116 144 / var(--tw-border-opacity)); +} +.border-y-cyan-800{ + --tw-border-opacity: 1; + border-top-color: rgb(21 94 117 / var(--tw-border-opacity)); + border-bottom-color: rgb(21 94 117 / var(--tw-border-opacity)); +} +.border-y-cyan-900{ + --tw-border-opacity: 1; + border-top-color: rgb(22 78 99 / var(--tw-border-opacity)); + border-bottom-color: rgb(22 78 99 / var(--tw-border-opacity)); +} +.border-y-sky-50{ + --tw-border-opacity: 1; + border-top-color: rgb(240 249 255 / var(--tw-border-opacity)); + border-bottom-color: rgb(240 249 255 / var(--tw-border-opacity)); +} +.border-y-sky-100{ + --tw-border-opacity: 1; + border-top-color: rgb(224 242 254 / var(--tw-border-opacity)); + border-bottom-color: rgb(224 242 254 / var(--tw-border-opacity)); +} +.border-y-sky-200{ + --tw-border-opacity: 1; + border-top-color: rgb(186 230 253 / var(--tw-border-opacity)); + border-bottom-color: rgb(186 230 253 / var(--tw-border-opacity)); +} +.border-y-sky-300{ + --tw-border-opacity: 1; + border-top-color: rgb(125 211 252 / var(--tw-border-opacity)); + border-bottom-color: rgb(125 211 252 / var(--tw-border-opacity)); +} +.border-y-sky-400{ + --tw-border-opacity: 1; + border-top-color: rgb(56 189 248 / var(--tw-border-opacity)); + border-bottom-color: rgb(56 189 248 / var(--tw-border-opacity)); +} +.border-y-sky-500{ + --tw-border-opacity: 1; + border-top-color: rgb(14 165 233 / var(--tw-border-opacity)); + border-bottom-color: rgb(14 165 233 / var(--tw-border-opacity)); +} +.border-y-sky-600{ + --tw-border-opacity: 1; + border-top-color: rgb(2 132 199 / var(--tw-border-opacity)); + border-bottom-color: rgb(2 132 199 / var(--tw-border-opacity)); +} +.border-y-sky-700{ + --tw-border-opacity: 1; + border-top-color: rgb(3 105 161 / var(--tw-border-opacity)); + border-bottom-color: rgb(3 105 161 / var(--tw-border-opacity)); +} +.border-y-sky-800{ + --tw-border-opacity: 1; + border-top-color: rgb(7 89 133 / var(--tw-border-opacity)); + border-bottom-color: rgb(7 89 133 / var(--tw-border-opacity)); +} +.border-y-sky-900{ + --tw-border-opacity: 1; + border-top-color: rgb(12 74 110 / var(--tw-border-opacity)); + border-bottom-color: rgb(12 74 110 / var(--tw-border-opacity)); +} +.border-y-blue-50{ + --tw-border-opacity: 1; + border-top-color: rgb(242 248 251 / var(--tw-border-opacity)); + border-bottom-color: rgb(242 248 251 / var(--tw-border-opacity)); +} +.border-y-blue-100{ + --tw-border-opacity: 1; + border-top-color: rgb(230 241 246 / var(--tw-border-opacity)); + border-bottom-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-y-blue-200{ + --tw-border-opacity: 1; + border-top-color: rgb(191 219 233 / var(--tw-border-opacity)); + border-bottom-color: rgb(191 219 233 / var(--tw-border-opacity)); +} +.border-y-blue-300{ + --tw-border-opacity: 1; + border-top-color: rgb(153 197 219 / var(--tw-border-opacity)); + border-bottom-color: rgb(153 197 219 / var(--tw-border-opacity)); +} +.border-y-blue-400{ + --tw-border-opacity: 1; + border-top-color: rgb(77 154 193 / var(--tw-border-opacity)); + border-bottom-color: rgb(77 154 193 / var(--tw-border-opacity)); +} +.border-y-blue-500{ + --tw-border-opacity: 1; + border-top-color: rgb(0 110 166 / var(--tw-border-opacity)); + border-bottom-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-y-blue-600{ + --tw-border-opacity: 1; + border-top-color: rgb(0 99 149 / var(--tw-border-opacity)); + border-bottom-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-y-blue-700{ + --tw-border-opacity: 1; + border-top-color: rgb(0 83 125 / var(--tw-border-opacity)); + border-bottom-color: rgb(0 83 125 / var(--tw-border-opacity)); +} +.border-y-blue-800{ + --tw-border-opacity: 1; + border-top-color: rgb(0 66 100 / var(--tw-border-opacity)); + border-bottom-color: rgb(0 66 100 / var(--tw-border-opacity)); +} +.border-y-blue-900{ + --tw-border-opacity: 1; + border-top-color: rgb(0 54 81 / var(--tw-border-opacity)); + border-bottom-color: rgb(0 54 81 / var(--tw-border-opacity)); +} +.border-y-blue{ + --tw-border-opacity: 1; + border-top-color: rgb(0 110 166 / var(--tw-border-opacity)); + border-bottom-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-y-indigo-50{ + --tw-border-opacity: 1; + border-top-color: rgb(240 245 255 / var(--tw-border-opacity)); + border-bottom-color: rgb(240 245 255 / var(--tw-border-opacity)); +} +.border-y-indigo-100{ + --tw-border-opacity: 1; + border-top-color: rgb(229 237 255 / var(--tw-border-opacity)); + border-bottom-color: rgb(229 237 255 / var(--tw-border-opacity)); +} +.border-y-indigo-200{ + --tw-border-opacity: 1; + border-top-color: rgb(205 219 254 / var(--tw-border-opacity)); + border-bottom-color: rgb(205 219 254 / var(--tw-border-opacity)); +} +.border-y-indigo-300{ + --tw-border-opacity: 1; + border-top-color: rgb(180 198 252 / var(--tw-border-opacity)); + border-bottom-color: rgb(180 198 252 / var(--tw-border-opacity)); +} +.border-y-indigo-400{ + --tw-border-opacity: 1; + border-top-color: rgb(141 162 251 / var(--tw-border-opacity)); + border-bottom-color: rgb(141 162 251 / var(--tw-border-opacity)); +} +.border-y-indigo-500{ + --tw-border-opacity: 1; + border-top-color: rgb(104 117 245 / var(--tw-border-opacity)); + border-bottom-color: rgb(104 117 245 / var(--tw-border-opacity)); +} +.border-y-indigo-600{ + --tw-border-opacity: 1; + border-top-color: rgb(88 80 236 / var(--tw-border-opacity)); + border-bottom-color: rgb(88 80 236 / var(--tw-border-opacity)); +} +.border-y-indigo-700{ + --tw-border-opacity: 1; + border-top-color: rgb(81 69 205 / var(--tw-border-opacity)); + border-bottom-color: rgb(81 69 205 / var(--tw-border-opacity)); +} +.border-y-indigo-800{ + --tw-border-opacity: 1; + border-top-color: rgb(66 56 157 / var(--tw-border-opacity)); + border-bottom-color: rgb(66 56 157 / var(--tw-border-opacity)); +} +.border-y-indigo-900{ + --tw-border-opacity: 1; + border-top-color: rgb(54 47 120 / var(--tw-border-opacity)); + border-bottom-color: rgb(54 47 120 / var(--tw-border-opacity)); +} +.border-y-violet-50{ + --tw-border-opacity: 1; + border-top-color: rgb(245 243 255 / var(--tw-border-opacity)); + border-bottom-color: rgb(245 243 255 / var(--tw-border-opacity)); +} +.border-y-violet-100{ + --tw-border-opacity: 1; + border-top-color: rgb(237 233 254 / var(--tw-border-opacity)); + border-bottom-color: rgb(237 233 254 / var(--tw-border-opacity)); +} +.border-y-violet-200{ + --tw-border-opacity: 1; + border-top-color: rgb(221 214 254 / var(--tw-border-opacity)); + border-bottom-color: rgb(221 214 254 / var(--tw-border-opacity)); +} +.border-y-violet-300{ + --tw-border-opacity: 1; + border-top-color: rgb(196 181 253 / var(--tw-border-opacity)); + border-bottom-color: rgb(196 181 253 / var(--tw-border-opacity)); +} +.border-y-violet-400{ + --tw-border-opacity: 1; + border-top-color: rgb(167 139 250 / var(--tw-border-opacity)); + border-bottom-color: rgb(167 139 250 / var(--tw-border-opacity)); +} +.border-y-violet-500{ + --tw-border-opacity: 1; + border-top-color: rgb(139 92 246 / var(--tw-border-opacity)); + border-bottom-color: rgb(139 92 246 / var(--tw-border-opacity)); +} +.border-y-violet-600{ + --tw-border-opacity: 1; + border-top-color: rgb(124 58 237 / var(--tw-border-opacity)); + border-bottom-color: rgb(124 58 237 / var(--tw-border-opacity)); +} +.border-y-violet-700{ + --tw-border-opacity: 1; + border-top-color: rgb(109 40 217 / var(--tw-border-opacity)); + border-bottom-color: rgb(109 40 217 / var(--tw-border-opacity)); +} +.border-y-violet-800{ + --tw-border-opacity: 1; + border-top-color: rgb(91 33 182 / var(--tw-border-opacity)); + border-bottom-color: rgb(91 33 182 / var(--tw-border-opacity)); +} +.border-y-violet-900{ + --tw-border-opacity: 1; + border-top-color: rgb(76 29 149 / var(--tw-border-opacity)); + border-bottom-color: rgb(76 29 149 / var(--tw-border-opacity)); +} +.border-y-purple-50{ + --tw-border-opacity: 1; + border-top-color: rgb(247 247 249 / var(--tw-border-opacity)); + border-bottom-color: rgb(247 247 249 / var(--tw-border-opacity)); +} +.border-y-purple-100{ + --tw-border-opacity: 1; + border-top-color: rgb(238 238 243 / var(--tw-border-opacity)); + border-bottom-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-y-purple-200{ + --tw-border-opacity: 1; + border-top-color: rgb(213 213 226 / var(--tw-border-opacity)); + border-bottom-color: rgb(213 213 226 / var(--tw-border-opacity)); +} +.border-y-purple-300{ + --tw-border-opacity: 1; + border-top-color: rgb(187 188 209 / var(--tw-border-opacity)); + border-bottom-color: rgb(187 188 209 / var(--tw-border-opacity)); +} +.border-y-purple-400{ + --tw-border-opacity: 1; + border-top-color: rgb(136 138 174 / var(--tw-border-opacity)); + border-bottom-color: rgb(136 138 174 / var(--tw-border-opacity)); +} +.border-y-purple-500{ + --tw-border-opacity: 1; + border-top-color: rgb(85 88 139 / var(--tw-border-opacity)); + border-bottom-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-y-purple-600{ + --tw-border-opacity: 1; + border-top-color: rgb(77 79 125 / var(--tw-border-opacity)); + border-bottom-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-y-purple-700{ + --tw-border-opacity: 1; + border-top-color: rgb(64 66 104 / var(--tw-border-opacity)); + border-bottom-color: rgb(64 66 104 / var(--tw-border-opacity)); +} +.border-y-purple-800{ + --tw-border-opacity: 1; + border-top-color: rgb(51 53 83 / var(--tw-border-opacity)); + border-bottom-color: rgb(51 53 83 / var(--tw-border-opacity)); +} +.border-y-purple-900{ + --tw-border-opacity: 1; + border-top-color: rgb(42 43 68 / var(--tw-border-opacity)); + border-bottom-color: rgb(42 43 68 / var(--tw-border-opacity)); +} +.border-y-purple{ + --tw-border-opacity: 1; + border-top-color: rgb(85 88 139 / var(--tw-border-opacity)); + border-bottom-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-y-fuchsia-50{ + --tw-border-opacity: 1; + border-top-color: rgb(253 244 255 / var(--tw-border-opacity)); + border-bottom-color: rgb(253 244 255 / var(--tw-border-opacity)); +} +.border-y-fuchsia-100{ + --tw-border-opacity: 1; + border-top-color: rgb(250 232 255 / var(--tw-border-opacity)); + border-bottom-color: rgb(250 232 255 / var(--tw-border-opacity)); +} +.border-y-fuchsia-200{ + --tw-border-opacity: 1; + border-top-color: rgb(245 208 254 / var(--tw-border-opacity)); + border-bottom-color: rgb(245 208 254 / var(--tw-border-opacity)); +} +.border-y-fuchsia-300{ + --tw-border-opacity: 1; + border-top-color: rgb(240 171 252 / var(--tw-border-opacity)); + border-bottom-color: rgb(240 171 252 / var(--tw-border-opacity)); +} +.border-y-fuchsia-400{ + --tw-border-opacity: 1; + border-top-color: rgb(232 121 249 / var(--tw-border-opacity)); + border-bottom-color: rgb(232 121 249 / var(--tw-border-opacity)); +} +.border-y-fuchsia-500{ + --tw-border-opacity: 1; + border-top-color: rgb(217 70 239 / var(--tw-border-opacity)); + border-bottom-color: rgb(217 70 239 / var(--tw-border-opacity)); +} +.border-y-fuchsia-600{ + --tw-border-opacity: 1; + border-top-color: rgb(192 38 211 / var(--tw-border-opacity)); + border-bottom-color: rgb(192 38 211 / var(--tw-border-opacity)); +} +.border-y-fuchsia-700{ + --tw-border-opacity: 1; + border-top-color: rgb(162 28 175 / var(--tw-border-opacity)); + border-bottom-color: rgb(162 28 175 / var(--tw-border-opacity)); +} +.border-y-fuchsia-800{ + --tw-border-opacity: 1; + border-top-color: rgb(134 25 143 / var(--tw-border-opacity)); + border-bottom-color: rgb(134 25 143 / var(--tw-border-opacity)); +} +.border-y-fuchsia-900{ + --tw-border-opacity: 1; + border-top-color: rgb(112 26 117 / var(--tw-border-opacity)); + border-bottom-color: rgb(112 26 117 / var(--tw-border-opacity)); +} +.border-y-pink-50{ + --tw-border-opacity: 1; + border-top-color: rgb(253 242 248 / var(--tw-border-opacity)); + border-bottom-color: rgb(253 242 248 / var(--tw-border-opacity)); +} +.border-y-pink-100{ + --tw-border-opacity: 1; + border-top-color: rgb(252 232 243 / var(--tw-border-opacity)); + border-bottom-color: rgb(252 232 243 / var(--tw-border-opacity)); +} +.border-y-pink-200{ + --tw-border-opacity: 1; + border-top-color: rgb(250 209 232 / var(--tw-border-opacity)); + border-bottom-color: rgb(250 209 232 / var(--tw-border-opacity)); +} +.border-y-pink-300{ + --tw-border-opacity: 1; + border-top-color: rgb(248 180 217 / var(--tw-border-opacity)); + border-bottom-color: rgb(248 180 217 / var(--tw-border-opacity)); +} +.border-y-pink-400{ + --tw-border-opacity: 1; + border-top-color: rgb(241 126 184 / var(--tw-border-opacity)); + border-bottom-color: rgb(241 126 184 / var(--tw-border-opacity)); +} +.border-y-pink-500{ + --tw-border-opacity: 1; + border-top-color: rgb(231 70 148 / var(--tw-border-opacity)); + border-bottom-color: rgb(231 70 148 / var(--tw-border-opacity)); +} +.border-y-pink-600{ + --tw-border-opacity: 1; + border-top-color: rgb(214 31 105 / var(--tw-border-opacity)); + border-bottom-color: rgb(214 31 105 / var(--tw-border-opacity)); +} +.border-y-pink-700{ + --tw-border-opacity: 1; + border-top-color: rgb(191 18 93 / var(--tw-border-opacity)); + border-bottom-color: rgb(191 18 93 / var(--tw-border-opacity)); +} +.border-y-pink-800{ + --tw-border-opacity: 1; + border-top-color: rgb(153 21 75 / var(--tw-border-opacity)); + border-bottom-color: rgb(153 21 75 / var(--tw-border-opacity)); +} +.border-y-pink-900{ + --tw-border-opacity: 1; + border-top-color: rgb(117 26 61 / var(--tw-border-opacity)); + border-bottom-color: rgb(117 26 61 / var(--tw-border-opacity)); +} +.border-y-rose-50{ + --tw-border-opacity: 1; + border-top-color: rgb(255 241 242 / var(--tw-border-opacity)); + border-bottom-color: rgb(255 241 242 / var(--tw-border-opacity)); +} +.border-y-rose-100{ + --tw-border-opacity: 1; + border-top-color: rgb(255 228 230 / var(--tw-border-opacity)); + border-bottom-color: rgb(255 228 230 / var(--tw-border-opacity)); +} +.border-y-rose-200{ + --tw-border-opacity: 1; + border-top-color: rgb(254 205 211 / var(--tw-border-opacity)); + border-bottom-color: rgb(254 205 211 / var(--tw-border-opacity)); +} +.border-y-rose-300{ + --tw-border-opacity: 1; + border-top-color: rgb(253 164 175 / var(--tw-border-opacity)); + border-bottom-color: rgb(253 164 175 / var(--tw-border-opacity)); +} +.border-y-rose-400{ + --tw-border-opacity: 1; + border-top-color: rgb(251 113 133 / var(--tw-border-opacity)); + border-bottom-color: rgb(251 113 133 / var(--tw-border-opacity)); +} +.border-y-rose-500{ + --tw-border-opacity: 1; + border-top-color: rgb(244 63 94 / var(--tw-border-opacity)); + border-bottom-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-y-rose-600{ + --tw-border-opacity: 1; + border-top-color: rgb(225 29 72 / var(--tw-border-opacity)); + border-bottom-color: rgb(225 29 72 / var(--tw-border-opacity)); +} +.border-y-rose-700{ + --tw-border-opacity: 1; + border-top-color: rgb(190 18 60 / var(--tw-border-opacity)); + border-bottom-color: rgb(190 18 60 / var(--tw-border-opacity)); +} +.border-y-rose-800{ + --tw-border-opacity: 1; + border-top-color: rgb(159 18 57 / var(--tw-border-opacity)); + border-bottom-color: rgb(159 18 57 / var(--tw-border-opacity)); +} +.border-y-rose-900{ + --tw-border-opacity: 1; + border-top-color: rgb(136 19 55 / var(--tw-border-opacity)); + border-bottom-color: rgb(136 19 55 / var(--tw-border-opacity)); +} +.border-y-rose{ + --tw-border-opacity: 1; + border-top-color: rgb(244 63 94 / var(--tw-border-opacity)); + border-bottom-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-y-lilac-100{ + --tw-border-opacity: 1; + border-top-color: rgb(245 247 250 / var(--tw-border-opacity)); + border-bottom-color: rgb(245 247 250 / var(--tw-border-opacity)); +} +.border-y-lilac-300{ + --tw-border-opacity: 1; + border-top-color: rgb(237 240 252 / var(--tw-border-opacity)); + border-bottom-color: rgb(237 240 252 / var(--tw-border-opacity)); +} +.border-y-lilac-900{ + --tw-border-opacity: 1; + border-top-color: rgb(220 226 249 / var(--tw-border-opacity)); + border-bottom-color: rgb(220 226 249 / var(--tw-border-opacity)); +} +.border-y-lilac{ + --tw-border-opacity: 1; + border-top-color: rgb(248 249 254 / var(--tw-border-opacity)); + border-bottom-color: rgb(248 249 254 / var(--tw-border-opacity)); +} +.border-y-golden-900{ + --tw-border-opacity: 1; + border-top-color: rgb(191 184 130 / var(--tw-border-opacity)); + border-bottom-color: rgb(191 184 130 / var(--tw-border-opacity)); +} +.border-y-golden{ + --tw-border-opacity: 1; + border-top-color: rgb(209 201 137 / var(--tw-border-opacity)); + border-bottom-color: rgb(209 201 137 / var(--tw-border-opacity)); +} +.border-y-status-success{ + --tw-border-opacity: 1; + border-top-color: rgb(241 246 238 / var(--tw-border-opacity)); + border-bottom-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-y-status-danger{ + --tw-border-opacity: 1; + border-top-color: rgb(250 230 230 / var(--tw-border-opacity)); + border-bottom-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-y-status-sent{ + --tw-border-opacity: 1; + border-top-color: rgb(254 245 231 / var(--tw-border-opacity)); + border-bottom-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-y-status-viewed{ + --tw-border-opacity: 1; + border-top-color: rgb(238 238 243 / var(--tw-border-opacity)); + border-bottom-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-y-status-draft{ + --tw-border-opacity: 1; + border-top-color: rgb(236 236 236 / var(--tw-border-opacity)); + border-bottom-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-y-status-partial{ + --tw-border-opacity: 1; + border-top-color: rgb(230 241 246 / var(--tw-border-opacity)); + border-bottom-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-y-status-canceled{ + --tw-border-opacity: 1; + border-top-color: rgb(40 40 40 / var(--tw-border-opacity)); + border-bottom-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-y-status-warning{ + --tw-border-opacity: 1; + border-top-color: rgb(254 245 231 / var(--tw-border-opacity)); + border-bottom-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-y-text-status-success{ + --tw-border-opacity: 1; + border-top-color: rgb(99 145 74 / var(--tw-border-opacity)); + border-bottom-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-y-text-status-danger{ + --tw-border-opacity: 1; + border-top-color: rgb(184 0 0 / var(--tw-border-opacity)); + border-bottom-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-y-text-status-sent{ + --tw-border-opacity: 1; + border-top-color: rgb(221 142 10 / var(--tw-border-opacity)); + border-bottom-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-y-text-status-viewed{ + --tw-border-opacity: 1; + border-top-color: rgb(77 79 125 / var(--tw-border-opacity)); + border-bottom-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-y-text-status-draft{ + --tw-border-opacity: 1; + border-top-color: rgb(59 59 59 / var(--tw-border-opacity)); + border-bottom-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-y-text-status-partial{ + --tw-border-opacity: 1; + border-top-color: rgb(0 99 149 / var(--tw-border-opacity)); + border-bottom-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-y-text-status-canceled{ + --tw-border-opacity: 1; + border-top-color: rgb(255 255 255 / var(--tw-border-opacity)); + border-bottom-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-y-text-status-warning{ + --tw-border-opacity: 1; + border-top-color: rgb(184 119 8 / var(--tw-border-opacity)); + border-bottom-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-y-body{ + --tw-border-opacity: 1; + border-top-color: rgb(252 252 252 / var(--tw-border-opacity)); + border-bottom-color: rgb(252 252 252 / var(--tw-border-opacity)); +} +.border-y-light-gray{ + --tw-border-opacity: 1; + border-top-color: rgb(199 201 217 / var(--tw-border-opacity)); + border-bottom-color: rgb(199 201 217 / var(--tw-border-opacity)); +} +.border-y-dark-blue{ + --tw-border-opacity: 1; + border-top-color: rgb(21 40 75 / var(--tw-border-opacity)); + border-bottom-color: rgb(21 40 75 / var(--tw-border-opacity)); +} +.border-y-lighter-gray{ + --tw-border-opacity: 1; + border-top-color: rgb(242 242 245 / var(--tw-border-opacity)); + border-bottom-color: rgb(242 242 245 / var(--tw-border-opacity)); +} +.border-y-purple-lighter{ + --tw-border-opacity: 1; + border-top-color: rgb(242 244 252 / var(--tw-border-opacity)); + border-bottom-color: rgb(242 244 252 / var(--tw-border-opacity)); +} +.border-y-modal-background{ + border-top-color: rgba(0, 0, 0, 0.3); + border-bottom-color: rgba(0, 0, 0, 0.3); +} +.border-y-testing{ + --tw-border-opacity: 1; + border-top-color: rgb(147 95 7 / var(--tw-border-opacity)); + border-bottom-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-t-inherit{ + border-top-color: inherit; +} +.border-t-current{ + border-top-color: currentColor; +} +.border-t-transparent{ + border-top-color: transparent; +} +.border-t-black-50{ + --tw-border-opacity: 1; + border-top-color: rgb(246 246 246 / var(--tw-border-opacity)); +} +.border-t-black-100{ + --tw-border-opacity: 1; + border-top-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-t-black-200{ + --tw-border-opacity: 1; + border-top-color: rgb(208 208 208 / var(--tw-border-opacity)); +} +.border-t-black-300{ + --tw-border-opacity: 1; + border-top-color: rgb(179 179 179 / var(--tw-border-opacity)); +} +.border-t-black-400{ + --tw-border-opacity: 1; + border-top-color: rgb(123 123 123 / var(--tw-border-opacity)); +} +.border-t-black-500{ + --tw-border-opacity: 1; + border-top-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-t-black-600{ + --tw-border-opacity: 1; + border-top-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-t-black-700{ + --tw-border-opacity: 1; + border-top-color: rgb(50 50 50 / var(--tw-border-opacity)); +} +.border-t-black-800{ + --tw-border-opacity: 1; + border-top-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-t-black-900{ + --tw-border-opacity: 1; + border-top-color: rgb(32 32 32 / var(--tw-border-opacity)); +} +.border-t-black{ + --tw-border-opacity: 1; + border-top-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-t-white{ + --tw-border-opacity: 1; + border-top-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-t-slate-50{ + --tw-border-opacity: 1; + border-top-color: rgb(248 250 252 / var(--tw-border-opacity)); +} +.border-t-slate-100{ + --tw-border-opacity: 1; + border-top-color: rgb(241 245 249 / var(--tw-border-opacity)); +} +.border-t-slate-200{ + --tw-border-opacity: 1; + border-top-color: rgb(226 232 240 / var(--tw-border-opacity)); +} +.border-t-slate-300{ + --tw-border-opacity: 1; + border-top-color: rgb(203 213 225 / var(--tw-border-opacity)); +} +.border-t-slate-400{ + --tw-border-opacity: 1; + border-top-color: rgb(148 163 184 / var(--tw-border-opacity)); +} +.border-t-slate-500{ + --tw-border-opacity: 1; + border-top-color: rgb(100 116 139 / var(--tw-border-opacity)); +} +.border-t-slate-600{ + --tw-border-opacity: 1; + border-top-color: rgb(71 85 105 / var(--tw-border-opacity)); +} +.border-t-slate-700{ + --tw-border-opacity: 1; + border-top-color: rgb(51 65 85 / var(--tw-border-opacity)); +} +.border-t-slate-800{ + --tw-border-opacity: 1; + border-top-color: rgb(30 41 59 / var(--tw-border-opacity)); +} +.border-t-slate-900{ + --tw-border-opacity: 1; + border-top-color: rgb(15 23 42 / var(--tw-border-opacity)); +} +.border-t-gray-50{ + --tw-border-opacity: 1; + border-top-color: rgb(249 250 251 / var(--tw-border-opacity)); +} +.border-t-gray-100{ + --tw-border-opacity: 1; + border-top-color: rgb(243 244 246 / var(--tw-border-opacity)); +} +.border-t-gray-200{ + --tw-border-opacity: 1; + border-top-color: rgb(229 231 235 / var(--tw-border-opacity)); +} +.border-t-gray-300{ + --tw-border-opacity: 1; + border-top-color: rgb(209 213 219 / var(--tw-border-opacity)); +} +.border-t-gray-400{ + --tw-border-opacity: 1; + border-top-color: rgb(156 163 175 / var(--tw-border-opacity)); +} +.border-t-gray-500{ + --tw-border-opacity: 1; + border-top-color: rgb(107 114 128 / var(--tw-border-opacity)); +} +.border-t-gray-600{ + --tw-border-opacity: 1; + border-top-color: rgb(75 85 99 / var(--tw-border-opacity)); +} +.border-t-gray-700{ + --tw-border-opacity: 1; + border-top-color: rgb(55 65 81 / var(--tw-border-opacity)); +} +.border-t-gray-800{ + --tw-border-opacity: 1; + border-top-color: rgb(31 41 55 / var(--tw-border-opacity)); +} +.border-t-gray-900{ + --tw-border-opacity: 1; + border-top-color: rgb(17 24 39 / var(--tw-border-opacity)); +} +.border-t-zinc-50{ + --tw-border-opacity: 1; + border-top-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-t-zinc-100{ + --tw-border-opacity: 1; + border-top-color: rgb(244 244 245 / var(--tw-border-opacity)); +} +.border-t-zinc-200{ + --tw-border-opacity: 1; + border-top-color: rgb(228 228 231 / var(--tw-border-opacity)); +} +.border-t-zinc-300{ + --tw-border-opacity: 1; + border-top-color: rgb(212 212 216 / var(--tw-border-opacity)); +} +.border-t-zinc-400{ + --tw-border-opacity: 1; + border-top-color: rgb(161 161 170 / var(--tw-border-opacity)); +} +.border-t-zinc-500{ + --tw-border-opacity: 1; + border-top-color: rgb(113 113 122 / var(--tw-border-opacity)); +} +.border-t-zinc-600{ + --tw-border-opacity: 1; + border-top-color: rgb(82 82 91 / var(--tw-border-opacity)); +} +.border-t-zinc-700{ + --tw-border-opacity: 1; + border-top-color: rgb(63 63 70 / var(--tw-border-opacity)); +} +.border-t-zinc-800{ + --tw-border-opacity: 1; + border-top-color: rgb(39 39 42 / var(--tw-border-opacity)); +} +.border-t-zinc-900{ + --tw-border-opacity: 1; + border-top-color: rgb(24 24 27 / var(--tw-border-opacity)); +} +.border-t-neutral-50{ + --tw-border-opacity: 1; + border-top-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-t-neutral-100{ + --tw-border-opacity: 1; + border-top-color: rgb(245 245 245 / var(--tw-border-opacity)); +} +.border-t-neutral-200{ + --tw-border-opacity: 1; + border-top-color: rgb(229 229 229 / var(--tw-border-opacity)); +} +.border-t-neutral-300{ + --tw-border-opacity: 1; + border-top-color: rgb(212 212 212 / var(--tw-border-opacity)); +} +.border-t-neutral-400{ + --tw-border-opacity: 1; + border-top-color: rgb(163 163 163 / var(--tw-border-opacity)); +} +.border-t-neutral-500{ + --tw-border-opacity: 1; + border-top-color: rgb(115 115 115 / var(--tw-border-opacity)); +} +.border-t-neutral-600{ + --tw-border-opacity: 1; + border-top-color: rgb(82 82 82 / var(--tw-border-opacity)); +} +.border-t-neutral-700{ + --tw-border-opacity: 1; + border-top-color: rgb(64 64 64 / var(--tw-border-opacity)); +} +.border-t-neutral-800{ + --tw-border-opacity: 1; + border-top-color: rgb(38 38 38 / var(--tw-border-opacity)); +} +.border-t-neutral-900{ + --tw-border-opacity: 1; + border-top-color: rgb(23 23 23 / var(--tw-border-opacity)); +} +.border-t-stone-50{ + --tw-border-opacity: 1; + border-top-color: rgb(250 250 249 / var(--tw-border-opacity)); +} +.border-t-stone-100{ + --tw-border-opacity: 1; + border-top-color: rgb(245 245 244 / var(--tw-border-opacity)); +} +.border-t-stone-200{ + --tw-border-opacity: 1; + border-top-color: rgb(231 229 228 / var(--tw-border-opacity)); +} +.border-t-stone-300{ + --tw-border-opacity: 1; + border-top-color: rgb(214 211 209 / var(--tw-border-opacity)); +} +.border-t-stone-400{ + --tw-border-opacity: 1; + border-top-color: rgb(168 162 158 / var(--tw-border-opacity)); +} +.border-t-stone-500{ + --tw-border-opacity: 1; + border-top-color: rgb(120 113 108 / var(--tw-border-opacity)); +} +.border-t-stone-600{ + --tw-border-opacity: 1; + border-top-color: rgb(87 83 78 / var(--tw-border-opacity)); +} +.border-t-stone-700{ + --tw-border-opacity: 1; + border-top-color: rgb(68 64 60 / var(--tw-border-opacity)); +} +.border-t-stone-800{ + --tw-border-opacity: 1; + border-top-color: rgb(41 37 36 / var(--tw-border-opacity)); +} +.border-t-stone-900{ + --tw-border-opacity: 1; + border-top-color: rgb(28 25 23 / var(--tw-border-opacity)); +} +.border-t-red-50{ + --tw-border-opacity: 1; + border-top-color: rgb(252 242 242 / var(--tw-border-opacity)); +} +.border-t-red-100{ + --tw-border-opacity: 1; + border-top-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-t-red-200{ + --tw-border-opacity: 1; + border-top-color: rgb(242 191 191 / var(--tw-border-opacity)); +} +.border-t-red-300{ + --tw-border-opacity: 1; + border-top-color: rgb(235 153 153 / var(--tw-border-opacity)); +} +.border-t-red-400{ + --tw-border-opacity: 1; + border-top-color: rgb(219 77 77 / var(--tw-border-opacity)); +} +.border-t-red-500{ + --tw-border-opacity: 1; + border-top-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-t-red-600{ + --tw-border-opacity: 1; + border-top-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-t-red-700{ + --tw-border-opacity: 1; + border-top-color: rgb(153 0 0 / var(--tw-border-opacity)); +} +.border-t-red-800{ + --tw-border-opacity: 1; + border-top-color: rgb(122 0 0 / var(--tw-border-opacity)); +} +.border-t-red-900{ + --tw-border-opacity: 1; + border-top-color: rgb(100 0 0 / var(--tw-border-opacity)); +} +.border-t-red{ + --tw-border-opacity: 1; + border-top-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-t-orange-50{ + --tw-border-opacity: 1; + border-top-color: rgb(255 250 243 / var(--tw-border-opacity)); +} +.border-t-orange-100{ + --tw-border-opacity: 1; + border-top-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-t-orange-200{ + --tw-border-opacity: 1; + border-top-color: rgb(253 231 194 / var(--tw-border-opacity)); +} +.border-t-orange-300{ + --tw-border-opacity: 1; + border-top-color: rgb(251 216 157 / var(--tw-border-opacity)); +} +.border-t-orange-400{ + --tw-border-opacity: 1; + border-top-color: rgb(248 187 84 / var(--tw-border-opacity)); +} +.border-t-orange-500{ + --tw-border-opacity: 1; + border-top-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-t-orange-600{ + --tw-border-opacity: 1; + border-top-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-t-orange-700{ + --tw-border-opacity: 1; + border-top-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-t-orange-800{ + --tw-border-opacity: 1; + border-top-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-t-orange-900{ + --tw-border-opacity: 1; + border-top-color: rgb(120 77 5 / var(--tw-border-opacity)); +} +.border-t-orange{ + --tw-border-opacity: 1; + border-top-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-t-amber-50{ + --tw-border-opacity: 1; + border-top-color: rgb(255 251 235 / var(--tw-border-opacity)); +} +.border-t-amber-100{ + --tw-border-opacity: 1; + border-top-color: rgb(254 243 199 / var(--tw-border-opacity)); +} +.border-t-amber-200{ + --tw-border-opacity: 1; + border-top-color: rgb(253 230 138 / var(--tw-border-opacity)); +} +.border-t-amber-300{ + --tw-border-opacity: 1; + border-top-color: rgb(252 211 77 / var(--tw-border-opacity)); +} +.border-t-amber-400{ + --tw-border-opacity: 1; + border-top-color: rgb(251 191 36 / var(--tw-border-opacity)); +} +.border-t-amber-500{ + --tw-border-opacity: 1; + border-top-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-t-amber-600{ + --tw-border-opacity: 1; + border-top-color: rgb(217 119 6 / var(--tw-border-opacity)); +} +.border-t-amber-700{ + --tw-border-opacity: 1; + border-top-color: rgb(180 83 9 / var(--tw-border-opacity)); +} +.border-t-amber-800{ + --tw-border-opacity: 1; + border-top-color: rgb(146 64 14 / var(--tw-border-opacity)); +} +.border-t-amber-900{ + --tw-border-opacity: 1; + border-top-color: rgb(120 53 15 / var(--tw-border-opacity)); +} +.border-t-yellow-50{ + --tw-border-opacity: 1; + border-top-color: rgb(253 253 234 / var(--tw-border-opacity)); +} +.border-t-yellow-100{ + --tw-border-opacity: 1; + border-top-color: rgb(253 246 178 / var(--tw-border-opacity)); +} +.border-t-yellow-200{ + --tw-border-opacity: 1; + border-top-color: rgb(252 233 106 / var(--tw-border-opacity)); +} +.border-t-yellow-300{ + --tw-border-opacity: 1; + border-top-color: rgb(250 202 21 / var(--tw-border-opacity)); +} +.border-t-yellow-400{ + --tw-border-opacity: 1; + border-top-color: rgb(227 160 8 / var(--tw-border-opacity)); +} +.border-t-yellow-500{ + --tw-border-opacity: 1; + border-top-color: rgb(194 120 3 / var(--tw-border-opacity)); +} +.border-t-yellow-600{ + --tw-border-opacity: 1; + border-top-color: rgb(159 88 10 / var(--tw-border-opacity)); +} +.border-t-yellow-700{ + --tw-border-opacity: 1; + border-top-color: rgb(142 75 16 / var(--tw-border-opacity)); +} +.border-t-yellow-800{ + --tw-border-opacity: 1; + border-top-color: rgb(114 59 19 / var(--tw-border-opacity)); +} +.border-t-yellow-900{ + --tw-border-opacity: 1; + border-top-color: rgb(99 49 18 / var(--tw-border-opacity)); +} +.border-t-lime-50{ + --tw-border-opacity: 1; + border-top-color: rgb(247 254 231 / var(--tw-border-opacity)); +} +.border-t-lime-100{ + --tw-border-opacity: 1; + border-top-color: rgb(236 252 203 / var(--tw-border-opacity)); +} +.border-t-lime-200{ + --tw-border-opacity: 1; + border-top-color: rgb(217 249 157 / var(--tw-border-opacity)); +} +.border-t-lime-300{ + --tw-border-opacity: 1; + border-top-color: rgb(190 242 100 / var(--tw-border-opacity)); +} +.border-t-lime-400{ + --tw-border-opacity: 1; + border-top-color: rgb(163 230 53 / var(--tw-border-opacity)); +} +.border-t-lime-500{ + --tw-border-opacity: 1; + border-top-color: rgb(132 204 22 / var(--tw-border-opacity)); +} +.border-t-lime-600{ + --tw-border-opacity: 1; + border-top-color: rgb(101 163 13 / var(--tw-border-opacity)); +} +.border-t-lime-700{ + --tw-border-opacity: 1; + border-top-color: rgb(77 124 15 / var(--tw-border-opacity)); +} +.border-t-lime-800{ + --tw-border-opacity: 1; + border-top-color: rgb(63 98 18 / var(--tw-border-opacity)); +} +.border-t-lime-900{ + --tw-border-opacity: 1; + border-top-color: rgb(54 83 20 / var(--tw-border-opacity)); +} +.border-t-green-50{ + --tw-border-opacity: 1; + border-top-color: rgb(248 250 246 / var(--tw-border-opacity)); +} +.border-t-green-100{ + --tw-border-opacity: 1; + border-top-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-t-green-200{ + --tw-border-opacity: 1; + border-top-color: rgb(219 232 212 / var(--tw-border-opacity)); +} +.border-t-green-300{ + --tw-border-opacity: 1; + border-top-color: rgb(197 217 186 / var(--tw-border-opacity)); +} +.border-t-green-400{ + --tw-border-opacity: 1; + border-top-color: rgb(154 189 134 / var(--tw-border-opacity)); +} +.border-t-green-500{ + --tw-border-opacity: 1; + border-top-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-t-green-600{ + --tw-border-opacity: 1; + border-top-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-t-green-700{ + --tw-border-opacity: 1; + border-top-color: rgb(83 121 62 / var(--tw-border-opacity)); +} +.border-t-green-800{ + --tw-border-opacity: 1; + border-top-color: rgb(66 97 49 / var(--tw-border-opacity)); +} +.border-t-green-900{ + --tw-border-opacity: 1; + border-top-color: rgb(54 79 40 / var(--tw-border-opacity)); +} +.border-t-green{ + --tw-border-opacity: 1; + border-top-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-t-emerald-50{ + --tw-border-opacity: 1; + border-top-color: rgb(236 253 245 / var(--tw-border-opacity)); +} +.border-t-emerald-100{ + --tw-border-opacity: 1; + border-top-color: rgb(209 250 229 / var(--tw-border-opacity)); +} +.border-t-emerald-200{ + --tw-border-opacity: 1; + border-top-color: rgb(167 243 208 / var(--tw-border-opacity)); +} +.border-t-emerald-300{ + --tw-border-opacity: 1; + border-top-color: rgb(110 231 183 / var(--tw-border-opacity)); +} +.border-t-emerald-400{ + --tw-border-opacity: 1; + border-top-color: rgb(52 211 153 / var(--tw-border-opacity)); +} +.border-t-emerald-500{ + --tw-border-opacity: 1; + border-top-color: rgb(16 185 129 / var(--tw-border-opacity)); +} +.border-t-emerald-600{ + --tw-border-opacity: 1; + border-top-color: rgb(5 150 105 / var(--tw-border-opacity)); +} +.border-t-emerald-700{ + --tw-border-opacity: 1; + border-top-color: rgb(4 120 87 / var(--tw-border-opacity)); +} +.border-t-emerald-800{ + --tw-border-opacity: 1; + border-top-color: rgb(6 95 70 / var(--tw-border-opacity)); +} +.border-t-emerald-900{ + --tw-border-opacity: 1; + border-top-color: rgb(6 78 59 / var(--tw-border-opacity)); +} +.border-t-teal-50{ + --tw-border-opacity: 1; + border-top-color: rgb(237 250 250 / var(--tw-border-opacity)); +} +.border-t-teal-100{ + --tw-border-opacity: 1; + border-top-color: rgb(213 245 246 / var(--tw-border-opacity)); +} +.border-t-teal-200{ + --tw-border-opacity: 1; + border-top-color: rgb(175 236 239 / var(--tw-border-opacity)); +} +.border-t-teal-300{ + --tw-border-opacity: 1; + border-top-color: rgb(126 220 226 / var(--tw-border-opacity)); +} +.border-t-teal-400{ + --tw-border-opacity: 1; + border-top-color: rgb(22 189 202 / var(--tw-border-opacity)); +} +.border-t-teal-500{ + --tw-border-opacity: 1; + border-top-color: rgb(6 148 162 / var(--tw-border-opacity)); +} +.border-t-teal-600{ + --tw-border-opacity: 1; + border-top-color: rgb(4 116 129 / var(--tw-border-opacity)); +} +.border-t-teal-700{ + --tw-border-opacity: 1; + border-top-color: rgb(3 102 114 / var(--tw-border-opacity)); +} +.border-t-teal-800{ + --tw-border-opacity: 1; + border-top-color: rgb(5 80 92 / var(--tw-border-opacity)); +} +.border-t-teal-900{ + --tw-border-opacity: 1; + border-top-color: rgb(1 68 81 / var(--tw-border-opacity)); +} +.border-t-cyan-50{ + --tw-border-opacity: 1; + border-top-color: rgb(236 254 255 / var(--tw-border-opacity)); +} +.border-t-cyan-100{ + --tw-border-opacity: 1; + border-top-color: rgb(207 250 254 / var(--tw-border-opacity)); +} +.border-t-cyan-200{ + --tw-border-opacity: 1; + border-top-color: rgb(165 243 252 / var(--tw-border-opacity)); +} +.border-t-cyan-300{ + --tw-border-opacity: 1; + border-top-color: rgb(103 232 249 / var(--tw-border-opacity)); +} +.border-t-cyan-400{ + --tw-border-opacity: 1; + border-top-color: rgb(34 211 238 / var(--tw-border-opacity)); +} +.border-t-cyan-500{ + --tw-border-opacity: 1; + border-top-color: rgb(6 182 212 / var(--tw-border-opacity)); +} +.border-t-cyan-600{ + --tw-border-opacity: 1; + border-top-color: rgb(8 145 178 / var(--tw-border-opacity)); +} +.border-t-cyan-700{ + --tw-border-opacity: 1; + border-top-color: rgb(14 116 144 / var(--tw-border-opacity)); +} +.border-t-cyan-800{ + --tw-border-opacity: 1; + border-top-color: rgb(21 94 117 / var(--tw-border-opacity)); +} +.border-t-cyan-900{ + --tw-border-opacity: 1; + border-top-color: rgb(22 78 99 / var(--tw-border-opacity)); +} +.border-t-sky-50{ + --tw-border-opacity: 1; + border-top-color: rgb(240 249 255 / var(--tw-border-opacity)); +} +.border-t-sky-100{ + --tw-border-opacity: 1; + border-top-color: rgb(224 242 254 / var(--tw-border-opacity)); +} +.border-t-sky-200{ + --tw-border-opacity: 1; + border-top-color: rgb(186 230 253 / var(--tw-border-opacity)); +} +.border-t-sky-300{ + --tw-border-opacity: 1; + border-top-color: rgb(125 211 252 / var(--tw-border-opacity)); +} +.border-t-sky-400{ + --tw-border-opacity: 1; + border-top-color: rgb(56 189 248 / var(--tw-border-opacity)); +} +.border-t-sky-500{ + --tw-border-opacity: 1; + border-top-color: rgb(14 165 233 / var(--tw-border-opacity)); +} +.border-t-sky-600{ + --tw-border-opacity: 1; + border-top-color: rgb(2 132 199 / var(--tw-border-opacity)); +} +.border-t-sky-700{ + --tw-border-opacity: 1; + border-top-color: rgb(3 105 161 / var(--tw-border-opacity)); +} +.border-t-sky-800{ + --tw-border-opacity: 1; + border-top-color: rgb(7 89 133 / var(--tw-border-opacity)); +} +.border-t-sky-900{ + --tw-border-opacity: 1; + border-top-color: rgb(12 74 110 / var(--tw-border-opacity)); +} +.border-t-blue-50{ + --tw-border-opacity: 1; + border-top-color: rgb(242 248 251 / var(--tw-border-opacity)); +} +.border-t-blue-100{ + --tw-border-opacity: 1; + border-top-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-t-blue-200{ + --tw-border-opacity: 1; + border-top-color: rgb(191 219 233 / var(--tw-border-opacity)); +} +.border-t-blue-300{ + --tw-border-opacity: 1; + border-top-color: rgb(153 197 219 / var(--tw-border-opacity)); +} +.border-t-blue-400{ + --tw-border-opacity: 1; + border-top-color: rgb(77 154 193 / var(--tw-border-opacity)); +} +.border-t-blue-500{ + --tw-border-opacity: 1; + border-top-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-t-blue-600{ + --tw-border-opacity: 1; + border-top-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-t-blue-700{ + --tw-border-opacity: 1; + border-top-color: rgb(0 83 125 / var(--tw-border-opacity)); +} +.border-t-blue-800{ + --tw-border-opacity: 1; + border-top-color: rgb(0 66 100 / var(--tw-border-opacity)); +} +.border-t-blue-900{ + --tw-border-opacity: 1; + border-top-color: rgb(0 54 81 / var(--tw-border-opacity)); +} +.border-t-blue{ + --tw-border-opacity: 1; + border-top-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-t-indigo-50{ + --tw-border-opacity: 1; + border-top-color: rgb(240 245 255 / var(--tw-border-opacity)); +} +.border-t-indigo-100{ + --tw-border-opacity: 1; + border-top-color: rgb(229 237 255 / var(--tw-border-opacity)); +} +.border-t-indigo-200{ + --tw-border-opacity: 1; + border-top-color: rgb(205 219 254 / var(--tw-border-opacity)); +} +.border-t-indigo-300{ + --tw-border-opacity: 1; + border-top-color: rgb(180 198 252 / var(--tw-border-opacity)); +} +.border-t-indigo-400{ + --tw-border-opacity: 1; + border-top-color: rgb(141 162 251 / var(--tw-border-opacity)); +} +.border-t-indigo-500{ + --tw-border-opacity: 1; + border-top-color: rgb(104 117 245 / var(--tw-border-opacity)); +} +.border-t-indigo-600{ + --tw-border-opacity: 1; + border-top-color: rgb(88 80 236 / var(--tw-border-opacity)); +} +.border-t-indigo-700{ + --tw-border-opacity: 1; + border-top-color: rgb(81 69 205 / var(--tw-border-opacity)); +} +.border-t-indigo-800{ + --tw-border-opacity: 1; + border-top-color: rgb(66 56 157 / var(--tw-border-opacity)); +} +.border-t-indigo-900{ + --tw-border-opacity: 1; + border-top-color: rgb(54 47 120 / var(--tw-border-opacity)); +} +.border-t-violet-50{ + --tw-border-opacity: 1; + border-top-color: rgb(245 243 255 / var(--tw-border-opacity)); +} +.border-t-violet-100{ + --tw-border-opacity: 1; + border-top-color: rgb(237 233 254 / var(--tw-border-opacity)); +} +.border-t-violet-200{ + --tw-border-opacity: 1; + border-top-color: rgb(221 214 254 / var(--tw-border-opacity)); +} +.border-t-violet-300{ + --tw-border-opacity: 1; + border-top-color: rgb(196 181 253 / var(--tw-border-opacity)); +} +.border-t-violet-400{ + --tw-border-opacity: 1; + border-top-color: rgb(167 139 250 / var(--tw-border-opacity)); +} +.border-t-violet-500{ + --tw-border-opacity: 1; + border-top-color: rgb(139 92 246 / var(--tw-border-opacity)); +} +.border-t-violet-600{ + --tw-border-opacity: 1; + border-top-color: rgb(124 58 237 / var(--tw-border-opacity)); +} +.border-t-violet-700{ + --tw-border-opacity: 1; + border-top-color: rgb(109 40 217 / var(--tw-border-opacity)); +} +.border-t-violet-800{ + --tw-border-opacity: 1; + border-top-color: rgb(91 33 182 / var(--tw-border-opacity)); +} +.border-t-violet-900{ + --tw-border-opacity: 1; + border-top-color: rgb(76 29 149 / var(--tw-border-opacity)); +} +.border-t-purple-50{ + --tw-border-opacity: 1; + border-top-color: rgb(247 247 249 / var(--tw-border-opacity)); +} +.border-t-purple-100{ + --tw-border-opacity: 1; + border-top-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-t-purple-200{ + --tw-border-opacity: 1; + border-top-color: rgb(213 213 226 / var(--tw-border-opacity)); +} +.border-t-purple-300{ + --tw-border-opacity: 1; + border-top-color: rgb(187 188 209 / var(--tw-border-opacity)); +} +.border-t-purple-400{ + --tw-border-opacity: 1; + border-top-color: rgb(136 138 174 / var(--tw-border-opacity)); +} +.border-t-purple-500{ + --tw-border-opacity: 1; + border-top-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-t-purple-600{ + --tw-border-opacity: 1; + border-top-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-t-purple-700{ + --tw-border-opacity: 1; + border-top-color: rgb(64 66 104 / var(--tw-border-opacity)); +} +.border-t-purple-800{ + --tw-border-opacity: 1; + border-top-color: rgb(51 53 83 / var(--tw-border-opacity)); +} +.border-t-purple-900{ + --tw-border-opacity: 1; + border-top-color: rgb(42 43 68 / var(--tw-border-opacity)); +} +.border-t-purple{ + --tw-border-opacity: 1; + border-top-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-t-fuchsia-50{ + --tw-border-opacity: 1; + border-top-color: rgb(253 244 255 / var(--tw-border-opacity)); +} +.border-t-fuchsia-100{ + --tw-border-opacity: 1; + border-top-color: rgb(250 232 255 / var(--tw-border-opacity)); +} +.border-t-fuchsia-200{ + --tw-border-opacity: 1; + border-top-color: rgb(245 208 254 / var(--tw-border-opacity)); +} +.border-t-fuchsia-300{ + --tw-border-opacity: 1; + border-top-color: rgb(240 171 252 / var(--tw-border-opacity)); +} +.border-t-fuchsia-400{ + --tw-border-opacity: 1; + border-top-color: rgb(232 121 249 / var(--tw-border-opacity)); +} +.border-t-fuchsia-500{ + --tw-border-opacity: 1; + border-top-color: rgb(217 70 239 / var(--tw-border-opacity)); +} +.border-t-fuchsia-600{ + --tw-border-opacity: 1; + border-top-color: rgb(192 38 211 / var(--tw-border-opacity)); +} +.border-t-fuchsia-700{ + --tw-border-opacity: 1; + border-top-color: rgb(162 28 175 / var(--tw-border-opacity)); +} +.border-t-fuchsia-800{ + --tw-border-opacity: 1; + border-top-color: rgb(134 25 143 / var(--tw-border-opacity)); +} +.border-t-fuchsia-900{ + --tw-border-opacity: 1; + border-top-color: rgb(112 26 117 / var(--tw-border-opacity)); +} +.border-t-pink-50{ + --tw-border-opacity: 1; + border-top-color: rgb(253 242 248 / var(--tw-border-opacity)); +} +.border-t-pink-100{ + --tw-border-opacity: 1; + border-top-color: rgb(252 232 243 / var(--tw-border-opacity)); +} +.border-t-pink-200{ + --tw-border-opacity: 1; + border-top-color: rgb(250 209 232 / var(--tw-border-opacity)); +} +.border-t-pink-300{ + --tw-border-opacity: 1; + border-top-color: rgb(248 180 217 / var(--tw-border-opacity)); +} +.border-t-pink-400{ + --tw-border-opacity: 1; + border-top-color: rgb(241 126 184 / var(--tw-border-opacity)); +} +.border-t-pink-500{ + --tw-border-opacity: 1; + border-top-color: rgb(231 70 148 / var(--tw-border-opacity)); +} +.border-t-pink-600{ + --tw-border-opacity: 1; + border-top-color: rgb(214 31 105 / var(--tw-border-opacity)); +} +.border-t-pink-700{ + --tw-border-opacity: 1; + border-top-color: rgb(191 18 93 / var(--tw-border-opacity)); +} +.border-t-pink-800{ + --tw-border-opacity: 1; + border-top-color: rgb(153 21 75 / var(--tw-border-opacity)); +} +.border-t-pink-900{ + --tw-border-opacity: 1; + border-top-color: rgb(117 26 61 / var(--tw-border-opacity)); +} +.border-t-rose-50{ + --tw-border-opacity: 1; + border-top-color: rgb(255 241 242 / var(--tw-border-opacity)); +} +.border-t-rose-100{ + --tw-border-opacity: 1; + border-top-color: rgb(255 228 230 / var(--tw-border-opacity)); +} +.border-t-rose-200{ + --tw-border-opacity: 1; + border-top-color: rgb(254 205 211 / var(--tw-border-opacity)); +} +.border-t-rose-300{ + --tw-border-opacity: 1; + border-top-color: rgb(253 164 175 / var(--tw-border-opacity)); +} +.border-t-rose-400{ + --tw-border-opacity: 1; + border-top-color: rgb(251 113 133 / var(--tw-border-opacity)); +} +.border-t-rose-500{ + --tw-border-opacity: 1; + border-top-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-t-rose-600{ + --tw-border-opacity: 1; + border-top-color: rgb(225 29 72 / var(--tw-border-opacity)); +} +.border-t-rose-700{ + --tw-border-opacity: 1; + border-top-color: rgb(190 18 60 / var(--tw-border-opacity)); +} +.border-t-rose-800{ + --tw-border-opacity: 1; + border-top-color: rgb(159 18 57 / var(--tw-border-opacity)); +} +.border-t-rose-900{ + --tw-border-opacity: 1; + border-top-color: rgb(136 19 55 / var(--tw-border-opacity)); +} +.border-t-rose{ + --tw-border-opacity: 1; + border-top-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-t-lilac-100{ + --tw-border-opacity: 1; + border-top-color: rgb(245 247 250 / var(--tw-border-opacity)); +} +.border-t-lilac-300{ + --tw-border-opacity: 1; + border-top-color: rgb(237 240 252 / var(--tw-border-opacity)); +} +.border-t-lilac-900{ + --tw-border-opacity: 1; + border-top-color: rgb(220 226 249 / var(--tw-border-opacity)); +} +.border-t-lilac{ + --tw-border-opacity: 1; + border-top-color: rgb(248 249 254 / var(--tw-border-opacity)); +} +.border-t-golden-900{ + --tw-border-opacity: 1; + border-top-color: rgb(191 184 130 / var(--tw-border-opacity)); +} +.border-t-golden{ + --tw-border-opacity: 1; + border-top-color: rgb(209 201 137 / var(--tw-border-opacity)); +} +.border-t-status-success{ + --tw-border-opacity: 1; + border-top-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-t-status-danger{ + --tw-border-opacity: 1; + border-top-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-t-status-sent{ + --tw-border-opacity: 1; + border-top-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-t-status-viewed{ + --tw-border-opacity: 1; + border-top-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-t-status-draft{ + --tw-border-opacity: 1; + border-top-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-t-status-partial{ + --tw-border-opacity: 1; + border-top-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-t-status-canceled{ + --tw-border-opacity: 1; + border-top-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-t-status-warning{ + --tw-border-opacity: 1; + border-top-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-t-text-status-success{ + --tw-border-opacity: 1; + border-top-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-t-text-status-danger{ + --tw-border-opacity: 1; + border-top-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-t-text-status-sent{ + --tw-border-opacity: 1; + border-top-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-t-text-status-viewed{ + --tw-border-opacity: 1; + border-top-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-t-text-status-draft{ + --tw-border-opacity: 1; + border-top-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-t-text-status-partial{ + --tw-border-opacity: 1; + border-top-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-t-text-status-canceled{ + --tw-border-opacity: 1; + border-top-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-t-text-status-warning{ + --tw-border-opacity: 1; + border-top-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-t-body{ + --tw-border-opacity: 1; + border-top-color: rgb(252 252 252 / var(--tw-border-opacity)); +} +.border-t-light-gray{ + --tw-border-opacity: 1; + border-top-color: rgb(199 201 217 / var(--tw-border-opacity)); +} +.border-t-dark-blue{ + --tw-border-opacity: 1; + border-top-color: rgb(21 40 75 / var(--tw-border-opacity)); +} +.border-t-lighter-gray{ + --tw-border-opacity: 1; + border-top-color: rgb(242 242 245 / var(--tw-border-opacity)); +} +.border-t-purple-lighter{ + --tw-border-opacity: 1; + border-top-color: rgb(242 244 252 / var(--tw-border-opacity)); +} +.border-t-modal-background{ + border-top-color: rgba(0, 0, 0, 0.3); +} +.border-t-testing{ + --tw-border-opacity: 1; + border-top-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-r-inherit{ + border-right-color: inherit; +} +.border-r-current{ + border-right-color: currentColor; +} +.border-r-transparent{ + border-right-color: transparent; +} +.border-r-black-50{ + --tw-border-opacity: 1; + border-right-color: rgb(246 246 246 / var(--tw-border-opacity)); +} +.border-r-black-100{ + --tw-border-opacity: 1; + border-right-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-r-black-200{ + --tw-border-opacity: 1; + border-right-color: rgb(208 208 208 / var(--tw-border-opacity)); +} +.border-r-black-300{ + --tw-border-opacity: 1; + border-right-color: rgb(179 179 179 / var(--tw-border-opacity)); +} +.border-r-black-400{ + --tw-border-opacity: 1; + border-right-color: rgb(123 123 123 / var(--tw-border-opacity)); +} +.border-r-black-500{ + --tw-border-opacity: 1; + border-right-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-r-black-600{ + --tw-border-opacity: 1; + border-right-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-r-black-700{ + --tw-border-opacity: 1; + border-right-color: rgb(50 50 50 / var(--tw-border-opacity)); +} +.border-r-black-800{ + --tw-border-opacity: 1; + border-right-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-r-black-900{ + --tw-border-opacity: 1; + border-right-color: rgb(32 32 32 / var(--tw-border-opacity)); +} +.border-r-black{ + --tw-border-opacity: 1; + border-right-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-r-white{ + --tw-border-opacity: 1; + border-right-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-r-slate-50{ + --tw-border-opacity: 1; + border-right-color: rgb(248 250 252 / var(--tw-border-opacity)); +} +.border-r-slate-100{ + --tw-border-opacity: 1; + border-right-color: rgb(241 245 249 / var(--tw-border-opacity)); +} +.border-r-slate-200{ + --tw-border-opacity: 1; + border-right-color: rgb(226 232 240 / var(--tw-border-opacity)); +} +.border-r-slate-300{ + --tw-border-opacity: 1; + border-right-color: rgb(203 213 225 / var(--tw-border-opacity)); +} +.border-r-slate-400{ + --tw-border-opacity: 1; + border-right-color: rgb(148 163 184 / var(--tw-border-opacity)); +} +.border-r-slate-500{ + --tw-border-opacity: 1; + border-right-color: rgb(100 116 139 / var(--tw-border-opacity)); +} +.border-r-slate-600{ + --tw-border-opacity: 1; + border-right-color: rgb(71 85 105 / var(--tw-border-opacity)); +} +.border-r-slate-700{ + --tw-border-opacity: 1; + border-right-color: rgb(51 65 85 / var(--tw-border-opacity)); +} +.border-r-slate-800{ + --tw-border-opacity: 1; + border-right-color: rgb(30 41 59 / var(--tw-border-opacity)); +} +.border-r-slate-900{ + --tw-border-opacity: 1; + border-right-color: rgb(15 23 42 / var(--tw-border-opacity)); +} +.border-r-gray-50{ + --tw-border-opacity: 1; + border-right-color: rgb(249 250 251 / var(--tw-border-opacity)); +} +.border-r-gray-100{ + --tw-border-opacity: 1; + border-right-color: rgb(243 244 246 / var(--tw-border-opacity)); +} +.border-r-gray-200{ + --tw-border-opacity: 1; + border-right-color: rgb(229 231 235 / var(--tw-border-opacity)); +} +.border-r-gray-300{ + --tw-border-opacity: 1; + border-right-color: rgb(209 213 219 / var(--tw-border-opacity)); +} +.border-r-gray-400{ + --tw-border-opacity: 1; + border-right-color: rgb(156 163 175 / var(--tw-border-opacity)); +} +.border-r-gray-500{ + --tw-border-opacity: 1; + border-right-color: rgb(107 114 128 / var(--tw-border-opacity)); +} +.border-r-gray-600{ + --tw-border-opacity: 1; + border-right-color: rgb(75 85 99 / var(--tw-border-opacity)); +} +.border-r-gray-700{ + --tw-border-opacity: 1; + border-right-color: rgb(55 65 81 / var(--tw-border-opacity)); +} +.border-r-gray-800{ + --tw-border-opacity: 1; + border-right-color: rgb(31 41 55 / var(--tw-border-opacity)); +} +.border-r-gray-900{ + --tw-border-opacity: 1; + border-right-color: rgb(17 24 39 / var(--tw-border-opacity)); +} +.border-r-zinc-50{ + --tw-border-opacity: 1; + border-right-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-r-zinc-100{ + --tw-border-opacity: 1; + border-right-color: rgb(244 244 245 / var(--tw-border-opacity)); +} +.border-r-zinc-200{ + --tw-border-opacity: 1; + border-right-color: rgb(228 228 231 / var(--tw-border-opacity)); +} +.border-r-zinc-300{ + --tw-border-opacity: 1; + border-right-color: rgb(212 212 216 / var(--tw-border-opacity)); +} +.border-r-zinc-400{ + --tw-border-opacity: 1; + border-right-color: rgb(161 161 170 / var(--tw-border-opacity)); +} +.border-r-zinc-500{ + --tw-border-opacity: 1; + border-right-color: rgb(113 113 122 / var(--tw-border-opacity)); +} +.border-r-zinc-600{ + --tw-border-opacity: 1; + border-right-color: rgb(82 82 91 / var(--tw-border-opacity)); +} +.border-r-zinc-700{ + --tw-border-opacity: 1; + border-right-color: rgb(63 63 70 / var(--tw-border-opacity)); +} +.border-r-zinc-800{ + --tw-border-opacity: 1; + border-right-color: rgb(39 39 42 / var(--tw-border-opacity)); +} +.border-r-zinc-900{ + --tw-border-opacity: 1; + border-right-color: rgb(24 24 27 / var(--tw-border-opacity)); +} +.border-r-neutral-50{ + --tw-border-opacity: 1; + border-right-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-r-neutral-100{ + --tw-border-opacity: 1; + border-right-color: rgb(245 245 245 / var(--tw-border-opacity)); +} +.border-r-neutral-200{ + --tw-border-opacity: 1; + border-right-color: rgb(229 229 229 / var(--tw-border-opacity)); +} +.border-r-neutral-300{ + --tw-border-opacity: 1; + border-right-color: rgb(212 212 212 / var(--tw-border-opacity)); +} +.border-r-neutral-400{ + --tw-border-opacity: 1; + border-right-color: rgb(163 163 163 / var(--tw-border-opacity)); +} +.border-r-neutral-500{ + --tw-border-opacity: 1; + border-right-color: rgb(115 115 115 / var(--tw-border-opacity)); +} +.border-r-neutral-600{ + --tw-border-opacity: 1; + border-right-color: rgb(82 82 82 / var(--tw-border-opacity)); +} +.border-r-neutral-700{ + --tw-border-opacity: 1; + border-right-color: rgb(64 64 64 / var(--tw-border-opacity)); +} +.border-r-neutral-800{ + --tw-border-opacity: 1; + border-right-color: rgb(38 38 38 / var(--tw-border-opacity)); +} +.border-r-neutral-900{ + --tw-border-opacity: 1; + border-right-color: rgb(23 23 23 / var(--tw-border-opacity)); +} +.border-r-stone-50{ + --tw-border-opacity: 1; + border-right-color: rgb(250 250 249 / var(--tw-border-opacity)); +} +.border-r-stone-100{ + --tw-border-opacity: 1; + border-right-color: rgb(245 245 244 / var(--tw-border-opacity)); +} +.border-r-stone-200{ + --tw-border-opacity: 1; + border-right-color: rgb(231 229 228 / var(--tw-border-opacity)); +} +.border-r-stone-300{ + --tw-border-opacity: 1; + border-right-color: rgb(214 211 209 / var(--tw-border-opacity)); +} +.border-r-stone-400{ + --tw-border-opacity: 1; + border-right-color: rgb(168 162 158 / var(--tw-border-opacity)); +} +.border-r-stone-500{ + --tw-border-opacity: 1; + border-right-color: rgb(120 113 108 / var(--tw-border-opacity)); +} +.border-r-stone-600{ + --tw-border-opacity: 1; + border-right-color: rgb(87 83 78 / var(--tw-border-opacity)); +} +.border-r-stone-700{ + --tw-border-opacity: 1; + border-right-color: rgb(68 64 60 / var(--tw-border-opacity)); +} +.border-r-stone-800{ + --tw-border-opacity: 1; + border-right-color: rgb(41 37 36 / var(--tw-border-opacity)); +} +.border-r-stone-900{ + --tw-border-opacity: 1; + border-right-color: rgb(28 25 23 / var(--tw-border-opacity)); +} +.border-r-red-50{ + --tw-border-opacity: 1; + border-right-color: rgb(252 242 242 / var(--tw-border-opacity)); +} +.border-r-red-100{ + --tw-border-opacity: 1; + border-right-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-r-red-200{ + --tw-border-opacity: 1; + border-right-color: rgb(242 191 191 / var(--tw-border-opacity)); +} +.border-r-red-300{ + --tw-border-opacity: 1; + border-right-color: rgb(235 153 153 / var(--tw-border-opacity)); +} +.border-r-red-400{ + --tw-border-opacity: 1; + border-right-color: rgb(219 77 77 / var(--tw-border-opacity)); +} +.border-r-red-500{ + --tw-border-opacity: 1; + border-right-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-r-red-600{ + --tw-border-opacity: 1; + border-right-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-r-red-700{ + --tw-border-opacity: 1; + border-right-color: rgb(153 0 0 / var(--tw-border-opacity)); +} +.border-r-red-800{ + --tw-border-opacity: 1; + border-right-color: rgb(122 0 0 / var(--tw-border-opacity)); +} +.border-r-red-900{ + --tw-border-opacity: 1; + border-right-color: rgb(100 0 0 / var(--tw-border-opacity)); +} +.border-r-red{ + --tw-border-opacity: 1; + border-right-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-r-orange-50{ + --tw-border-opacity: 1; + border-right-color: rgb(255 250 243 / var(--tw-border-opacity)); +} +.border-r-orange-100{ + --tw-border-opacity: 1; + border-right-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-r-orange-200{ + --tw-border-opacity: 1; + border-right-color: rgb(253 231 194 / var(--tw-border-opacity)); +} +.border-r-orange-300{ + --tw-border-opacity: 1; + border-right-color: rgb(251 216 157 / var(--tw-border-opacity)); +} +.border-r-orange-400{ + --tw-border-opacity: 1; + border-right-color: rgb(248 187 84 / var(--tw-border-opacity)); +} +.border-r-orange-500{ + --tw-border-opacity: 1; + border-right-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-r-orange-600{ + --tw-border-opacity: 1; + border-right-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-r-orange-700{ + --tw-border-opacity: 1; + border-right-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-r-orange-800{ + --tw-border-opacity: 1; + border-right-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-r-orange-900{ + --tw-border-opacity: 1; + border-right-color: rgb(120 77 5 / var(--tw-border-opacity)); +} +.border-r-orange{ + --tw-border-opacity: 1; + border-right-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-r-amber-50{ + --tw-border-opacity: 1; + border-right-color: rgb(255 251 235 / var(--tw-border-opacity)); +} +.border-r-amber-100{ + --tw-border-opacity: 1; + border-right-color: rgb(254 243 199 / var(--tw-border-opacity)); +} +.border-r-amber-200{ + --tw-border-opacity: 1; + border-right-color: rgb(253 230 138 / var(--tw-border-opacity)); +} +.border-r-amber-300{ + --tw-border-opacity: 1; + border-right-color: rgb(252 211 77 / var(--tw-border-opacity)); +} +.border-r-amber-400{ + --tw-border-opacity: 1; + border-right-color: rgb(251 191 36 / var(--tw-border-opacity)); +} +.border-r-amber-500{ + --tw-border-opacity: 1; + border-right-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-r-amber-600{ + --tw-border-opacity: 1; + border-right-color: rgb(217 119 6 / var(--tw-border-opacity)); +} +.border-r-amber-700{ + --tw-border-opacity: 1; + border-right-color: rgb(180 83 9 / var(--tw-border-opacity)); +} +.border-r-amber-800{ + --tw-border-opacity: 1; + border-right-color: rgb(146 64 14 / var(--tw-border-opacity)); +} +.border-r-amber-900{ + --tw-border-opacity: 1; + border-right-color: rgb(120 53 15 / var(--tw-border-opacity)); +} +.border-r-yellow-50{ + --tw-border-opacity: 1; + border-right-color: rgb(253 253 234 / var(--tw-border-opacity)); +} +.border-r-yellow-100{ + --tw-border-opacity: 1; + border-right-color: rgb(253 246 178 / var(--tw-border-opacity)); +} +.border-r-yellow-200{ + --tw-border-opacity: 1; + border-right-color: rgb(252 233 106 / var(--tw-border-opacity)); +} +.border-r-yellow-300{ + --tw-border-opacity: 1; + border-right-color: rgb(250 202 21 / var(--tw-border-opacity)); +} +.border-r-yellow-400{ + --tw-border-opacity: 1; + border-right-color: rgb(227 160 8 / var(--tw-border-opacity)); +} +.border-r-yellow-500{ + --tw-border-opacity: 1; + border-right-color: rgb(194 120 3 / var(--tw-border-opacity)); +} +.border-r-yellow-600{ + --tw-border-opacity: 1; + border-right-color: rgb(159 88 10 / var(--tw-border-opacity)); +} +.border-r-yellow-700{ + --tw-border-opacity: 1; + border-right-color: rgb(142 75 16 / var(--tw-border-opacity)); +} +.border-r-yellow-800{ + --tw-border-opacity: 1; + border-right-color: rgb(114 59 19 / var(--tw-border-opacity)); +} +.border-r-yellow-900{ + --tw-border-opacity: 1; + border-right-color: rgb(99 49 18 / var(--tw-border-opacity)); +} +.border-r-lime-50{ + --tw-border-opacity: 1; + border-right-color: rgb(247 254 231 / var(--tw-border-opacity)); +} +.border-r-lime-100{ + --tw-border-opacity: 1; + border-right-color: rgb(236 252 203 / var(--tw-border-opacity)); +} +.border-r-lime-200{ + --tw-border-opacity: 1; + border-right-color: rgb(217 249 157 / var(--tw-border-opacity)); +} +.border-r-lime-300{ + --tw-border-opacity: 1; + border-right-color: rgb(190 242 100 / var(--tw-border-opacity)); +} +.border-r-lime-400{ + --tw-border-opacity: 1; + border-right-color: rgb(163 230 53 / var(--tw-border-opacity)); +} +.border-r-lime-500{ + --tw-border-opacity: 1; + border-right-color: rgb(132 204 22 / var(--tw-border-opacity)); +} +.border-r-lime-600{ + --tw-border-opacity: 1; + border-right-color: rgb(101 163 13 / var(--tw-border-opacity)); +} +.border-r-lime-700{ + --tw-border-opacity: 1; + border-right-color: rgb(77 124 15 / var(--tw-border-opacity)); +} +.border-r-lime-800{ + --tw-border-opacity: 1; + border-right-color: rgb(63 98 18 / var(--tw-border-opacity)); +} +.border-r-lime-900{ + --tw-border-opacity: 1; + border-right-color: rgb(54 83 20 / var(--tw-border-opacity)); +} +.border-r-green-50{ + --tw-border-opacity: 1; + border-right-color: rgb(248 250 246 / var(--tw-border-opacity)); +} +.border-r-green-100{ + --tw-border-opacity: 1; + border-right-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-r-green-200{ + --tw-border-opacity: 1; + border-right-color: rgb(219 232 212 / var(--tw-border-opacity)); +} +.border-r-green-300{ + --tw-border-opacity: 1; + border-right-color: rgb(197 217 186 / var(--tw-border-opacity)); +} +.border-r-green-400{ + --tw-border-opacity: 1; + border-right-color: rgb(154 189 134 / var(--tw-border-opacity)); +} +.border-r-green-500{ + --tw-border-opacity: 1; + border-right-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-r-green-600{ + --tw-border-opacity: 1; + border-right-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-r-green-700{ + --tw-border-opacity: 1; + border-right-color: rgb(83 121 62 / var(--tw-border-opacity)); +} +.border-r-green-800{ + --tw-border-opacity: 1; + border-right-color: rgb(66 97 49 / var(--tw-border-opacity)); +} +.border-r-green-900{ + --tw-border-opacity: 1; + border-right-color: rgb(54 79 40 / var(--tw-border-opacity)); +} +.border-r-green{ + --tw-border-opacity: 1; + border-right-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-r-emerald-50{ + --tw-border-opacity: 1; + border-right-color: rgb(236 253 245 / var(--tw-border-opacity)); +} +.border-r-emerald-100{ + --tw-border-opacity: 1; + border-right-color: rgb(209 250 229 / var(--tw-border-opacity)); +} +.border-r-emerald-200{ + --tw-border-opacity: 1; + border-right-color: rgb(167 243 208 / var(--tw-border-opacity)); +} +.border-r-emerald-300{ + --tw-border-opacity: 1; + border-right-color: rgb(110 231 183 / var(--tw-border-opacity)); +} +.border-r-emerald-400{ + --tw-border-opacity: 1; + border-right-color: rgb(52 211 153 / var(--tw-border-opacity)); +} +.border-r-emerald-500{ + --tw-border-opacity: 1; + border-right-color: rgb(16 185 129 / var(--tw-border-opacity)); +} +.border-r-emerald-600{ + --tw-border-opacity: 1; + border-right-color: rgb(5 150 105 / var(--tw-border-opacity)); +} +.border-r-emerald-700{ + --tw-border-opacity: 1; + border-right-color: rgb(4 120 87 / var(--tw-border-opacity)); +} +.border-r-emerald-800{ + --tw-border-opacity: 1; + border-right-color: rgb(6 95 70 / var(--tw-border-opacity)); +} +.border-r-emerald-900{ + --tw-border-opacity: 1; + border-right-color: rgb(6 78 59 / var(--tw-border-opacity)); +} +.border-r-teal-50{ + --tw-border-opacity: 1; + border-right-color: rgb(237 250 250 / var(--tw-border-opacity)); +} +.border-r-teal-100{ + --tw-border-opacity: 1; + border-right-color: rgb(213 245 246 / var(--tw-border-opacity)); +} +.border-r-teal-200{ + --tw-border-opacity: 1; + border-right-color: rgb(175 236 239 / var(--tw-border-opacity)); +} +.border-r-teal-300{ + --tw-border-opacity: 1; + border-right-color: rgb(126 220 226 / var(--tw-border-opacity)); +} +.border-r-teal-400{ + --tw-border-opacity: 1; + border-right-color: rgb(22 189 202 / var(--tw-border-opacity)); +} +.border-r-teal-500{ + --tw-border-opacity: 1; + border-right-color: rgb(6 148 162 / var(--tw-border-opacity)); +} +.border-r-teal-600{ + --tw-border-opacity: 1; + border-right-color: rgb(4 116 129 / var(--tw-border-opacity)); +} +.border-r-teal-700{ + --tw-border-opacity: 1; + border-right-color: rgb(3 102 114 / var(--tw-border-opacity)); +} +.border-r-teal-800{ + --tw-border-opacity: 1; + border-right-color: rgb(5 80 92 / var(--tw-border-opacity)); +} +.border-r-teal-900{ + --tw-border-opacity: 1; + border-right-color: rgb(1 68 81 / var(--tw-border-opacity)); +} +.border-r-cyan-50{ + --tw-border-opacity: 1; + border-right-color: rgb(236 254 255 / var(--tw-border-opacity)); +} +.border-r-cyan-100{ + --tw-border-opacity: 1; + border-right-color: rgb(207 250 254 / var(--tw-border-opacity)); +} +.border-r-cyan-200{ + --tw-border-opacity: 1; + border-right-color: rgb(165 243 252 / var(--tw-border-opacity)); +} +.border-r-cyan-300{ + --tw-border-opacity: 1; + border-right-color: rgb(103 232 249 / var(--tw-border-opacity)); +} +.border-r-cyan-400{ + --tw-border-opacity: 1; + border-right-color: rgb(34 211 238 / var(--tw-border-opacity)); +} +.border-r-cyan-500{ + --tw-border-opacity: 1; + border-right-color: rgb(6 182 212 / var(--tw-border-opacity)); +} +.border-r-cyan-600{ + --tw-border-opacity: 1; + border-right-color: rgb(8 145 178 / var(--tw-border-opacity)); +} +.border-r-cyan-700{ + --tw-border-opacity: 1; + border-right-color: rgb(14 116 144 / var(--tw-border-opacity)); +} +.border-r-cyan-800{ + --tw-border-opacity: 1; + border-right-color: rgb(21 94 117 / var(--tw-border-opacity)); +} +.border-r-cyan-900{ + --tw-border-opacity: 1; + border-right-color: rgb(22 78 99 / var(--tw-border-opacity)); +} +.border-r-sky-50{ + --tw-border-opacity: 1; + border-right-color: rgb(240 249 255 / var(--tw-border-opacity)); +} +.border-r-sky-100{ + --tw-border-opacity: 1; + border-right-color: rgb(224 242 254 / var(--tw-border-opacity)); +} +.border-r-sky-200{ + --tw-border-opacity: 1; + border-right-color: rgb(186 230 253 / var(--tw-border-opacity)); +} +.border-r-sky-300{ + --tw-border-opacity: 1; + border-right-color: rgb(125 211 252 / var(--tw-border-opacity)); +} +.border-r-sky-400{ + --tw-border-opacity: 1; + border-right-color: rgb(56 189 248 / var(--tw-border-opacity)); +} +.border-r-sky-500{ + --tw-border-opacity: 1; + border-right-color: rgb(14 165 233 / var(--tw-border-opacity)); +} +.border-r-sky-600{ + --tw-border-opacity: 1; + border-right-color: rgb(2 132 199 / var(--tw-border-opacity)); +} +.border-r-sky-700{ + --tw-border-opacity: 1; + border-right-color: rgb(3 105 161 / var(--tw-border-opacity)); +} +.border-r-sky-800{ + --tw-border-opacity: 1; + border-right-color: rgb(7 89 133 / var(--tw-border-opacity)); +} +.border-r-sky-900{ + --tw-border-opacity: 1; + border-right-color: rgb(12 74 110 / var(--tw-border-opacity)); +} +.border-r-blue-50{ + --tw-border-opacity: 1; + border-right-color: rgb(242 248 251 / var(--tw-border-opacity)); +} +.border-r-blue-100{ + --tw-border-opacity: 1; + border-right-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-r-blue-200{ + --tw-border-opacity: 1; + border-right-color: rgb(191 219 233 / var(--tw-border-opacity)); +} +.border-r-blue-300{ + --tw-border-opacity: 1; + border-right-color: rgb(153 197 219 / var(--tw-border-opacity)); +} +.border-r-blue-400{ + --tw-border-opacity: 1; + border-right-color: rgb(77 154 193 / var(--tw-border-opacity)); +} +.border-r-blue-500{ + --tw-border-opacity: 1; + border-right-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-r-blue-600{ + --tw-border-opacity: 1; + border-right-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-r-blue-700{ + --tw-border-opacity: 1; + border-right-color: rgb(0 83 125 / var(--tw-border-opacity)); +} +.border-r-blue-800{ + --tw-border-opacity: 1; + border-right-color: rgb(0 66 100 / var(--tw-border-opacity)); +} +.border-r-blue-900{ + --tw-border-opacity: 1; + border-right-color: rgb(0 54 81 / var(--tw-border-opacity)); +} +.border-r-blue{ + --tw-border-opacity: 1; + border-right-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-r-indigo-50{ + --tw-border-opacity: 1; + border-right-color: rgb(240 245 255 / var(--tw-border-opacity)); +} +.border-r-indigo-100{ + --tw-border-opacity: 1; + border-right-color: rgb(229 237 255 / var(--tw-border-opacity)); +} +.border-r-indigo-200{ + --tw-border-opacity: 1; + border-right-color: rgb(205 219 254 / var(--tw-border-opacity)); +} +.border-r-indigo-300{ + --tw-border-opacity: 1; + border-right-color: rgb(180 198 252 / var(--tw-border-opacity)); +} +.border-r-indigo-400{ + --tw-border-opacity: 1; + border-right-color: rgb(141 162 251 / var(--tw-border-opacity)); +} +.border-r-indigo-500{ + --tw-border-opacity: 1; + border-right-color: rgb(104 117 245 / var(--tw-border-opacity)); +} +.border-r-indigo-600{ + --tw-border-opacity: 1; + border-right-color: rgb(88 80 236 / var(--tw-border-opacity)); +} +.border-r-indigo-700{ + --tw-border-opacity: 1; + border-right-color: rgb(81 69 205 / var(--tw-border-opacity)); +} +.border-r-indigo-800{ + --tw-border-opacity: 1; + border-right-color: rgb(66 56 157 / var(--tw-border-opacity)); +} +.border-r-indigo-900{ + --tw-border-opacity: 1; + border-right-color: rgb(54 47 120 / var(--tw-border-opacity)); +} +.border-r-violet-50{ + --tw-border-opacity: 1; + border-right-color: rgb(245 243 255 / var(--tw-border-opacity)); +} +.border-r-violet-100{ + --tw-border-opacity: 1; + border-right-color: rgb(237 233 254 / var(--tw-border-opacity)); +} +.border-r-violet-200{ + --tw-border-opacity: 1; + border-right-color: rgb(221 214 254 / var(--tw-border-opacity)); +} +.border-r-violet-300{ + --tw-border-opacity: 1; + border-right-color: rgb(196 181 253 / var(--tw-border-opacity)); +} +.border-r-violet-400{ + --tw-border-opacity: 1; + border-right-color: rgb(167 139 250 / var(--tw-border-opacity)); +} +.border-r-violet-500{ + --tw-border-opacity: 1; + border-right-color: rgb(139 92 246 / var(--tw-border-opacity)); +} +.border-r-violet-600{ + --tw-border-opacity: 1; + border-right-color: rgb(124 58 237 / var(--tw-border-opacity)); +} +.border-r-violet-700{ + --tw-border-opacity: 1; + border-right-color: rgb(109 40 217 / var(--tw-border-opacity)); +} +.border-r-violet-800{ + --tw-border-opacity: 1; + border-right-color: rgb(91 33 182 / var(--tw-border-opacity)); +} +.border-r-violet-900{ + --tw-border-opacity: 1; + border-right-color: rgb(76 29 149 / var(--tw-border-opacity)); +} +.border-r-purple-50{ + --tw-border-opacity: 1; + border-right-color: rgb(247 247 249 / var(--tw-border-opacity)); +} +.border-r-purple-100{ + --tw-border-opacity: 1; + border-right-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-r-purple-200{ + --tw-border-opacity: 1; + border-right-color: rgb(213 213 226 / var(--tw-border-opacity)); +} +.border-r-purple-300{ + --tw-border-opacity: 1; + border-right-color: rgb(187 188 209 / var(--tw-border-opacity)); +} +.border-r-purple-400{ + --tw-border-opacity: 1; + border-right-color: rgb(136 138 174 / var(--tw-border-opacity)); +} +.border-r-purple-500{ + --tw-border-opacity: 1; + border-right-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-r-purple-600{ + --tw-border-opacity: 1; + border-right-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-r-purple-700{ + --tw-border-opacity: 1; + border-right-color: rgb(64 66 104 / var(--tw-border-opacity)); +} +.border-r-purple-800{ + --tw-border-opacity: 1; + border-right-color: rgb(51 53 83 / var(--tw-border-opacity)); +} +.border-r-purple-900{ + --tw-border-opacity: 1; + border-right-color: rgb(42 43 68 / var(--tw-border-opacity)); +} +.border-r-purple{ + --tw-border-opacity: 1; + border-right-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-r-fuchsia-50{ + --tw-border-opacity: 1; + border-right-color: rgb(253 244 255 / var(--tw-border-opacity)); +} +.border-r-fuchsia-100{ + --tw-border-opacity: 1; + border-right-color: rgb(250 232 255 / var(--tw-border-opacity)); +} +.border-r-fuchsia-200{ + --tw-border-opacity: 1; + border-right-color: rgb(245 208 254 / var(--tw-border-opacity)); +} +.border-r-fuchsia-300{ + --tw-border-opacity: 1; + border-right-color: rgb(240 171 252 / var(--tw-border-opacity)); +} +.border-r-fuchsia-400{ + --tw-border-opacity: 1; + border-right-color: rgb(232 121 249 / var(--tw-border-opacity)); +} +.border-r-fuchsia-500{ + --tw-border-opacity: 1; + border-right-color: rgb(217 70 239 / var(--tw-border-opacity)); +} +.border-r-fuchsia-600{ + --tw-border-opacity: 1; + border-right-color: rgb(192 38 211 / var(--tw-border-opacity)); +} +.border-r-fuchsia-700{ + --tw-border-opacity: 1; + border-right-color: rgb(162 28 175 / var(--tw-border-opacity)); +} +.border-r-fuchsia-800{ + --tw-border-opacity: 1; + border-right-color: rgb(134 25 143 / var(--tw-border-opacity)); +} +.border-r-fuchsia-900{ + --tw-border-opacity: 1; + border-right-color: rgb(112 26 117 / var(--tw-border-opacity)); +} +.border-r-pink-50{ + --tw-border-opacity: 1; + border-right-color: rgb(253 242 248 / var(--tw-border-opacity)); +} +.border-r-pink-100{ + --tw-border-opacity: 1; + border-right-color: rgb(252 232 243 / var(--tw-border-opacity)); +} +.border-r-pink-200{ + --tw-border-opacity: 1; + border-right-color: rgb(250 209 232 / var(--tw-border-opacity)); +} +.border-r-pink-300{ + --tw-border-opacity: 1; + border-right-color: rgb(248 180 217 / var(--tw-border-opacity)); +} +.border-r-pink-400{ + --tw-border-opacity: 1; + border-right-color: rgb(241 126 184 / var(--tw-border-opacity)); +} +.border-r-pink-500{ + --tw-border-opacity: 1; + border-right-color: rgb(231 70 148 / var(--tw-border-opacity)); +} +.border-r-pink-600{ + --tw-border-opacity: 1; + border-right-color: rgb(214 31 105 / var(--tw-border-opacity)); +} +.border-r-pink-700{ + --tw-border-opacity: 1; + border-right-color: rgb(191 18 93 / var(--tw-border-opacity)); +} +.border-r-pink-800{ + --tw-border-opacity: 1; + border-right-color: rgb(153 21 75 / var(--tw-border-opacity)); +} +.border-r-pink-900{ + --tw-border-opacity: 1; + border-right-color: rgb(117 26 61 / var(--tw-border-opacity)); +} +.border-r-rose-50{ + --tw-border-opacity: 1; + border-right-color: rgb(255 241 242 / var(--tw-border-opacity)); +} +.border-r-rose-100{ + --tw-border-opacity: 1; + border-right-color: rgb(255 228 230 / var(--tw-border-opacity)); +} +.border-r-rose-200{ + --tw-border-opacity: 1; + border-right-color: rgb(254 205 211 / var(--tw-border-opacity)); +} +.border-r-rose-300{ + --tw-border-opacity: 1; + border-right-color: rgb(253 164 175 / var(--tw-border-opacity)); +} +.border-r-rose-400{ + --tw-border-opacity: 1; + border-right-color: rgb(251 113 133 / var(--tw-border-opacity)); +} +.border-r-rose-500{ + --tw-border-opacity: 1; + border-right-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-r-rose-600{ + --tw-border-opacity: 1; + border-right-color: rgb(225 29 72 / var(--tw-border-opacity)); +} +.border-r-rose-700{ + --tw-border-opacity: 1; + border-right-color: rgb(190 18 60 / var(--tw-border-opacity)); +} +.border-r-rose-800{ + --tw-border-opacity: 1; + border-right-color: rgb(159 18 57 / var(--tw-border-opacity)); +} +.border-r-rose-900{ + --tw-border-opacity: 1; + border-right-color: rgb(136 19 55 / var(--tw-border-opacity)); +} +.border-r-rose{ + --tw-border-opacity: 1; + border-right-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-r-lilac-100{ + --tw-border-opacity: 1; + border-right-color: rgb(245 247 250 / var(--tw-border-opacity)); +} +.border-r-lilac-300{ + --tw-border-opacity: 1; + border-right-color: rgb(237 240 252 / var(--tw-border-opacity)); +} +.border-r-lilac-900{ + --tw-border-opacity: 1; + border-right-color: rgb(220 226 249 / var(--tw-border-opacity)); +} +.border-r-lilac{ + --tw-border-opacity: 1; + border-right-color: rgb(248 249 254 / var(--tw-border-opacity)); +} +.border-r-golden-900{ + --tw-border-opacity: 1; + border-right-color: rgb(191 184 130 / var(--tw-border-opacity)); +} +.border-r-golden{ + --tw-border-opacity: 1; + border-right-color: rgb(209 201 137 / var(--tw-border-opacity)); +} +.border-r-status-success{ + --tw-border-opacity: 1; + border-right-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-r-status-danger{ + --tw-border-opacity: 1; + border-right-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-r-status-sent{ + --tw-border-opacity: 1; + border-right-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-r-status-viewed{ + --tw-border-opacity: 1; + border-right-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-r-status-draft{ + --tw-border-opacity: 1; + border-right-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-r-status-partial{ + --tw-border-opacity: 1; + border-right-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-r-status-canceled{ + --tw-border-opacity: 1; + border-right-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-r-status-warning{ + --tw-border-opacity: 1; + border-right-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-r-text-status-success{ + --tw-border-opacity: 1; + border-right-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-r-text-status-danger{ + --tw-border-opacity: 1; + border-right-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-r-text-status-sent{ + --tw-border-opacity: 1; + border-right-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-r-text-status-viewed{ + --tw-border-opacity: 1; + border-right-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-r-text-status-draft{ + --tw-border-opacity: 1; + border-right-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-r-text-status-partial{ + --tw-border-opacity: 1; + border-right-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-r-text-status-canceled{ + --tw-border-opacity: 1; + border-right-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-r-text-status-warning{ + --tw-border-opacity: 1; + border-right-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-r-body{ + --tw-border-opacity: 1; + border-right-color: rgb(252 252 252 / var(--tw-border-opacity)); +} +.border-r-light-gray{ + --tw-border-opacity: 1; + border-right-color: rgb(199 201 217 / var(--tw-border-opacity)); +} +.border-r-dark-blue{ + --tw-border-opacity: 1; + border-right-color: rgb(21 40 75 / var(--tw-border-opacity)); +} +.border-r-lighter-gray{ + --tw-border-opacity: 1; + border-right-color: rgb(242 242 245 / var(--tw-border-opacity)); +} +.border-r-purple-lighter{ + --tw-border-opacity: 1; + border-right-color: rgb(242 244 252 / var(--tw-border-opacity)); +} +.border-r-modal-background{ + border-right-color: rgba(0, 0, 0, 0.3); +} +.border-r-testing{ + --tw-border-opacity: 1; + border-right-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-b-inherit{ + border-bottom-color: inherit; +} +.border-b-current{ + border-bottom-color: currentColor; +} +.border-b-transparent{ + border-bottom-color: transparent; +} +.border-b-black-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(246 246 246 / var(--tw-border-opacity)); +} +.border-b-black-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-b-black-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(208 208 208 / var(--tw-border-opacity)); +} +.border-b-black-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(179 179 179 / var(--tw-border-opacity)); +} +.border-b-black-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(123 123 123 / var(--tw-border-opacity)); +} +.border-b-black-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-b-black-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-b-black-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(50 50 50 / var(--tw-border-opacity)); +} +.border-b-black-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-b-black-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(32 32 32 / var(--tw-border-opacity)); +} +.border-b-black{ + --tw-border-opacity: 1; + border-bottom-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-b-white{ + --tw-border-opacity: 1; + border-bottom-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-b-slate-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(248 250 252 / var(--tw-border-opacity)); +} +.border-b-slate-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(241 245 249 / var(--tw-border-opacity)); +} +.border-b-slate-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(226 232 240 / var(--tw-border-opacity)); +} +.border-b-slate-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(203 213 225 / var(--tw-border-opacity)); +} +.border-b-slate-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(148 163 184 / var(--tw-border-opacity)); +} +.border-b-slate-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(100 116 139 / var(--tw-border-opacity)); +} +.border-b-slate-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(71 85 105 / var(--tw-border-opacity)); +} +.border-b-slate-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(51 65 85 / var(--tw-border-opacity)); +} +.border-b-slate-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(30 41 59 / var(--tw-border-opacity)); +} +.border-b-slate-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(15 23 42 / var(--tw-border-opacity)); +} +.border-b-gray-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(249 250 251 / var(--tw-border-opacity)); +} +.border-b-gray-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(243 244 246 / var(--tw-border-opacity)); +} +.border-b-gray-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(229 231 235 / var(--tw-border-opacity)); +} +.border-b-gray-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(209 213 219 / var(--tw-border-opacity)); +} +.border-b-gray-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(156 163 175 / var(--tw-border-opacity)); +} +.border-b-gray-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(107 114 128 / var(--tw-border-opacity)); +} +.border-b-gray-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(75 85 99 / var(--tw-border-opacity)); +} +.border-b-gray-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(55 65 81 / var(--tw-border-opacity)); +} +.border-b-gray-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(31 41 55 / var(--tw-border-opacity)); +} +.border-b-gray-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(17 24 39 / var(--tw-border-opacity)); +} +.border-b-zinc-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-b-zinc-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(244 244 245 / var(--tw-border-opacity)); +} +.border-b-zinc-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(228 228 231 / var(--tw-border-opacity)); +} +.border-b-zinc-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(212 212 216 / var(--tw-border-opacity)); +} +.border-b-zinc-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(161 161 170 / var(--tw-border-opacity)); +} +.border-b-zinc-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(113 113 122 / var(--tw-border-opacity)); +} +.border-b-zinc-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(82 82 91 / var(--tw-border-opacity)); +} +.border-b-zinc-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(63 63 70 / var(--tw-border-opacity)); +} +.border-b-zinc-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(39 39 42 / var(--tw-border-opacity)); +} +.border-b-zinc-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(24 24 27 / var(--tw-border-opacity)); +} +.border-b-neutral-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-b-neutral-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(245 245 245 / var(--tw-border-opacity)); +} +.border-b-neutral-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(229 229 229 / var(--tw-border-opacity)); +} +.border-b-neutral-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(212 212 212 / var(--tw-border-opacity)); +} +.border-b-neutral-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(163 163 163 / var(--tw-border-opacity)); +} +.border-b-neutral-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(115 115 115 / var(--tw-border-opacity)); +} +.border-b-neutral-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(82 82 82 / var(--tw-border-opacity)); +} +.border-b-neutral-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(64 64 64 / var(--tw-border-opacity)); +} +.border-b-neutral-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(38 38 38 / var(--tw-border-opacity)); +} +.border-b-neutral-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(23 23 23 / var(--tw-border-opacity)); +} +.border-b-stone-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(250 250 249 / var(--tw-border-opacity)); +} +.border-b-stone-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(245 245 244 / var(--tw-border-opacity)); +} +.border-b-stone-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(231 229 228 / var(--tw-border-opacity)); +} +.border-b-stone-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(214 211 209 / var(--tw-border-opacity)); +} +.border-b-stone-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(168 162 158 / var(--tw-border-opacity)); +} +.border-b-stone-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(120 113 108 / var(--tw-border-opacity)); +} +.border-b-stone-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(87 83 78 / var(--tw-border-opacity)); +} +.border-b-stone-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(68 64 60 / var(--tw-border-opacity)); +} +.border-b-stone-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(41 37 36 / var(--tw-border-opacity)); +} +.border-b-stone-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(28 25 23 / var(--tw-border-opacity)); +} +.border-b-red-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(252 242 242 / var(--tw-border-opacity)); +} +.border-b-red-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-b-red-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(242 191 191 / var(--tw-border-opacity)); +} +.border-b-red-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(235 153 153 / var(--tw-border-opacity)); +} +.border-b-red-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(219 77 77 / var(--tw-border-opacity)); +} +.border-b-red-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-b-red-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-b-red-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(153 0 0 / var(--tw-border-opacity)); +} +.border-b-red-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(122 0 0 / var(--tw-border-opacity)); +} +.border-b-red-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(100 0 0 / var(--tw-border-opacity)); +} +.border-b-red{ + --tw-border-opacity: 1; + border-bottom-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-b-orange-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(255 250 243 / var(--tw-border-opacity)); +} +.border-b-orange-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-b-orange-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(253 231 194 / var(--tw-border-opacity)); +} +.border-b-orange-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(251 216 157 / var(--tw-border-opacity)); +} +.border-b-orange-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(248 187 84 / var(--tw-border-opacity)); +} +.border-b-orange-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-b-orange-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-b-orange-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-b-orange-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-b-orange-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(120 77 5 / var(--tw-border-opacity)); +} +.border-b-orange{ + --tw-border-opacity: 1; + border-bottom-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-b-amber-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(255 251 235 / var(--tw-border-opacity)); +} +.border-b-amber-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(254 243 199 / var(--tw-border-opacity)); +} +.border-b-amber-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(253 230 138 / var(--tw-border-opacity)); +} +.border-b-amber-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(252 211 77 / var(--tw-border-opacity)); +} +.border-b-amber-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(251 191 36 / var(--tw-border-opacity)); +} +.border-b-amber-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-b-amber-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(217 119 6 / var(--tw-border-opacity)); +} +.border-b-amber-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(180 83 9 / var(--tw-border-opacity)); +} +.border-b-amber-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(146 64 14 / var(--tw-border-opacity)); +} +.border-b-amber-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(120 53 15 / var(--tw-border-opacity)); +} +.border-b-yellow-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(253 253 234 / var(--tw-border-opacity)); +} +.border-b-yellow-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(253 246 178 / var(--tw-border-opacity)); +} +.border-b-yellow-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(252 233 106 / var(--tw-border-opacity)); +} +.border-b-yellow-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(250 202 21 / var(--tw-border-opacity)); +} +.border-b-yellow-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(227 160 8 / var(--tw-border-opacity)); +} +.border-b-yellow-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(194 120 3 / var(--tw-border-opacity)); +} +.border-b-yellow-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(159 88 10 / var(--tw-border-opacity)); +} +.border-b-yellow-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(142 75 16 / var(--tw-border-opacity)); +} +.border-b-yellow-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(114 59 19 / var(--tw-border-opacity)); +} +.border-b-yellow-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(99 49 18 / var(--tw-border-opacity)); +} +.border-b-lime-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(247 254 231 / var(--tw-border-opacity)); +} +.border-b-lime-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(236 252 203 / var(--tw-border-opacity)); +} +.border-b-lime-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(217 249 157 / var(--tw-border-opacity)); +} +.border-b-lime-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(190 242 100 / var(--tw-border-opacity)); +} +.border-b-lime-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(163 230 53 / var(--tw-border-opacity)); +} +.border-b-lime-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(132 204 22 / var(--tw-border-opacity)); +} +.border-b-lime-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(101 163 13 / var(--tw-border-opacity)); +} +.border-b-lime-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(77 124 15 / var(--tw-border-opacity)); +} +.border-b-lime-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(63 98 18 / var(--tw-border-opacity)); +} +.border-b-lime-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(54 83 20 / var(--tw-border-opacity)); +} +.border-b-green-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(248 250 246 / var(--tw-border-opacity)); +} +.border-b-green-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-b-green-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(219 232 212 / var(--tw-border-opacity)); +} +.border-b-green-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(197 217 186 / var(--tw-border-opacity)); +} +.border-b-green-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(154 189 134 / var(--tw-border-opacity)); +} +.border-b-green-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-b-green-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-b-green-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(83 121 62 / var(--tw-border-opacity)); +} +.border-b-green-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(66 97 49 / var(--tw-border-opacity)); +} +.border-b-green-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(54 79 40 / var(--tw-border-opacity)); +} +.border-b-green{ + --tw-border-opacity: 1; + border-bottom-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-b-emerald-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(236 253 245 / var(--tw-border-opacity)); +} +.border-b-emerald-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(209 250 229 / var(--tw-border-opacity)); +} +.border-b-emerald-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(167 243 208 / var(--tw-border-opacity)); +} +.border-b-emerald-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(110 231 183 / var(--tw-border-opacity)); +} +.border-b-emerald-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(52 211 153 / var(--tw-border-opacity)); +} +.border-b-emerald-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(16 185 129 / var(--tw-border-opacity)); +} +.border-b-emerald-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(5 150 105 / var(--tw-border-opacity)); +} +.border-b-emerald-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(4 120 87 / var(--tw-border-opacity)); +} +.border-b-emerald-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(6 95 70 / var(--tw-border-opacity)); +} +.border-b-emerald-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(6 78 59 / var(--tw-border-opacity)); +} +.border-b-teal-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(237 250 250 / var(--tw-border-opacity)); +} +.border-b-teal-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(213 245 246 / var(--tw-border-opacity)); +} +.border-b-teal-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(175 236 239 / var(--tw-border-opacity)); +} +.border-b-teal-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(126 220 226 / var(--tw-border-opacity)); +} +.border-b-teal-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(22 189 202 / var(--tw-border-opacity)); +} +.border-b-teal-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(6 148 162 / var(--tw-border-opacity)); +} +.border-b-teal-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(4 116 129 / var(--tw-border-opacity)); +} +.border-b-teal-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(3 102 114 / var(--tw-border-opacity)); +} +.border-b-teal-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(5 80 92 / var(--tw-border-opacity)); +} +.border-b-teal-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(1 68 81 / var(--tw-border-opacity)); +} +.border-b-cyan-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(236 254 255 / var(--tw-border-opacity)); +} +.border-b-cyan-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(207 250 254 / var(--tw-border-opacity)); +} +.border-b-cyan-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(165 243 252 / var(--tw-border-opacity)); +} +.border-b-cyan-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(103 232 249 / var(--tw-border-opacity)); +} +.border-b-cyan-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(34 211 238 / var(--tw-border-opacity)); +} +.border-b-cyan-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(6 182 212 / var(--tw-border-opacity)); +} +.border-b-cyan-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(8 145 178 / var(--tw-border-opacity)); +} +.border-b-cyan-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(14 116 144 / var(--tw-border-opacity)); +} +.border-b-cyan-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(21 94 117 / var(--tw-border-opacity)); +} +.border-b-cyan-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(22 78 99 / var(--tw-border-opacity)); +} +.border-b-sky-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(240 249 255 / var(--tw-border-opacity)); +} +.border-b-sky-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(224 242 254 / var(--tw-border-opacity)); +} +.border-b-sky-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(186 230 253 / var(--tw-border-opacity)); +} +.border-b-sky-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(125 211 252 / var(--tw-border-opacity)); +} +.border-b-sky-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(56 189 248 / var(--tw-border-opacity)); +} +.border-b-sky-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(14 165 233 / var(--tw-border-opacity)); +} +.border-b-sky-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(2 132 199 / var(--tw-border-opacity)); +} +.border-b-sky-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(3 105 161 / var(--tw-border-opacity)); +} +.border-b-sky-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(7 89 133 / var(--tw-border-opacity)); +} +.border-b-sky-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(12 74 110 / var(--tw-border-opacity)); +} +.border-b-blue-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(242 248 251 / var(--tw-border-opacity)); +} +.border-b-blue-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-b-blue-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(191 219 233 / var(--tw-border-opacity)); +} +.border-b-blue-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(153 197 219 / var(--tw-border-opacity)); +} +.border-b-blue-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(77 154 193 / var(--tw-border-opacity)); +} +.border-b-blue-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-b-blue-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-b-blue-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(0 83 125 / var(--tw-border-opacity)); +} +.border-b-blue-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(0 66 100 / var(--tw-border-opacity)); +} +.border-b-blue-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(0 54 81 / var(--tw-border-opacity)); +} +.border-b-blue{ + --tw-border-opacity: 1; + border-bottom-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-b-indigo-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(240 245 255 / var(--tw-border-opacity)); +} +.border-b-indigo-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(229 237 255 / var(--tw-border-opacity)); +} +.border-b-indigo-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(205 219 254 / var(--tw-border-opacity)); +} +.border-b-indigo-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(180 198 252 / var(--tw-border-opacity)); +} +.border-b-indigo-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(141 162 251 / var(--tw-border-opacity)); +} +.border-b-indigo-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(104 117 245 / var(--tw-border-opacity)); +} +.border-b-indigo-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(88 80 236 / var(--tw-border-opacity)); +} +.border-b-indigo-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(81 69 205 / var(--tw-border-opacity)); +} +.border-b-indigo-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(66 56 157 / var(--tw-border-opacity)); +} +.border-b-indigo-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(54 47 120 / var(--tw-border-opacity)); +} +.border-b-violet-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(245 243 255 / var(--tw-border-opacity)); +} +.border-b-violet-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(237 233 254 / var(--tw-border-opacity)); +} +.border-b-violet-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(221 214 254 / var(--tw-border-opacity)); +} +.border-b-violet-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(196 181 253 / var(--tw-border-opacity)); +} +.border-b-violet-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(167 139 250 / var(--tw-border-opacity)); +} +.border-b-violet-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(139 92 246 / var(--tw-border-opacity)); +} +.border-b-violet-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(124 58 237 / var(--tw-border-opacity)); +} +.border-b-violet-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(109 40 217 / var(--tw-border-opacity)); +} +.border-b-violet-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(91 33 182 / var(--tw-border-opacity)); +} +.border-b-violet-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(76 29 149 / var(--tw-border-opacity)); +} +.border-b-purple-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(247 247 249 / var(--tw-border-opacity)); +} +.border-b-purple-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-b-purple-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(213 213 226 / var(--tw-border-opacity)); +} +.border-b-purple-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(187 188 209 / var(--tw-border-opacity)); +} +.border-b-purple-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(136 138 174 / var(--tw-border-opacity)); +} +.border-b-purple-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-b-purple-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-b-purple-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(64 66 104 / var(--tw-border-opacity)); +} +.border-b-purple-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(51 53 83 / var(--tw-border-opacity)); +} +.border-b-purple-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(42 43 68 / var(--tw-border-opacity)); +} +.border-b-purple{ + --tw-border-opacity: 1; + border-bottom-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-b-fuchsia-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(253 244 255 / var(--tw-border-opacity)); +} +.border-b-fuchsia-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(250 232 255 / var(--tw-border-opacity)); +} +.border-b-fuchsia-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(245 208 254 / var(--tw-border-opacity)); +} +.border-b-fuchsia-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(240 171 252 / var(--tw-border-opacity)); +} +.border-b-fuchsia-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(232 121 249 / var(--tw-border-opacity)); +} +.border-b-fuchsia-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(217 70 239 / var(--tw-border-opacity)); +} +.border-b-fuchsia-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(192 38 211 / var(--tw-border-opacity)); +} +.border-b-fuchsia-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(162 28 175 / var(--tw-border-opacity)); +} +.border-b-fuchsia-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(134 25 143 / var(--tw-border-opacity)); +} +.border-b-fuchsia-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(112 26 117 / var(--tw-border-opacity)); +} +.border-b-pink-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(253 242 248 / var(--tw-border-opacity)); +} +.border-b-pink-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(252 232 243 / var(--tw-border-opacity)); +} +.border-b-pink-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(250 209 232 / var(--tw-border-opacity)); +} +.border-b-pink-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(248 180 217 / var(--tw-border-opacity)); +} +.border-b-pink-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(241 126 184 / var(--tw-border-opacity)); +} +.border-b-pink-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(231 70 148 / var(--tw-border-opacity)); +} +.border-b-pink-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(214 31 105 / var(--tw-border-opacity)); +} +.border-b-pink-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(191 18 93 / var(--tw-border-opacity)); +} +.border-b-pink-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(153 21 75 / var(--tw-border-opacity)); +} +.border-b-pink-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(117 26 61 / var(--tw-border-opacity)); +} +.border-b-rose-50{ + --tw-border-opacity: 1; + border-bottom-color: rgb(255 241 242 / var(--tw-border-opacity)); +} +.border-b-rose-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(255 228 230 / var(--tw-border-opacity)); +} +.border-b-rose-200{ + --tw-border-opacity: 1; + border-bottom-color: rgb(254 205 211 / var(--tw-border-opacity)); +} +.border-b-rose-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(253 164 175 / var(--tw-border-opacity)); +} +.border-b-rose-400{ + --tw-border-opacity: 1; + border-bottom-color: rgb(251 113 133 / var(--tw-border-opacity)); +} +.border-b-rose-500{ + --tw-border-opacity: 1; + border-bottom-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-b-rose-600{ + --tw-border-opacity: 1; + border-bottom-color: rgb(225 29 72 / var(--tw-border-opacity)); +} +.border-b-rose-700{ + --tw-border-opacity: 1; + border-bottom-color: rgb(190 18 60 / var(--tw-border-opacity)); +} +.border-b-rose-800{ + --tw-border-opacity: 1; + border-bottom-color: rgb(159 18 57 / var(--tw-border-opacity)); +} +.border-b-rose-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(136 19 55 / var(--tw-border-opacity)); +} +.border-b-rose{ + --tw-border-opacity: 1; + border-bottom-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-b-lilac-100{ + --tw-border-opacity: 1; + border-bottom-color: rgb(245 247 250 / var(--tw-border-opacity)); +} +.border-b-lilac-300{ + --tw-border-opacity: 1; + border-bottom-color: rgb(237 240 252 / var(--tw-border-opacity)); +} +.border-b-lilac-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(220 226 249 / var(--tw-border-opacity)); +} +.border-b-lilac{ + --tw-border-opacity: 1; + border-bottom-color: rgb(248 249 254 / var(--tw-border-opacity)); +} +.border-b-golden-900{ + --tw-border-opacity: 1; + border-bottom-color: rgb(191 184 130 / var(--tw-border-opacity)); +} +.border-b-golden{ + --tw-border-opacity: 1; + border-bottom-color: rgb(209 201 137 / var(--tw-border-opacity)); +} +.border-b-status-success{ + --tw-border-opacity: 1; + border-bottom-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-b-status-danger{ + --tw-border-opacity: 1; + border-bottom-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-b-status-sent{ + --tw-border-opacity: 1; + border-bottom-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-b-status-viewed{ + --tw-border-opacity: 1; + border-bottom-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-b-status-draft{ + --tw-border-opacity: 1; + border-bottom-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-b-status-partial{ + --tw-border-opacity: 1; + border-bottom-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-b-status-canceled{ + --tw-border-opacity: 1; + border-bottom-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-b-status-warning{ + --tw-border-opacity: 1; + border-bottom-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-b-text-status-success{ + --tw-border-opacity: 1; + border-bottom-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-b-text-status-danger{ + --tw-border-opacity: 1; + border-bottom-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-b-text-status-sent{ + --tw-border-opacity: 1; + border-bottom-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-b-text-status-viewed{ + --tw-border-opacity: 1; + border-bottom-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-b-text-status-draft{ + --tw-border-opacity: 1; + border-bottom-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-b-text-status-partial{ + --tw-border-opacity: 1; + border-bottom-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-b-text-status-canceled{ + --tw-border-opacity: 1; + border-bottom-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-b-text-status-warning{ + --tw-border-opacity: 1; + border-bottom-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-b-body{ + --tw-border-opacity: 1; + border-bottom-color: rgb(252 252 252 / var(--tw-border-opacity)); +} +.border-b-light-gray{ + --tw-border-opacity: 1; + border-bottom-color: rgb(199 201 217 / var(--tw-border-opacity)); +} +.border-b-dark-blue{ + --tw-border-opacity: 1; + border-bottom-color: rgb(21 40 75 / var(--tw-border-opacity)); +} +.border-b-lighter-gray{ + --tw-border-opacity: 1; + border-bottom-color: rgb(242 242 245 / var(--tw-border-opacity)); +} +.border-b-purple-lighter{ + --tw-border-opacity: 1; + border-bottom-color: rgb(242 244 252 / var(--tw-border-opacity)); +} +.border-b-modal-background{ + border-bottom-color: rgba(0, 0, 0, 0.3); +} +.border-b-testing{ + --tw-border-opacity: 1; + border-bottom-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-l-inherit{ + border-left-color: inherit; +} +.border-l-current{ + border-left-color: currentColor; +} +.border-l-transparent{ + border-left-color: transparent; +} +.border-l-black-50{ + --tw-border-opacity: 1; + border-left-color: rgb(246 246 246 / var(--tw-border-opacity)); +} +.border-l-black-100{ + --tw-border-opacity: 1; + border-left-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-l-black-200{ + --tw-border-opacity: 1; + border-left-color: rgb(208 208 208 / var(--tw-border-opacity)); +} +.border-l-black-300{ + --tw-border-opacity: 1; + border-left-color: rgb(179 179 179 / var(--tw-border-opacity)); +} +.border-l-black-400{ + --tw-border-opacity: 1; + border-left-color: rgb(123 123 123 / var(--tw-border-opacity)); +} +.border-l-black-500{ + --tw-border-opacity: 1; + border-left-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-l-black-600{ + --tw-border-opacity: 1; + border-left-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-l-black-700{ + --tw-border-opacity: 1; + border-left-color: rgb(50 50 50 / var(--tw-border-opacity)); +} +.border-l-black-800{ + --tw-border-opacity: 1; + border-left-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-l-black-900{ + --tw-border-opacity: 1; + border-left-color: rgb(32 32 32 / var(--tw-border-opacity)); +} +.border-l-black{ + --tw-border-opacity: 1; + border-left-color: rgb(66 66 66 / var(--tw-border-opacity)); +} +.border-l-white{ + --tw-border-opacity: 1; + border-left-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-l-slate-50{ + --tw-border-opacity: 1; + border-left-color: rgb(248 250 252 / var(--tw-border-opacity)); +} +.border-l-slate-100{ + --tw-border-opacity: 1; + border-left-color: rgb(241 245 249 / var(--tw-border-opacity)); +} +.border-l-slate-200{ + --tw-border-opacity: 1; + border-left-color: rgb(226 232 240 / var(--tw-border-opacity)); +} +.border-l-slate-300{ + --tw-border-opacity: 1; + border-left-color: rgb(203 213 225 / var(--tw-border-opacity)); +} +.border-l-slate-400{ + --tw-border-opacity: 1; + border-left-color: rgb(148 163 184 / var(--tw-border-opacity)); +} +.border-l-slate-500{ + --tw-border-opacity: 1; + border-left-color: rgb(100 116 139 / var(--tw-border-opacity)); +} +.border-l-slate-600{ + --tw-border-opacity: 1; + border-left-color: rgb(71 85 105 / var(--tw-border-opacity)); +} +.border-l-slate-700{ + --tw-border-opacity: 1; + border-left-color: rgb(51 65 85 / var(--tw-border-opacity)); +} +.border-l-slate-800{ + --tw-border-opacity: 1; + border-left-color: rgb(30 41 59 / var(--tw-border-opacity)); +} +.border-l-slate-900{ + --tw-border-opacity: 1; + border-left-color: rgb(15 23 42 / var(--tw-border-opacity)); +} +.border-l-gray-50{ + --tw-border-opacity: 1; + border-left-color: rgb(249 250 251 / var(--tw-border-opacity)); +} +.border-l-gray-100{ + --tw-border-opacity: 1; + border-left-color: rgb(243 244 246 / var(--tw-border-opacity)); +} +.border-l-gray-200{ + --tw-border-opacity: 1; + border-left-color: rgb(229 231 235 / var(--tw-border-opacity)); +} +.border-l-gray-300{ + --tw-border-opacity: 1; + border-left-color: rgb(209 213 219 / var(--tw-border-opacity)); +} +.border-l-gray-400{ + --tw-border-opacity: 1; + border-left-color: rgb(156 163 175 / var(--tw-border-opacity)); +} +.border-l-gray-500{ + --tw-border-opacity: 1; + border-left-color: rgb(107 114 128 / var(--tw-border-opacity)); +} +.border-l-gray-600{ + --tw-border-opacity: 1; + border-left-color: rgb(75 85 99 / var(--tw-border-opacity)); +} +.border-l-gray-700{ + --tw-border-opacity: 1; + border-left-color: rgb(55 65 81 / var(--tw-border-opacity)); +} +.border-l-gray-800{ + --tw-border-opacity: 1; + border-left-color: rgb(31 41 55 / var(--tw-border-opacity)); +} +.border-l-gray-900{ + --tw-border-opacity: 1; + border-left-color: rgb(17 24 39 / var(--tw-border-opacity)); +} +.border-l-zinc-50{ + --tw-border-opacity: 1; + border-left-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-l-zinc-100{ + --tw-border-opacity: 1; + border-left-color: rgb(244 244 245 / var(--tw-border-opacity)); +} +.border-l-zinc-200{ + --tw-border-opacity: 1; + border-left-color: rgb(228 228 231 / var(--tw-border-opacity)); +} +.border-l-zinc-300{ + --tw-border-opacity: 1; + border-left-color: rgb(212 212 216 / var(--tw-border-opacity)); +} +.border-l-zinc-400{ + --tw-border-opacity: 1; + border-left-color: rgb(161 161 170 / var(--tw-border-opacity)); +} +.border-l-zinc-500{ + --tw-border-opacity: 1; + border-left-color: rgb(113 113 122 / var(--tw-border-opacity)); +} +.border-l-zinc-600{ + --tw-border-opacity: 1; + border-left-color: rgb(82 82 91 / var(--tw-border-opacity)); +} +.border-l-zinc-700{ + --tw-border-opacity: 1; + border-left-color: rgb(63 63 70 / var(--tw-border-opacity)); +} +.border-l-zinc-800{ + --tw-border-opacity: 1; + border-left-color: rgb(39 39 42 / var(--tw-border-opacity)); +} +.border-l-zinc-900{ + --tw-border-opacity: 1; + border-left-color: rgb(24 24 27 / var(--tw-border-opacity)); +} +.border-l-neutral-50{ + --tw-border-opacity: 1; + border-left-color: rgb(250 250 250 / var(--tw-border-opacity)); +} +.border-l-neutral-100{ + --tw-border-opacity: 1; + border-left-color: rgb(245 245 245 / var(--tw-border-opacity)); +} +.border-l-neutral-200{ + --tw-border-opacity: 1; + border-left-color: rgb(229 229 229 / var(--tw-border-opacity)); +} +.border-l-neutral-300{ + --tw-border-opacity: 1; + border-left-color: rgb(212 212 212 / var(--tw-border-opacity)); +} +.border-l-neutral-400{ + --tw-border-opacity: 1; + border-left-color: rgb(163 163 163 / var(--tw-border-opacity)); +} +.border-l-neutral-500{ + --tw-border-opacity: 1; + border-left-color: rgb(115 115 115 / var(--tw-border-opacity)); +} +.border-l-neutral-600{ + --tw-border-opacity: 1; + border-left-color: rgb(82 82 82 / var(--tw-border-opacity)); +} +.border-l-neutral-700{ + --tw-border-opacity: 1; + border-left-color: rgb(64 64 64 / var(--tw-border-opacity)); +} +.border-l-neutral-800{ + --tw-border-opacity: 1; + border-left-color: rgb(38 38 38 / var(--tw-border-opacity)); +} +.border-l-neutral-900{ + --tw-border-opacity: 1; + border-left-color: rgb(23 23 23 / var(--tw-border-opacity)); +} +.border-l-stone-50{ + --tw-border-opacity: 1; + border-left-color: rgb(250 250 249 / var(--tw-border-opacity)); +} +.border-l-stone-100{ + --tw-border-opacity: 1; + border-left-color: rgb(245 245 244 / var(--tw-border-opacity)); +} +.border-l-stone-200{ + --tw-border-opacity: 1; + border-left-color: rgb(231 229 228 / var(--tw-border-opacity)); +} +.border-l-stone-300{ + --tw-border-opacity: 1; + border-left-color: rgb(214 211 209 / var(--tw-border-opacity)); +} +.border-l-stone-400{ + --tw-border-opacity: 1; + border-left-color: rgb(168 162 158 / var(--tw-border-opacity)); +} +.border-l-stone-500{ + --tw-border-opacity: 1; + border-left-color: rgb(120 113 108 / var(--tw-border-opacity)); +} +.border-l-stone-600{ + --tw-border-opacity: 1; + border-left-color: rgb(87 83 78 / var(--tw-border-opacity)); +} +.border-l-stone-700{ + --tw-border-opacity: 1; + border-left-color: rgb(68 64 60 / var(--tw-border-opacity)); +} +.border-l-stone-800{ + --tw-border-opacity: 1; + border-left-color: rgb(41 37 36 / var(--tw-border-opacity)); +} +.border-l-stone-900{ + --tw-border-opacity: 1; + border-left-color: rgb(28 25 23 / var(--tw-border-opacity)); +} +.border-l-red-50{ + --tw-border-opacity: 1; + border-left-color: rgb(252 242 242 / var(--tw-border-opacity)); +} +.border-l-red-100{ + --tw-border-opacity: 1; + border-left-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-l-red-200{ + --tw-border-opacity: 1; + border-left-color: rgb(242 191 191 / var(--tw-border-opacity)); +} +.border-l-red-300{ + --tw-border-opacity: 1; + border-left-color: rgb(235 153 153 / var(--tw-border-opacity)); +} +.border-l-red-400{ + --tw-border-opacity: 1; + border-left-color: rgb(219 77 77 / var(--tw-border-opacity)); +} +.border-l-red-500{ + --tw-border-opacity: 1; + border-left-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-l-red-600{ + --tw-border-opacity: 1; + border-left-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-l-red-700{ + --tw-border-opacity: 1; + border-left-color: rgb(153 0 0 / var(--tw-border-opacity)); +} +.border-l-red-800{ + --tw-border-opacity: 1; + border-left-color: rgb(122 0 0 / var(--tw-border-opacity)); +} +.border-l-red-900{ + --tw-border-opacity: 1; + border-left-color: rgb(100 0 0 / var(--tw-border-opacity)); +} +.border-l-red{ + --tw-border-opacity: 1; + border-left-color: rgb(204 0 0 / var(--tw-border-opacity)); +} +.border-l-orange-50{ + --tw-border-opacity: 1; + border-left-color: rgb(255 250 243 / var(--tw-border-opacity)); +} +.border-l-orange-100{ + --tw-border-opacity: 1; + border-left-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-l-orange-200{ + --tw-border-opacity: 1; + border-left-color: rgb(253 231 194 / var(--tw-border-opacity)); +} +.border-l-orange-300{ + --tw-border-opacity: 1; + border-left-color: rgb(251 216 157 / var(--tw-border-opacity)); +} +.border-l-orange-400{ + --tw-border-opacity: 1; + border-left-color: rgb(248 187 84 / var(--tw-border-opacity)); +} +.border-l-orange-500{ + --tw-border-opacity: 1; + border-left-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-l-orange-600{ + --tw-border-opacity: 1; + border-left-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-l-orange-700{ + --tw-border-opacity: 1; + border-left-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-l-orange-800{ + --tw-border-opacity: 1; + border-left-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-l-orange-900{ + --tw-border-opacity: 1; + border-left-color: rgb(120 77 5 / var(--tw-border-opacity)); +} +.border-l-orange{ + --tw-border-opacity: 1; + border-left-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-l-amber-50{ + --tw-border-opacity: 1; + border-left-color: rgb(255 251 235 / var(--tw-border-opacity)); +} +.border-l-amber-100{ + --tw-border-opacity: 1; + border-left-color: rgb(254 243 199 / var(--tw-border-opacity)); +} +.border-l-amber-200{ + --tw-border-opacity: 1; + border-left-color: rgb(253 230 138 / var(--tw-border-opacity)); +} +.border-l-amber-300{ + --tw-border-opacity: 1; + border-left-color: rgb(252 211 77 / var(--tw-border-opacity)); +} +.border-l-amber-400{ + --tw-border-opacity: 1; + border-left-color: rgb(251 191 36 / var(--tw-border-opacity)); +} +.border-l-amber-500{ + --tw-border-opacity: 1; + border-left-color: rgb(245 158 11 / var(--tw-border-opacity)); +} +.border-l-amber-600{ + --tw-border-opacity: 1; + border-left-color: rgb(217 119 6 / var(--tw-border-opacity)); +} +.border-l-amber-700{ + --tw-border-opacity: 1; + border-left-color: rgb(180 83 9 / var(--tw-border-opacity)); +} +.border-l-amber-800{ + --tw-border-opacity: 1; + border-left-color: rgb(146 64 14 / var(--tw-border-opacity)); +} +.border-l-amber-900{ + --tw-border-opacity: 1; + border-left-color: rgb(120 53 15 / var(--tw-border-opacity)); +} +.border-l-yellow-50{ + --tw-border-opacity: 1; + border-left-color: rgb(253 253 234 / var(--tw-border-opacity)); +} +.border-l-yellow-100{ + --tw-border-opacity: 1; + border-left-color: rgb(253 246 178 / var(--tw-border-opacity)); +} +.border-l-yellow-200{ + --tw-border-opacity: 1; + border-left-color: rgb(252 233 106 / var(--tw-border-opacity)); +} +.border-l-yellow-300{ + --tw-border-opacity: 1; + border-left-color: rgb(250 202 21 / var(--tw-border-opacity)); +} +.border-l-yellow-400{ + --tw-border-opacity: 1; + border-left-color: rgb(227 160 8 / var(--tw-border-opacity)); +} +.border-l-yellow-500{ + --tw-border-opacity: 1; + border-left-color: rgb(194 120 3 / var(--tw-border-opacity)); +} +.border-l-yellow-600{ + --tw-border-opacity: 1; + border-left-color: rgb(159 88 10 / var(--tw-border-opacity)); +} +.border-l-yellow-700{ + --tw-border-opacity: 1; + border-left-color: rgb(142 75 16 / var(--tw-border-opacity)); +} +.border-l-yellow-800{ + --tw-border-opacity: 1; + border-left-color: rgb(114 59 19 / var(--tw-border-opacity)); +} +.border-l-yellow-900{ + --tw-border-opacity: 1; + border-left-color: rgb(99 49 18 / var(--tw-border-opacity)); +} +.border-l-lime-50{ + --tw-border-opacity: 1; + border-left-color: rgb(247 254 231 / var(--tw-border-opacity)); +} +.border-l-lime-100{ + --tw-border-opacity: 1; + border-left-color: rgb(236 252 203 / var(--tw-border-opacity)); +} +.border-l-lime-200{ + --tw-border-opacity: 1; + border-left-color: rgb(217 249 157 / var(--tw-border-opacity)); +} +.border-l-lime-300{ + --tw-border-opacity: 1; + border-left-color: rgb(190 242 100 / var(--tw-border-opacity)); +} +.border-l-lime-400{ + --tw-border-opacity: 1; + border-left-color: rgb(163 230 53 / var(--tw-border-opacity)); +} +.border-l-lime-500{ + --tw-border-opacity: 1; + border-left-color: rgb(132 204 22 / var(--tw-border-opacity)); +} +.border-l-lime-600{ + --tw-border-opacity: 1; + border-left-color: rgb(101 163 13 / var(--tw-border-opacity)); +} +.border-l-lime-700{ + --tw-border-opacity: 1; + border-left-color: rgb(77 124 15 / var(--tw-border-opacity)); +} +.border-l-lime-800{ + --tw-border-opacity: 1; + border-left-color: rgb(63 98 18 / var(--tw-border-opacity)); +} +.border-l-lime-900{ + --tw-border-opacity: 1; + border-left-color: rgb(54 83 20 / var(--tw-border-opacity)); +} +.border-l-green-50{ + --tw-border-opacity: 1; + border-left-color: rgb(248 250 246 / var(--tw-border-opacity)); +} +.border-l-green-100{ + --tw-border-opacity: 1; + border-left-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-l-green-200{ + --tw-border-opacity: 1; + border-left-color: rgb(219 232 212 / var(--tw-border-opacity)); +} +.border-l-green-300{ + --tw-border-opacity: 1; + border-left-color: rgb(197 217 186 / var(--tw-border-opacity)); +} +.border-l-green-400{ + --tw-border-opacity: 1; + border-left-color: rgb(154 189 134 / var(--tw-border-opacity)); +} +.border-l-green-500{ + --tw-border-opacity: 1; + border-left-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-l-green-600{ + --tw-border-opacity: 1; + border-left-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-l-green-700{ + --tw-border-opacity: 1; + border-left-color: rgb(83 121 62 / var(--tw-border-opacity)); +} +.border-l-green-800{ + --tw-border-opacity: 1; + border-left-color: rgb(66 97 49 / var(--tw-border-opacity)); +} +.border-l-green-900{ + --tw-border-opacity: 1; + border-left-color: rgb(54 79 40 / var(--tw-border-opacity)); +} +.border-l-green{ + --tw-border-opacity: 1; + border-left-color: rgb(110 161 82 / var(--tw-border-opacity)); +} +.border-l-emerald-50{ + --tw-border-opacity: 1; + border-left-color: rgb(236 253 245 / var(--tw-border-opacity)); +} +.border-l-emerald-100{ + --tw-border-opacity: 1; + border-left-color: rgb(209 250 229 / var(--tw-border-opacity)); +} +.border-l-emerald-200{ + --tw-border-opacity: 1; + border-left-color: rgb(167 243 208 / var(--tw-border-opacity)); +} +.border-l-emerald-300{ + --tw-border-opacity: 1; + border-left-color: rgb(110 231 183 / var(--tw-border-opacity)); +} +.border-l-emerald-400{ + --tw-border-opacity: 1; + border-left-color: rgb(52 211 153 / var(--tw-border-opacity)); +} +.border-l-emerald-500{ + --tw-border-opacity: 1; + border-left-color: rgb(16 185 129 / var(--tw-border-opacity)); +} +.border-l-emerald-600{ + --tw-border-opacity: 1; + border-left-color: rgb(5 150 105 / var(--tw-border-opacity)); +} +.border-l-emerald-700{ + --tw-border-opacity: 1; + border-left-color: rgb(4 120 87 / var(--tw-border-opacity)); +} +.border-l-emerald-800{ + --tw-border-opacity: 1; + border-left-color: rgb(6 95 70 / var(--tw-border-opacity)); +} +.border-l-emerald-900{ + --tw-border-opacity: 1; + border-left-color: rgb(6 78 59 / var(--tw-border-opacity)); +} +.border-l-teal-50{ + --tw-border-opacity: 1; + border-left-color: rgb(237 250 250 / var(--tw-border-opacity)); +} +.border-l-teal-100{ + --tw-border-opacity: 1; + border-left-color: rgb(213 245 246 / var(--tw-border-opacity)); +} +.border-l-teal-200{ + --tw-border-opacity: 1; + border-left-color: rgb(175 236 239 / var(--tw-border-opacity)); +} +.border-l-teal-300{ + --tw-border-opacity: 1; + border-left-color: rgb(126 220 226 / var(--tw-border-opacity)); +} +.border-l-teal-400{ + --tw-border-opacity: 1; + border-left-color: rgb(22 189 202 / var(--tw-border-opacity)); +} +.border-l-teal-500{ + --tw-border-opacity: 1; + border-left-color: rgb(6 148 162 / var(--tw-border-opacity)); +} +.border-l-teal-600{ + --tw-border-opacity: 1; + border-left-color: rgb(4 116 129 / var(--tw-border-opacity)); +} +.border-l-teal-700{ + --tw-border-opacity: 1; + border-left-color: rgb(3 102 114 / var(--tw-border-opacity)); +} +.border-l-teal-800{ + --tw-border-opacity: 1; + border-left-color: rgb(5 80 92 / var(--tw-border-opacity)); +} +.border-l-teal-900{ + --tw-border-opacity: 1; + border-left-color: rgb(1 68 81 / var(--tw-border-opacity)); +} +.border-l-cyan-50{ + --tw-border-opacity: 1; + border-left-color: rgb(236 254 255 / var(--tw-border-opacity)); +} +.border-l-cyan-100{ + --tw-border-opacity: 1; + border-left-color: rgb(207 250 254 / var(--tw-border-opacity)); +} +.border-l-cyan-200{ + --tw-border-opacity: 1; + border-left-color: rgb(165 243 252 / var(--tw-border-opacity)); +} +.border-l-cyan-300{ + --tw-border-opacity: 1; + border-left-color: rgb(103 232 249 / var(--tw-border-opacity)); +} +.border-l-cyan-400{ + --tw-border-opacity: 1; + border-left-color: rgb(34 211 238 / var(--tw-border-opacity)); +} +.border-l-cyan-500{ + --tw-border-opacity: 1; + border-left-color: rgb(6 182 212 / var(--tw-border-opacity)); +} +.border-l-cyan-600{ + --tw-border-opacity: 1; + border-left-color: rgb(8 145 178 / var(--tw-border-opacity)); +} +.border-l-cyan-700{ + --tw-border-opacity: 1; + border-left-color: rgb(14 116 144 / var(--tw-border-opacity)); +} +.border-l-cyan-800{ + --tw-border-opacity: 1; + border-left-color: rgb(21 94 117 / var(--tw-border-opacity)); +} +.border-l-cyan-900{ + --tw-border-opacity: 1; + border-left-color: rgb(22 78 99 / var(--tw-border-opacity)); +} +.border-l-sky-50{ + --tw-border-opacity: 1; + border-left-color: rgb(240 249 255 / var(--tw-border-opacity)); +} +.border-l-sky-100{ + --tw-border-opacity: 1; + border-left-color: rgb(224 242 254 / var(--tw-border-opacity)); +} +.border-l-sky-200{ + --tw-border-opacity: 1; + border-left-color: rgb(186 230 253 / var(--tw-border-opacity)); +} +.border-l-sky-300{ + --tw-border-opacity: 1; + border-left-color: rgb(125 211 252 / var(--tw-border-opacity)); +} +.border-l-sky-400{ + --tw-border-opacity: 1; + border-left-color: rgb(56 189 248 / var(--tw-border-opacity)); +} +.border-l-sky-500{ + --tw-border-opacity: 1; + border-left-color: rgb(14 165 233 / var(--tw-border-opacity)); +} +.border-l-sky-600{ + --tw-border-opacity: 1; + border-left-color: rgb(2 132 199 / var(--tw-border-opacity)); +} +.border-l-sky-700{ + --tw-border-opacity: 1; + border-left-color: rgb(3 105 161 / var(--tw-border-opacity)); +} +.border-l-sky-800{ + --tw-border-opacity: 1; + border-left-color: rgb(7 89 133 / var(--tw-border-opacity)); +} +.border-l-sky-900{ + --tw-border-opacity: 1; + border-left-color: rgb(12 74 110 / var(--tw-border-opacity)); +} +.border-l-blue-50{ + --tw-border-opacity: 1; + border-left-color: rgb(242 248 251 / var(--tw-border-opacity)); +} +.border-l-blue-100{ + --tw-border-opacity: 1; + border-left-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-l-blue-200{ + --tw-border-opacity: 1; + border-left-color: rgb(191 219 233 / var(--tw-border-opacity)); +} +.border-l-blue-300{ + --tw-border-opacity: 1; + border-left-color: rgb(153 197 219 / var(--tw-border-opacity)); +} +.border-l-blue-400{ + --tw-border-opacity: 1; + border-left-color: rgb(77 154 193 / var(--tw-border-opacity)); +} +.border-l-blue-500{ + --tw-border-opacity: 1; + border-left-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-l-blue-600{ + --tw-border-opacity: 1; + border-left-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-l-blue-700{ + --tw-border-opacity: 1; + border-left-color: rgb(0 83 125 / var(--tw-border-opacity)); +} +.border-l-blue-800{ + --tw-border-opacity: 1; + border-left-color: rgb(0 66 100 / var(--tw-border-opacity)); +} +.border-l-blue-900{ + --tw-border-opacity: 1; + border-left-color: rgb(0 54 81 / var(--tw-border-opacity)); +} +.border-l-blue{ + --tw-border-opacity: 1; + border-left-color: rgb(0 110 166 / var(--tw-border-opacity)); +} +.border-l-indigo-50{ + --tw-border-opacity: 1; + border-left-color: rgb(240 245 255 / var(--tw-border-opacity)); +} +.border-l-indigo-100{ + --tw-border-opacity: 1; + border-left-color: rgb(229 237 255 / var(--tw-border-opacity)); +} +.border-l-indigo-200{ + --tw-border-opacity: 1; + border-left-color: rgb(205 219 254 / var(--tw-border-opacity)); +} +.border-l-indigo-300{ + --tw-border-opacity: 1; + border-left-color: rgb(180 198 252 / var(--tw-border-opacity)); +} +.border-l-indigo-400{ + --tw-border-opacity: 1; + border-left-color: rgb(141 162 251 / var(--tw-border-opacity)); +} +.border-l-indigo-500{ + --tw-border-opacity: 1; + border-left-color: rgb(104 117 245 / var(--tw-border-opacity)); +} +.border-l-indigo-600{ + --tw-border-opacity: 1; + border-left-color: rgb(88 80 236 / var(--tw-border-opacity)); +} +.border-l-indigo-700{ + --tw-border-opacity: 1; + border-left-color: rgb(81 69 205 / var(--tw-border-opacity)); +} +.border-l-indigo-800{ + --tw-border-opacity: 1; + border-left-color: rgb(66 56 157 / var(--tw-border-opacity)); +} +.border-l-indigo-900{ + --tw-border-opacity: 1; + border-left-color: rgb(54 47 120 / var(--tw-border-opacity)); +} +.border-l-violet-50{ + --tw-border-opacity: 1; + border-left-color: rgb(245 243 255 / var(--tw-border-opacity)); +} +.border-l-violet-100{ + --tw-border-opacity: 1; + border-left-color: rgb(237 233 254 / var(--tw-border-opacity)); +} +.border-l-violet-200{ + --tw-border-opacity: 1; + border-left-color: rgb(221 214 254 / var(--tw-border-opacity)); +} +.border-l-violet-300{ + --tw-border-opacity: 1; + border-left-color: rgb(196 181 253 / var(--tw-border-opacity)); +} +.border-l-violet-400{ + --tw-border-opacity: 1; + border-left-color: rgb(167 139 250 / var(--tw-border-opacity)); +} +.border-l-violet-500{ + --tw-border-opacity: 1; + border-left-color: rgb(139 92 246 / var(--tw-border-opacity)); +} +.border-l-violet-600{ + --tw-border-opacity: 1; + border-left-color: rgb(124 58 237 / var(--tw-border-opacity)); +} +.border-l-violet-700{ + --tw-border-opacity: 1; + border-left-color: rgb(109 40 217 / var(--tw-border-opacity)); +} +.border-l-violet-800{ + --tw-border-opacity: 1; + border-left-color: rgb(91 33 182 / var(--tw-border-opacity)); +} +.border-l-violet-900{ + --tw-border-opacity: 1; + border-left-color: rgb(76 29 149 / var(--tw-border-opacity)); +} +.border-l-purple-50{ + --tw-border-opacity: 1; + border-left-color: rgb(247 247 249 / var(--tw-border-opacity)); +} +.border-l-purple-100{ + --tw-border-opacity: 1; + border-left-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-l-purple-200{ + --tw-border-opacity: 1; + border-left-color: rgb(213 213 226 / var(--tw-border-opacity)); +} +.border-l-purple-300{ + --tw-border-opacity: 1; + border-left-color: rgb(187 188 209 / var(--tw-border-opacity)); +} +.border-l-purple-400{ + --tw-border-opacity: 1; + border-left-color: rgb(136 138 174 / var(--tw-border-opacity)); +} +.border-l-purple-500{ + --tw-border-opacity: 1; + border-left-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-l-purple-600{ + --tw-border-opacity: 1; + border-left-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-l-purple-700{ + --tw-border-opacity: 1; + border-left-color: rgb(64 66 104 / var(--tw-border-opacity)); +} +.border-l-purple-800{ + --tw-border-opacity: 1; + border-left-color: rgb(51 53 83 / var(--tw-border-opacity)); +} +.border-l-purple-900{ + --tw-border-opacity: 1; + border-left-color: rgb(42 43 68 / var(--tw-border-opacity)); +} +.border-l-purple{ + --tw-border-opacity: 1; + border-left-color: rgb(85 88 139 / var(--tw-border-opacity)); +} +.border-l-fuchsia-50{ + --tw-border-opacity: 1; + border-left-color: rgb(253 244 255 / var(--tw-border-opacity)); +} +.border-l-fuchsia-100{ + --tw-border-opacity: 1; + border-left-color: rgb(250 232 255 / var(--tw-border-opacity)); +} +.border-l-fuchsia-200{ + --tw-border-opacity: 1; + border-left-color: rgb(245 208 254 / var(--tw-border-opacity)); +} +.border-l-fuchsia-300{ + --tw-border-opacity: 1; + border-left-color: rgb(240 171 252 / var(--tw-border-opacity)); +} +.border-l-fuchsia-400{ + --tw-border-opacity: 1; + border-left-color: rgb(232 121 249 / var(--tw-border-opacity)); +} +.border-l-fuchsia-500{ + --tw-border-opacity: 1; + border-left-color: rgb(217 70 239 / var(--tw-border-opacity)); +} +.border-l-fuchsia-600{ + --tw-border-opacity: 1; + border-left-color: rgb(192 38 211 / var(--tw-border-opacity)); +} +.border-l-fuchsia-700{ + --tw-border-opacity: 1; + border-left-color: rgb(162 28 175 / var(--tw-border-opacity)); +} +.border-l-fuchsia-800{ + --tw-border-opacity: 1; + border-left-color: rgb(134 25 143 / var(--tw-border-opacity)); +} +.border-l-fuchsia-900{ + --tw-border-opacity: 1; + border-left-color: rgb(112 26 117 / var(--tw-border-opacity)); +} +.border-l-pink-50{ + --tw-border-opacity: 1; + border-left-color: rgb(253 242 248 / var(--tw-border-opacity)); +} +.border-l-pink-100{ + --tw-border-opacity: 1; + border-left-color: rgb(252 232 243 / var(--tw-border-opacity)); +} +.border-l-pink-200{ + --tw-border-opacity: 1; + border-left-color: rgb(250 209 232 / var(--tw-border-opacity)); +} +.border-l-pink-300{ + --tw-border-opacity: 1; + border-left-color: rgb(248 180 217 / var(--tw-border-opacity)); +} +.border-l-pink-400{ + --tw-border-opacity: 1; + border-left-color: rgb(241 126 184 / var(--tw-border-opacity)); +} +.border-l-pink-500{ + --tw-border-opacity: 1; + border-left-color: rgb(231 70 148 / var(--tw-border-opacity)); +} +.border-l-pink-600{ + --tw-border-opacity: 1; + border-left-color: rgb(214 31 105 / var(--tw-border-opacity)); +} +.border-l-pink-700{ + --tw-border-opacity: 1; + border-left-color: rgb(191 18 93 / var(--tw-border-opacity)); +} +.border-l-pink-800{ + --tw-border-opacity: 1; + border-left-color: rgb(153 21 75 / var(--tw-border-opacity)); +} +.border-l-pink-900{ + --tw-border-opacity: 1; + border-left-color: rgb(117 26 61 / var(--tw-border-opacity)); +} +.border-l-rose-50{ + --tw-border-opacity: 1; + border-left-color: rgb(255 241 242 / var(--tw-border-opacity)); +} +.border-l-rose-100{ + --tw-border-opacity: 1; + border-left-color: rgb(255 228 230 / var(--tw-border-opacity)); +} +.border-l-rose-200{ + --tw-border-opacity: 1; + border-left-color: rgb(254 205 211 / var(--tw-border-opacity)); +} +.border-l-rose-300{ + --tw-border-opacity: 1; + border-left-color: rgb(253 164 175 / var(--tw-border-opacity)); +} +.border-l-rose-400{ + --tw-border-opacity: 1; + border-left-color: rgb(251 113 133 / var(--tw-border-opacity)); +} +.border-l-rose-500{ + --tw-border-opacity: 1; + border-left-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-l-rose-600{ + --tw-border-opacity: 1; + border-left-color: rgb(225 29 72 / var(--tw-border-opacity)); +} +.border-l-rose-700{ + --tw-border-opacity: 1; + border-left-color: rgb(190 18 60 / var(--tw-border-opacity)); +} +.border-l-rose-800{ + --tw-border-opacity: 1; + border-left-color: rgb(159 18 57 / var(--tw-border-opacity)); +} +.border-l-rose-900{ + --tw-border-opacity: 1; + border-left-color: rgb(136 19 55 / var(--tw-border-opacity)); +} +.border-l-rose{ + --tw-border-opacity: 1; + border-left-color: rgb(244 63 94 / var(--tw-border-opacity)); +} +.border-l-lilac-100{ + --tw-border-opacity: 1; + border-left-color: rgb(245 247 250 / var(--tw-border-opacity)); +} +.border-l-lilac-300{ + --tw-border-opacity: 1; + border-left-color: rgb(237 240 252 / var(--tw-border-opacity)); +} +.border-l-lilac-900{ + --tw-border-opacity: 1; + border-left-color: rgb(220 226 249 / var(--tw-border-opacity)); +} +.border-l-lilac{ + --tw-border-opacity: 1; + border-left-color: rgb(248 249 254 / var(--tw-border-opacity)); +} +.border-l-golden-900{ + --tw-border-opacity: 1; + border-left-color: rgb(191 184 130 / var(--tw-border-opacity)); +} +.border-l-golden{ + --tw-border-opacity: 1; + border-left-color: rgb(209 201 137 / var(--tw-border-opacity)); +} +.border-l-status-success{ + --tw-border-opacity: 1; + border-left-color: rgb(241 246 238 / var(--tw-border-opacity)); +} +.border-l-status-danger{ + --tw-border-opacity: 1; + border-left-color: rgb(250 230 230 / var(--tw-border-opacity)); +} +.border-l-status-sent{ + --tw-border-opacity: 1; + border-left-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-l-status-viewed{ + --tw-border-opacity: 1; + border-left-color: rgb(238 238 243 / var(--tw-border-opacity)); +} +.border-l-status-draft{ + --tw-border-opacity: 1; + border-left-color: rgb(236 236 236 / var(--tw-border-opacity)); +} +.border-l-status-partial{ + --tw-border-opacity: 1; + border-left-color: rgb(230 241 246 / var(--tw-border-opacity)); +} +.border-l-status-canceled{ + --tw-border-opacity: 1; + border-left-color: rgb(40 40 40 / var(--tw-border-opacity)); +} +.border-l-status-warning{ + --tw-border-opacity: 1; + border-left-color: rgb(254 245 231 / var(--tw-border-opacity)); +} +.border-l-text-status-success{ + --tw-border-opacity: 1; + border-left-color: rgb(99 145 74 / var(--tw-border-opacity)); +} +.border-l-text-status-danger{ + --tw-border-opacity: 1; + border-left-color: rgb(184 0 0 / var(--tw-border-opacity)); +} +.border-l-text-status-sent{ + --tw-border-opacity: 1; + border-left-color: rgb(221 142 10 / var(--tw-border-opacity)); +} +.border-l-text-status-viewed{ + --tw-border-opacity: 1; + border-left-color: rgb(77 79 125 / var(--tw-border-opacity)); +} +.border-l-text-status-draft{ + --tw-border-opacity: 1; + border-left-color: rgb(59 59 59 / var(--tw-border-opacity)); +} +.border-l-text-status-partial{ + --tw-border-opacity: 1; + border-left-color: rgb(0 99 149 / var(--tw-border-opacity)); +} +.border-l-text-status-canceled{ + --tw-border-opacity: 1; + border-left-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.border-l-text-status-warning{ + --tw-border-opacity: 1; + border-left-color: rgb(184 119 8 / var(--tw-border-opacity)); +} +.border-l-body{ + --tw-border-opacity: 1; + border-left-color: rgb(252 252 252 / var(--tw-border-opacity)); +} +.border-l-light-gray{ + --tw-border-opacity: 1; + border-left-color: rgb(199 201 217 / var(--tw-border-opacity)); +} +.border-l-dark-blue{ + --tw-border-opacity: 1; + border-left-color: rgb(21 40 75 / var(--tw-border-opacity)); +} +.border-l-lighter-gray{ + --tw-border-opacity: 1; + border-left-color: rgb(242 242 245 / var(--tw-border-opacity)); +} +.border-l-purple-lighter{ + --tw-border-opacity: 1; + border-left-color: rgb(242 244 252 / var(--tw-border-opacity)); +} +.border-l-modal-background{ + border-left-color: rgba(0, 0, 0, 0.3); +} +.border-l-testing{ + --tw-border-opacity: 1; + border-left-color: rgb(147 95 7 / var(--tw-border-opacity)); +} +.border-opacity-0{ + --tw-border-opacity: 0; +} +.border-opacity-5{ + --tw-border-opacity: 0.05; +} +.border-opacity-10{ + --tw-border-opacity: 0.1; +} +.border-opacity-20{ + --tw-border-opacity: 0.2; +} +.border-opacity-25{ + --tw-border-opacity: 0.25; +} +.border-opacity-30{ + --tw-border-opacity: 0.3; +} +.border-opacity-40{ + --tw-border-opacity: 0.4; +} +.border-opacity-50{ + --tw-border-opacity: 0.5; +} +.border-opacity-60{ + --tw-border-opacity: 0.6; +} +.border-opacity-70{ + --tw-border-opacity: 0.7; +} +.border-opacity-75{ + --tw-border-opacity: 0.75; +} +.border-opacity-80{ + --tw-border-opacity: 0.8; +} +.border-opacity-90{ + --tw-border-opacity: 0.9; +} +.border-opacity-95{ + --tw-border-opacity: 0.95; +} +.border-opacity-100{ + --tw-border-opacity: 1; +} +.bg-inherit{ + background-color: inherit; +} +.bg-current{ + background-color: currentColor; +} +.bg-transparent{ + background-color: transparent; +} +.bg-black-50{ + --tw-bg-opacity: 1; + background-color: rgb(246 246 246 / var(--tw-bg-opacity)); +} +.bg-black-100{ + --tw-bg-opacity: 1; + background-color: rgb(236 236 236 / var(--tw-bg-opacity)); +} +.bg-black-200{ + --tw-bg-opacity: 1; + background-color: rgb(208 208 208 / var(--tw-bg-opacity)); +} +.bg-black-300{ + --tw-bg-opacity: 1; + background-color: rgb(179 179 179 / var(--tw-bg-opacity)); +} +.bg-black-400{ + --tw-bg-opacity: 1; + background-color: rgb(123 123 123 / var(--tw-bg-opacity)); +} +.bg-black-500{ + --tw-bg-opacity: 1; + background-color: rgb(66 66 66 / var(--tw-bg-opacity)); +} +.bg-black-600{ + --tw-bg-opacity: 1; + background-color: rgb(59 59 59 / var(--tw-bg-opacity)); +} +.bg-black-700{ + --tw-bg-opacity: 1; + background-color: rgb(50 50 50 / var(--tw-bg-opacity)); +} +.bg-black-800{ + --tw-bg-opacity: 1; + background-color: rgb(40 40 40 / var(--tw-bg-opacity)); +} +.bg-black-900{ + --tw-bg-opacity: 1; + background-color: rgb(32 32 32 / var(--tw-bg-opacity)); +} +.bg-black{ + --tw-bg-opacity: 1; + background-color: rgb(66 66 66 / var(--tw-bg-opacity)); +} +.bg-white{ + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} +.bg-slate-50{ + --tw-bg-opacity: 1; + background-color: rgb(248 250 252 / var(--tw-bg-opacity)); +} +.bg-slate-100{ + --tw-bg-opacity: 1; + background-color: rgb(241 245 249 / var(--tw-bg-opacity)); +} +.bg-slate-200{ + --tw-bg-opacity: 1; + background-color: rgb(226 232 240 / var(--tw-bg-opacity)); +} +.bg-slate-300{ + --tw-bg-opacity: 1; + background-color: rgb(203 213 225 / var(--tw-bg-opacity)); +} +.bg-slate-400{ + --tw-bg-opacity: 1; + background-color: rgb(148 163 184 / var(--tw-bg-opacity)); +} +.bg-slate-500{ + --tw-bg-opacity: 1; + background-color: rgb(100 116 139 / var(--tw-bg-opacity)); +} +.bg-slate-600{ + --tw-bg-opacity: 1; + background-color: rgb(71 85 105 / var(--tw-bg-opacity)); +} +.bg-slate-700{ + --tw-bg-opacity: 1; + background-color: rgb(51 65 85 / var(--tw-bg-opacity)); +} +.bg-slate-800{ + --tw-bg-opacity: 1; + background-color: rgb(30 41 59 / var(--tw-bg-opacity)); +} +.bg-slate-900{ + --tw-bg-opacity: 1; + background-color: rgb(15 23 42 / var(--tw-bg-opacity)); +} +.bg-gray-50{ + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); +} +.bg-gray-100{ + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} +.bg-gray-200{ + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); +} +.bg-gray-300{ + --tw-bg-opacity: 1; + background-color: rgb(209 213 219 / var(--tw-bg-opacity)); +} +.bg-gray-400{ + --tw-bg-opacity: 1; + background-color: rgb(156 163 175 / var(--tw-bg-opacity)); +} +.bg-gray-500{ + --tw-bg-opacity: 1; + background-color: rgb(107 114 128 / var(--tw-bg-opacity)); +} +.bg-gray-600{ + --tw-bg-opacity: 1; + background-color: rgb(75 85 99 / var(--tw-bg-opacity)); +} +.bg-gray-700{ + --tw-bg-opacity: 1; + background-color: rgb(55 65 81 / var(--tw-bg-opacity)); +} +.bg-gray-800{ + --tw-bg-opacity: 1; + background-color: rgb(31 41 55 / var(--tw-bg-opacity)); +} +.bg-gray-900{ + --tw-bg-opacity: 1; + background-color: rgb(17 24 39 / var(--tw-bg-opacity)); +} +.bg-zinc-50{ + --tw-bg-opacity: 1; + background-color: rgb(250 250 250 / var(--tw-bg-opacity)); +} +.bg-zinc-100{ + --tw-bg-opacity: 1; + background-color: rgb(244 244 245 / var(--tw-bg-opacity)); +} +.bg-zinc-200{ + --tw-bg-opacity: 1; + background-color: rgb(228 228 231 / var(--tw-bg-opacity)); +} +.bg-zinc-300{ + --tw-bg-opacity: 1; + background-color: rgb(212 212 216 / var(--tw-bg-opacity)); +} +.bg-zinc-400{ + --tw-bg-opacity: 1; + background-color: rgb(161 161 170 / var(--tw-bg-opacity)); +} +.bg-zinc-500{ + --tw-bg-opacity: 1; + background-color: rgb(113 113 122 / var(--tw-bg-opacity)); +} +.bg-zinc-600{ + --tw-bg-opacity: 1; + background-color: rgb(82 82 91 / var(--tw-bg-opacity)); +} +.bg-zinc-700{ + --tw-bg-opacity: 1; + background-color: rgb(63 63 70 / var(--tw-bg-opacity)); +} +.bg-zinc-800{ + --tw-bg-opacity: 1; + background-color: rgb(39 39 42 / var(--tw-bg-opacity)); +} +.bg-zinc-900{ + --tw-bg-opacity: 1; + background-color: rgb(24 24 27 / var(--tw-bg-opacity)); +} +.bg-neutral-50{ + --tw-bg-opacity: 1; + background-color: rgb(250 250 250 / var(--tw-bg-opacity)); +} +.bg-neutral-100{ + --tw-bg-opacity: 1; + background-color: rgb(245 245 245 / var(--tw-bg-opacity)); +} +.bg-neutral-200{ + --tw-bg-opacity: 1; + background-color: rgb(229 229 229 / var(--tw-bg-opacity)); +} +.bg-neutral-300{ + --tw-bg-opacity: 1; + background-color: rgb(212 212 212 / var(--tw-bg-opacity)); +} +.bg-neutral-400{ + --tw-bg-opacity: 1; + background-color: rgb(163 163 163 / var(--tw-bg-opacity)); +} +.bg-neutral-500{ + --tw-bg-opacity: 1; + background-color: rgb(115 115 115 / var(--tw-bg-opacity)); +} +.bg-neutral-600{ + --tw-bg-opacity: 1; + background-color: rgb(82 82 82 / var(--tw-bg-opacity)); +} +.bg-neutral-700{ + --tw-bg-opacity: 1; + background-color: rgb(64 64 64 / var(--tw-bg-opacity)); +} +.bg-neutral-800{ + --tw-bg-opacity: 1; + background-color: rgb(38 38 38 / var(--tw-bg-opacity)); +} +.bg-neutral-900{ + --tw-bg-opacity: 1; + background-color: rgb(23 23 23 / var(--tw-bg-opacity)); +} +.bg-stone-50{ + --tw-bg-opacity: 1; + background-color: rgb(250 250 249 / var(--tw-bg-opacity)); +} +.bg-stone-100{ + --tw-bg-opacity: 1; + background-color: rgb(245 245 244 / var(--tw-bg-opacity)); +} +.bg-stone-200{ + --tw-bg-opacity: 1; + background-color: rgb(231 229 228 / var(--tw-bg-opacity)); +} +.bg-stone-300{ + --tw-bg-opacity: 1; + background-color: rgb(214 211 209 / var(--tw-bg-opacity)); +} +.bg-stone-400{ + --tw-bg-opacity: 1; + background-color: rgb(168 162 158 / var(--tw-bg-opacity)); +} +.bg-stone-500{ + --tw-bg-opacity: 1; + background-color: rgb(120 113 108 / var(--tw-bg-opacity)); +} +.bg-stone-600{ + --tw-bg-opacity: 1; + background-color: rgb(87 83 78 / var(--tw-bg-opacity)); +} +.bg-stone-700{ + --tw-bg-opacity: 1; + background-color: rgb(68 64 60 / var(--tw-bg-opacity)); +} +.bg-stone-800{ + --tw-bg-opacity: 1; + background-color: rgb(41 37 36 / var(--tw-bg-opacity)); +} +.bg-stone-900{ + --tw-bg-opacity: 1; + background-color: rgb(28 25 23 / var(--tw-bg-opacity)); +} +.bg-red-50{ + --tw-bg-opacity: 1; + background-color: rgb(252 242 242 / var(--tw-bg-opacity)); +} +.bg-red-100{ + --tw-bg-opacity: 1; + background-color: rgb(250 230 230 / var(--tw-bg-opacity)); +} +.bg-red-200{ + --tw-bg-opacity: 1; + background-color: rgb(242 191 191 / var(--tw-bg-opacity)); +} +.bg-red-300{ + --tw-bg-opacity: 1; + background-color: rgb(235 153 153 / var(--tw-bg-opacity)); +} +.bg-red-400{ + --tw-bg-opacity: 1; + background-color: rgb(219 77 77 / var(--tw-bg-opacity)); +} +.bg-red-500{ + --tw-bg-opacity: 1; + background-color: rgb(204 0 0 / var(--tw-bg-opacity)); +} +.bg-red-600{ + --tw-bg-opacity: 1; + background-color: rgb(184 0 0 / var(--tw-bg-opacity)); +} +.bg-red-700{ + --tw-bg-opacity: 1; + background-color: rgb(153 0 0 / var(--tw-bg-opacity)); +} +.bg-red-800{ + --tw-bg-opacity: 1; + background-color: rgb(122 0 0 / var(--tw-bg-opacity)); +} +.bg-red-900{ + --tw-bg-opacity: 1; + background-color: rgb(100 0 0 / var(--tw-bg-opacity)); +} +.bg-red{ + --tw-bg-opacity: 1; + background-color: rgb(204 0 0 / var(--tw-bg-opacity)); +} +.bg-orange-50{ + --tw-bg-opacity: 1; + background-color: rgb(255 250 243 / var(--tw-bg-opacity)); +} +.bg-orange-100{ + --tw-bg-opacity: 1; + background-color: rgb(254 245 231 / var(--tw-bg-opacity)); +} +.bg-orange-200{ + --tw-bg-opacity: 1; + background-color: rgb(253 231 194 / var(--tw-bg-opacity)); +} +.bg-orange-300{ + --tw-bg-opacity: 1; + background-color: rgb(251 216 157 / var(--tw-bg-opacity)); +} +.bg-orange-400{ + --tw-bg-opacity: 1; + background-color: rgb(248 187 84 / var(--tw-bg-opacity)); +} +.bg-orange-500{ + --tw-bg-opacity: 1; + background-color: rgb(245 158 11 / var(--tw-bg-opacity)); +} +.bg-orange-600{ + --tw-bg-opacity: 1; + background-color: rgb(221 142 10 / var(--tw-bg-opacity)); +} +.bg-orange-700{ + --tw-bg-opacity: 1; + background-color: rgb(184 119 8 / var(--tw-bg-opacity)); +} +.bg-orange-800{ + --tw-bg-opacity: 1; + background-color: rgb(147 95 7 / var(--tw-bg-opacity)); +} +.bg-orange-900{ + --tw-bg-opacity: 1; + background-color: rgb(120 77 5 / var(--tw-bg-opacity)); +} +.bg-orange{ + --tw-bg-opacity: 1; + background-color: rgb(245 158 11 / var(--tw-bg-opacity)); +} +.bg-amber-50{ + --tw-bg-opacity: 1; + background-color: rgb(255 251 235 / var(--tw-bg-opacity)); +} +.bg-amber-100{ + --tw-bg-opacity: 1; + background-color: rgb(254 243 199 / var(--tw-bg-opacity)); +} +.bg-amber-200{ + --tw-bg-opacity: 1; + background-color: rgb(253 230 138 / var(--tw-bg-opacity)); +} +.bg-amber-300{ + --tw-bg-opacity: 1; + background-color: rgb(252 211 77 / var(--tw-bg-opacity)); +} +.bg-amber-400{ + --tw-bg-opacity: 1; + background-color: rgb(251 191 36 / var(--tw-bg-opacity)); +} +.bg-amber-500{ + --tw-bg-opacity: 1; + background-color: rgb(245 158 11 / var(--tw-bg-opacity)); +} +.bg-amber-600{ + --tw-bg-opacity: 1; + background-color: rgb(217 119 6 / var(--tw-bg-opacity)); +} +.bg-amber-700{ + --tw-bg-opacity: 1; + background-color: rgb(180 83 9 / var(--tw-bg-opacity)); +} +.bg-amber-800{ + --tw-bg-opacity: 1; + background-color: rgb(146 64 14 / var(--tw-bg-opacity)); +} +.bg-amber-900{ + --tw-bg-opacity: 1; + background-color: rgb(120 53 15 / var(--tw-bg-opacity)); +} +.bg-yellow-50{ + --tw-bg-opacity: 1; + background-color: rgb(253 253 234 / var(--tw-bg-opacity)); +} +.bg-yellow-100{ + --tw-bg-opacity: 1; + background-color: rgb(253 246 178 / var(--tw-bg-opacity)); +} +.bg-yellow-200{ + --tw-bg-opacity: 1; + background-color: rgb(252 233 106 / var(--tw-bg-opacity)); +} +.bg-yellow-300{ + --tw-bg-opacity: 1; + background-color: rgb(250 202 21 / var(--tw-bg-opacity)); +} +.bg-yellow-400{ + --tw-bg-opacity: 1; + background-color: rgb(227 160 8 / var(--tw-bg-opacity)); +} +.bg-yellow-500{ + --tw-bg-opacity: 1; + background-color: rgb(194 120 3 / var(--tw-bg-opacity)); +} +.bg-yellow-600{ + --tw-bg-opacity: 1; + background-color: rgb(159 88 10 / var(--tw-bg-opacity)); +} +.bg-yellow-700{ + --tw-bg-opacity: 1; + background-color: rgb(142 75 16 / var(--tw-bg-opacity)); +} +.bg-yellow-800{ + --tw-bg-opacity: 1; + background-color: rgb(114 59 19 / var(--tw-bg-opacity)); +} +.bg-yellow-900{ + --tw-bg-opacity: 1; + background-color: rgb(99 49 18 / var(--tw-bg-opacity)); +} +.bg-lime-50{ + --tw-bg-opacity: 1; + background-color: rgb(247 254 231 / var(--tw-bg-opacity)); +} +.bg-lime-100{ + --tw-bg-opacity: 1; + background-color: rgb(236 252 203 / var(--tw-bg-opacity)); +} +.bg-lime-200{ + --tw-bg-opacity: 1; + background-color: rgb(217 249 157 / var(--tw-bg-opacity)); +} +.bg-lime-300{ + --tw-bg-opacity: 1; + background-color: rgb(190 242 100 / var(--tw-bg-opacity)); +} +.bg-lime-400{ + --tw-bg-opacity: 1; + background-color: rgb(163 230 53 / var(--tw-bg-opacity)); +} +.bg-lime-500{ + --tw-bg-opacity: 1; + background-color: rgb(132 204 22 / var(--tw-bg-opacity)); +} +.bg-lime-600{ + --tw-bg-opacity: 1; + background-color: rgb(101 163 13 / var(--tw-bg-opacity)); +} +.bg-lime-700{ + --tw-bg-opacity: 1; + background-color: rgb(77 124 15 / var(--tw-bg-opacity)); +} +.bg-lime-800{ + --tw-bg-opacity: 1; + background-color: rgb(63 98 18 / var(--tw-bg-opacity)); +} +.bg-lime-900{ + --tw-bg-opacity: 1; + background-color: rgb(54 83 20 / var(--tw-bg-opacity)); +} +.bg-green-50{ + --tw-bg-opacity: 1; + background-color: rgb(248 250 246 / var(--tw-bg-opacity)); +} +.bg-green-100{ + --tw-bg-opacity: 1; + background-color: rgb(241 246 238 / var(--tw-bg-opacity)); +} +.bg-green-200{ + --tw-bg-opacity: 1; + background-color: rgb(219 232 212 / var(--tw-bg-opacity)); +} +.bg-green-300{ + --tw-bg-opacity: 1; + background-color: rgb(197 217 186 / var(--tw-bg-opacity)); +} +.bg-green-400{ + --tw-bg-opacity: 1; + background-color: rgb(154 189 134 / var(--tw-bg-opacity)); +} +.bg-green-500{ + --tw-bg-opacity: 1; + background-color: rgb(110 161 82 / var(--tw-bg-opacity)); +} +.bg-green-600{ + --tw-bg-opacity: 1; + background-color: rgb(99 145 74 / var(--tw-bg-opacity)); +} +.bg-green-700{ + --tw-bg-opacity: 1; + background-color: rgb(83 121 62 / var(--tw-bg-opacity)); +} +.bg-green-800{ + --tw-bg-opacity: 1; + background-color: rgb(66 97 49 / var(--tw-bg-opacity)); +} +.bg-green-900{ + --tw-bg-opacity: 1; + background-color: rgb(54 79 40 / var(--tw-bg-opacity)); +} +.bg-green{ + --tw-bg-opacity: 1; + background-color: rgb(110 161 82 / var(--tw-bg-opacity)); +} +.bg-emerald-50{ + --tw-bg-opacity: 1; + background-color: rgb(236 253 245 / var(--tw-bg-opacity)); +} +.bg-emerald-100{ + --tw-bg-opacity: 1; + background-color: rgb(209 250 229 / var(--tw-bg-opacity)); +} +.bg-emerald-200{ + --tw-bg-opacity: 1; + background-color: rgb(167 243 208 / var(--tw-bg-opacity)); +} +.bg-emerald-300{ + --tw-bg-opacity: 1; + background-color: rgb(110 231 183 / var(--tw-bg-opacity)); +} +.bg-emerald-400{ + --tw-bg-opacity: 1; + background-color: rgb(52 211 153 / var(--tw-bg-opacity)); +} +.bg-emerald-500{ + --tw-bg-opacity: 1; + background-color: rgb(16 185 129 / var(--tw-bg-opacity)); +} +.bg-emerald-600{ + --tw-bg-opacity: 1; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)); +} +.bg-emerald-700{ + --tw-bg-opacity: 1; + background-color: rgb(4 120 87 / var(--tw-bg-opacity)); +} +.bg-emerald-800{ + --tw-bg-opacity: 1; + background-color: rgb(6 95 70 / var(--tw-bg-opacity)); +} +.bg-emerald-900{ + --tw-bg-opacity: 1; + background-color: rgb(6 78 59 / var(--tw-bg-opacity)); +} +.bg-teal-50{ + --tw-bg-opacity: 1; + background-color: rgb(237 250 250 / var(--tw-bg-opacity)); +} +.bg-teal-100{ + --tw-bg-opacity: 1; + background-color: rgb(213 245 246 / var(--tw-bg-opacity)); +} +.bg-teal-200{ + --tw-bg-opacity: 1; + background-color: rgb(175 236 239 / var(--tw-bg-opacity)); +} +.bg-teal-300{ + --tw-bg-opacity: 1; + background-color: rgb(126 220 226 / var(--tw-bg-opacity)); +} +.bg-teal-400{ + --tw-bg-opacity: 1; + background-color: rgb(22 189 202 / var(--tw-bg-opacity)); +} +.bg-teal-500{ + --tw-bg-opacity: 1; + background-color: rgb(6 148 162 / var(--tw-bg-opacity)); +} +.bg-teal-600{ + --tw-bg-opacity: 1; + background-color: rgb(4 116 129 / var(--tw-bg-opacity)); +} +.bg-teal-700{ + --tw-bg-opacity: 1; + background-color: rgb(3 102 114 / var(--tw-bg-opacity)); +} +.bg-teal-800{ + --tw-bg-opacity: 1; + background-color: rgb(5 80 92 / var(--tw-bg-opacity)); +} +.bg-teal-900{ + --tw-bg-opacity: 1; + background-color: rgb(1 68 81 / var(--tw-bg-opacity)); +} +.bg-cyan-50{ + --tw-bg-opacity: 1; + background-color: rgb(236 254 255 / var(--tw-bg-opacity)); +} +.bg-cyan-100{ + --tw-bg-opacity: 1; + background-color: rgb(207 250 254 / var(--tw-bg-opacity)); +} +.bg-cyan-200{ + --tw-bg-opacity: 1; + background-color: rgb(165 243 252 / var(--tw-bg-opacity)); +} +.bg-cyan-300{ + --tw-bg-opacity: 1; + background-color: rgb(103 232 249 / var(--tw-bg-opacity)); +} +.bg-cyan-400{ + --tw-bg-opacity: 1; + background-color: rgb(34 211 238 / var(--tw-bg-opacity)); +} +.bg-cyan-500{ + --tw-bg-opacity: 1; + background-color: rgb(6 182 212 / var(--tw-bg-opacity)); +} +.bg-cyan-600{ + --tw-bg-opacity: 1; + background-color: rgb(8 145 178 / var(--tw-bg-opacity)); +} +.bg-cyan-700{ + --tw-bg-opacity: 1; + background-color: rgb(14 116 144 / var(--tw-bg-opacity)); +} +.bg-cyan-800{ + --tw-bg-opacity: 1; + background-color: rgb(21 94 117 / var(--tw-bg-opacity)); +} +.bg-cyan-900{ + --tw-bg-opacity: 1; + background-color: rgb(22 78 99 / var(--tw-bg-opacity)); +} +.bg-sky-50{ + --tw-bg-opacity: 1; + background-color: rgb(240 249 255 / var(--tw-bg-opacity)); +} +.bg-sky-100{ + --tw-bg-opacity: 1; + background-color: rgb(224 242 254 / var(--tw-bg-opacity)); +} +.bg-sky-200{ + --tw-bg-opacity: 1; + background-color: rgb(186 230 253 / var(--tw-bg-opacity)); +} +.bg-sky-300{ + --tw-bg-opacity: 1; + background-color: rgb(125 211 252 / var(--tw-bg-opacity)); +} +.bg-sky-400{ + --tw-bg-opacity: 1; + background-color: rgb(56 189 248 / var(--tw-bg-opacity)); +} +.bg-sky-500{ + --tw-bg-opacity: 1; + background-color: rgb(14 165 233 / var(--tw-bg-opacity)); +} +.bg-sky-600{ + --tw-bg-opacity: 1; + background-color: rgb(2 132 199 / var(--tw-bg-opacity)); +} +.bg-sky-700{ + --tw-bg-opacity: 1; + background-color: rgb(3 105 161 / var(--tw-bg-opacity)); +} +.bg-sky-800{ + --tw-bg-opacity: 1; + background-color: rgb(7 89 133 / var(--tw-bg-opacity)); +} +.bg-sky-900{ + --tw-bg-opacity: 1; + background-color: rgb(12 74 110 / var(--tw-bg-opacity)); +} +.bg-blue-50{ + --tw-bg-opacity: 1; + background-color: rgb(242 248 251 / var(--tw-bg-opacity)); +} +.bg-blue-100{ + --tw-bg-opacity: 1; + background-color: rgb(230 241 246 / var(--tw-bg-opacity)); +} +.bg-blue-200{ + --tw-bg-opacity: 1; + background-color: rgb(191 219 233 / var(--tw-bg-opacity)); +} +.bg-blue-300{ + --tw-bg-opacity: 1; + background-color: rgb(153 197 219 / var(--tw-bg-opacity)); +} +.bg-blue-400{ + --tw-bg-opacity: 1; + background-color: rgb(77 154 193 / var(--tw-bg-opacity)); +} +.bg-blue-500{ + --tw-bg-opacity: 1; + background-color: rgb(0 110 166 / var(--tw-bg-opacity)); +} +.bg-blue-600{ + --tw-bg-opacity: 1; + background-color: rgb(0 99 149 / var(--tw-bg-opacity)); +} +.bg-blue-700{ + --tw-bg-opacity: 1; + background-color: rgb(0 83 125 / var(--tw-bg-opacity)); +} +.bg-blue-800{ + --tw-bg-opacity: 1; + background-color: rgb(0 66 100 / var(--tw-bg-opacity)); +} +.bg-blue-900{ + --tw-bg-opacity: 1; + background-color: rgb(0 54 81 / var(--tw-bg-opacity)); +} +.bg-blue{ + --tw-bg-opacity: 1; + background-color: rgb(0 110 166 / var(--tw-bg-opacity)); +} +.bg-indigo-50{ + --tw-bg-opacity: 1; + background-color: rgb(240 245 255 / var(--tw-bg-opacity)); +} +.bg-indigo-100{ + --tw-bg-opacity: 1; + background-color: rgb(229 237 255 / var(--tw-bg-opacity)); +} +.bg-indigo-200{ + --tw-bg-opacity: 1; + background-color: rgb(205 219 254 / var(--tw-bg-opacity)); +} +.bg-indigo-300{ + --tw-bg-opacity: 1; + background-color: rgb(180 198 252 / var(--tw-bg-opacity)); +} +.bg-indigo-400{ + --tw-bg-opacity: 1; + background-color: rgb(141 162 251 / var(--tw-bg-opacity)); +} +.bg-indigo-500{ + --tw-bg-opacity: 1; + background-color: rgb(104 117 245 / var(--tw-bg-opacity)); +} +.bg-indigo-600{ + --tw-bg-opacity: 1; + background-color: rgb(88 80 236 / var(--tw-bg-opacity)); +} +.bg-indigo-700{ + --tw-bg-opacity: 1; + background-color: rgb(81 69 205 / var(--tw-bg-opacity)); +} +.bg-indigo-800{ + --tw-bg-opacity: 1; + background-color: rgb(66 56 157 / var(--tw-bg-opacity)); +} +.bg-indigo-900{ + --tw-bg-opacity: 1; + background-color: rgb(54 47 120 / var(--tw-bg-opacity)); +} +.bg-violet-50{ + --tw-bg-opacity: 1; + background-color: rgb(245 243 255 / var(--tw-bg-opacity)); +} +.bg-violet-100{ + --tw-bg-opacity: 1; + background-color: rgb(237 233 254 / var(--tw-bg-opacity)); +} +.bg-violet-200{ + --tw-bg-opacity: 1; + background-color: rgb(221 214 254 / var(--tw-bg-opacity)); +} +.bg-violet-300{ + --tw-bg-opacity: 1; + background-color: rgb(196 181 253 / var(--tw-bg-opacity)); +} +.bg-violet-400{ + --tw-bg-opacity: 1; + background-color: rgb(167 139 250 / var(--tw-bg-opacity)); +} +.bg-violet-500{ + --tw-bg-opacity: 1; + background-color: rgb(139 92 246 / var(--tw-bg-opacity)); +} +.bg-violet-600{ + --tw-bg-opacity: 1; + background-color: rgb(124 58 237 / var(--tw-bg-opacity)); +} +.bg-violet-700{ + --tw-bg-opacity: 1; + background-color: rgb(109 40 217 / var(--tw-bg-opacity)); +} +.bg-violet-800{ + --tw-bg-opacity: 1; + background-color: rgb(91 33 182 / var(--tw-bg-opacity)); +} +.bg-violet-900{ + --tw-bg-opacity: 1; + background-color: rgb(76 29 149 / var(--tw-bg-opacity)); +} +.bg-purple-50{ + --tw-bg-opacity: 1; + background-color: rgb(247 247 249 / var(--tw-bg-opacity)); +} +.bg-purple-100{ + --tw-bg-opacity: 1; + background-color: rgb(238 238 243 / var(--tw-bg-opacity)); +} +.bg-purple-200{ + --tw-bg-opacity: 1; + background-color: rgb(213 213 226 / var(--tw-bg-opacity)); +} +.bg-purple-300{ + --tw-bg-opacity: 1; + background-color: rgb(187 188 209 / var(--tw-bg-opacity)); +} +.bg-purple-400{ + --tw-bg-opacity: 1; + background-color: rgb(136 138 174 / var(--tw-bg-opacity)); +} +.bg-purple-500{ + --tw-bg-opacity: 1; + background-color: rgb(85 88 139 / var(--tw-bg-opacity)); +} +.bg-purple-600{ + --tw-bg-opacity: 1; + background-color: rgb(77 79 125 / var(--tw-bg-opacity)); +} +.bg-purple-700{ + --tw-bg-opacity: 1; + background-color: rgb(64 66 104 / var(--tw-bg-opacity)); +} +.bg-purple-800{ + --tw-bg-opacity: 1; + background-color: rgb(51 53 83 / var(--tw-bg-opacity)); +} +.bg-purple-900{ + --tw-bg-opacity: 1; + background-color: rgb(42 43 68 / var(--tw-bg-opacity)); +} +.bg-purple{ + --tw-bg-opacity: 1; + background-color: rgb(85 88 139 / var(--tw-bg-opacity)); +} +.bg-fuchsia-50{ + --tw-bg-opacity: 1; + background-color: rgb(253 244 255 / var(--tw-bg-opacity)); +} +.bg-fuchsia-100{ + --tw-bg-opacity: 1; + background-color: rgb(250 232 255 / var(--tw-bg-opacity)); +} +.bg-fuchsia-200{ + --tw-bg-opacity: 1; + background-color: rgb(245 208 254 / var(--tw-bg-opacity)); +} +.bg-fuchsia-300{ + --tw-bg-opacity: 1; + background-color: rgb(240 171 252 / var(--tw-bg-opacity)); +} +.bg-fuchsia-400{ + --tw-bg-opacity: 1; + background-color: rgb(232 121 249 / var(--tw-bg-opacity)); +} +.bg-fuchsia-500{ + --tw-bg-opacity: 1; + background-color: rgb(217 70 239 / var(--tw-bg-opacity)); +} +.bg-fuchsia-600{ + --tw-bg-opacity: 1; + background-color: rgb(192 38 211 / var(--tw-bg-opacity)); +} +.bg-fuchsia-700{ + --tw-bg-opacity: 1; + background-color: rgb(162 28 175 / var(--tw-bg-opacity)); +} +.bg-fuchsia-800{ + --tw-bg-opacity: 1; + background-color: rgb(134 25 143 / var(--tw-bg-opacity)); +} +.bg-fuchsia-900{ + --tw-bg-opacity: 1; + background-color: rgb(112 26 117 / var(--tw-bg-opacity)); +} +.bg-pink-50{ + --tw-bg-opacity: 1; + background-color: rgb(253 242 248 / var(--tw-bg-opacity)); +} +.bg-pink-100{ + --tw-bg-opacity: 1; + background-color: rgb(252 232 243 / var(--tw-bg-opacity)); +} +.bg-pink-200{ + --tw-bg-opacity: 1; + background-color: rgb(250 209 232 / var(--tw-bg-opacity)); +} +.bg-pink-300{ + --tw-bg-opacity: 1; + background-color: rgb(248 180 217 / var(--tw-bg-opacity)); +} +.bg-pink-400{ + --tw-bg-opacity: 1; + background-color: rgb(241 126 184 / var(--tw-bg-opacity)); +} +.bg-pink-500{ + --tw-bg-opacity: 1; + background-color: rgb(231 70 148 / var(--tw-bg-opacity)); +} +.bg-pink-600{ + --tw-bg-opacity: 1; + background-color: rgb(214 31 105 / var(--tw-bg-opacity)); +} +.bg-pink-700{ + --tw-bg-opacity: 1; + background-color: rgb(191 18 93 / var(--tw-bg-opacity)); +} +.bg-pink-800{ + --tw-bg-opacity: 1; + background-color: rgb(153 21 75 / var(--tw-bg-opacity)); +} +.bg-pink-900{ + --tw-bg-opacity: 1; + background-color: rgb(117 26 61 / var(--tw-bg-opacity)); +} +.bg-rose-50{ + --tw-bg-opacity: 1; + background-color: rgb(255 241 242 / var(--tw-bg-opacity)); +} +.bg-rose-100{ + --tw-bg-opacity: 1; + background-color: rgb(255 228 230 / var(--tw-bg-opacity)); +} +.bg-rose-200{ + --tw-bg-opacity: 1; + background-color: rgb(254 205 211 / var(--tw-bg-opacity)); +} +.bg-rose-300{ + --tw-bg-opacity: 1; + background-color: rgb(253 164 175 / var(--tw-bg-opacity)); +} +.bg-rose-400{ + --tw-bg-opacity: 1; + background-color: rgb(251 113 133 / var(--tw-bg-opacity)); +} +.bg-rose-500{ + --tw-bg-opacity: 1; + background-color: rgb(244 63 94 / var(--tw-bg-opacity)); +} +.bg-rose-600{ + --tw-bg-opacity: 1; + background-color: rgb(225 29 72 / var(--tw-bg-opacity)); +} +.bg-rose-700{ + --tw-bg-opacity: 1; + background-color: rgb(190 18 60 / var(--tw-bg-opacity)); +} +.bg-rose-800{ + --tw-bg-opacity: 1; + background-color: rgb(159 18 57 / var(--tw-bg-opacity)); +} +.bg-rose-900{ + --tw-bg-opacity: 1; + background-color: rgb(136 19 55 / var(--tw-bg-opacity)); +} +.bg-rose{ + --tw-bg-opacity: 1; + background-color: rgb(244 63 94 / var(--tw-bg-opacity)); +} +.bg-lilac-100{ + --tw-bg-opacity: 1; + background-color: rgb(245 247 250 / var(--tw-bg-opacity)); +} +.bg-lilac-300{ + --tw-bg-opacity: 1; + background-color: rgb(237 240 252 / var(--tw-bg-opacity)); +} +.bg-lilac-900{ + --tw-bg-opacity: 1; + background-color: rgb(220 226 249 / var(--tw-bg-opacity)); +} +.bg-lilac{ + --tw-bg-opacity: 1; + background-color: rgb(248 249 254 / var(--tw-bg-opacity)); +} +.bg-golden-900{ + --tw-bg-opacity: 1; + background-color: rgb(191 184 130 / var(--tw-bg-opacity)); +} +.bg-golden{ + --tw-bg-opacity: 1; + background-color: rgb(209 201 137 / var(--tw-bg-opacity)); +} +.bg-status-success{ + --tw-bg-opacity: 1; + background-color: rgb(241 246 238 / var(--tw-bg-opacity)); +} +.bg-status-danger{ + --tw-bg-opacity: 1; + background-color: rgb(250 230 230 / var(--tw-bg-opacity)); +} +.bg-status-sent{ + --tw-bg-opacity: 1; + background-color: rgb(254 245 231 / var(--tw-bg-opacity)); +} +.bg-status-viewed{ + --tw-bg-opacity: 1; + background-color: rgb(238 238 243 / var(--tw-bg-opacity)); +} +.bg-status-draft{ + --tw-bg-opacity: 1; + background-color: rgb(236 236 236 / var(--tw-bg-opacity)); +} +.bg-status-partial{ + --tw-bg-opacity: 1; + background-color: rgb(230 241 246 / var(--tw-bg-opacity)); +} +.bg-status-canceled{ + --tw-bg-opacity: 1; + background-color: rgb(40 40 40 / var(--tw-bg-opacity)); +} +.bg-status-warning{ + --tw-bg-opacity: 1; + background-color: rgb(254 245 231 / var(--tw-bg-opacity)); +} +.bg-text-status-success{ + --tw-bg-opacity: 1; + background-color: rgb(99 145 74 / var(--tw-bg-opacity)); +} +.bg-text-status-danger{ + --tw-bg-opacity: 1; + background-color: rgb(184 0 0 / var(--tw-bg-opacity)); +} +.bg-text-status-sent{ + --tw-bg-opacity: 1; + background-color: rgb(221 142 10 / var(--tw-bg-opacity)); +} +.bg-text-status-viewed{ + --tw-bg-opacity: 1; + background-color: rgb(77 79 125 / var(--tw-bg-opacity)); +} +.bg-text-status-draft{ + --tw-bg-opacity: 1; + background-color: rgb(59 59 59 / var(--tw-bg-opacity)); +} +.bg-text-status-partial{ + --tw-bg-opacity: 1; + background-color: rgb(0 99 149 / var(--tw-bg-opacity)); +} +.bg-text-status-canceled{ + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} +.bg-text-status-warning{ + --tw-bg-opacity: 1; + background-color: rgb(184 119 8 / var(--tw-bg-opacity)); +} +.bg-body{ + --tw-bg-opacity: 1; + background-color: rgb(252 252 252 / var(--tw-bg-opacity)); +} +.bg-light-gray{ + --tw-bg-opacity: 1; + background-color: rgb(199 201 217 / var(--tw-bg-opacity)); +} +.bg-dark-blue{ + --tw-bg-opacity: 1; + background-color: rgb(21 40 75 / var(--tw-bg-opacity)); +} +.bg-lighter-gray{ + --tw-bg-opacity: 1; + background-color: rgb(242 242 245 / var(--tw-bg-opacity)); +} +.bg-purple-lighter{ + --tw-bg-opacity: 1; + background-color: rgb(242 244 252 / var(--tw-bg-opacity)); +} +.bg-modal-background{ + background-color: rgba(0, 0, 0, 0.3); +} +.bg-testing{ + --tw-bg-opacity: 1; + background-color: rgb(147 95 7 / var(--tw-bg-opacity)); +} +.bg-opacity-0{ + --tw-bg-opacity: 0; +} +.bg-opacity-5{ + --tw-bg-opacity: 0.05; +} +.bg-opacity-10{ + --tw-bg-opacity: 0.1; +} +.bg-opacity-20{ + --tw-bg-opacity: 0.2; +} +.bg-opacity-25{ + --tw-bg-opacity: 0.25; +} +.bg-opacity-30{ + --tw-bg-opacity: 0.3; +} +.bg-opacity-40{ + --tw-bg-opacity: 0.4; +} +.bg-opacity-50{ + --tw-bg-opacity: 0.5; +} +.bg-opacity-60{ + --tw-bg-opacity: 0.6; +} +.bg-opacity-70{ + --tw-bg-opacity: 0.7; +} +.bg-opacity-75{ + --tw-bg-opacity: 0.75; +} +.bg-opacity-80{ + --tw-bg-opacity: 0.8; +} +.bg-opacity-90{ + --tw-bg-opacity: 0.9; +} +.bg-opacity-95{ + --tw-bg-opacity: 0.95; +} +.bg-opacity-100{ + --tw-bg-opacity: 1; +} +.bg-none{ + background-image: none; +} +.bg-gradient-to-t{ + background-image: -webkit-gradient(linear, left bottom, left top, from(var(--tw-gradient-stops))); + background-image: linear-gradient(to top, var(--tw-gradient-stops)); +} +.bg-gradient-to-tr{ + background-image: -webkit-gradient(linear, left bottom, right top, from(var(--tw-gradient-stops))); + background-image: linear-gradient(to top right, var(--tw-gradient-stops)); +} +.bg-gradient-to-r{ + background-image: -webkit-gradient(linear, left top, right top, from(var(--tw-gradient-stops))); + background-image: linear-gradient(to right, var(--tw-gradient-stops)); +} +.bg-gradient-to-br{ + background-image: -webkit-gradient(linear, left top, right bottom, from(var(--tw-gradient-stops))); + background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); +} +.bg-gradient-to-b{ + background-image: -webkit-gradient(linear, left top, left bottom, from(var(--tw-gradient-stops))); + background-image: linear-gradient(to bottom, var(--tw-gradient-stops)); +} +.bg-gradient-to-bl{ + background-image: -webkit-gradient(linear, right top, left bottom, from(var(--tw-gradient-stops))); + background-image: linear-gradient(to bottom left, var(--tw-gradient-stops)); +} +.bg-gradient-to-l{ + background-image: -webkit-gradient(linear, right top, left top, from(var(--tw-gradient-stops))); + background-image: linear-gradient(to left, var(--tw-gradient-stops)); +} +.bg-gradient-to-tl{ + background-image: -webkit-gradient(linear, right bottom, left top, from(var(--tw-gradient-stops))); + background-image: linear-gradient(to top left, var(--tw-gradient-stops)); +} +.from-inherit{ + --tw-gradient-from: inherit; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(255 255 255 / 0)); +} +.from-current{ + --tw-gradient-from: currentColor; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(255 255 255 / 0)); +} +.from-transparent{ + --tw-gradient-from: transparent; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 0 0 / 0)); +} +.from-black-50{ + --tw-gradient-from: #f6f6f6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(246 246 246 / 0)); +} +.from-black-100{ + --tw-gradient-from: #ececec; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(236 236 236 / 0)); +} +.from-black-200{ + --tw-gradient-from: #d0d0d0; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(208 208 208 / 0)); +} +.from-black-300{ + --tw-gradient-from: #b3b3b3; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(179 179 179 / 0)); +} +.from-black-400{ + --tw-gradient-from: #7b7b7b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(123 123 123 / 0)); +} +.from-black-500{ + --tw-gradient-from: #424242; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(66 66 66 / 0)); +} +.from-black-600{ + --tw-gradient-from: #3b3b3b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(59 59 59 / 0)); +} +.from-black-700{ + --tw-gradient-from: #323232; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(50 50 50 / 0)); +} +.from-black-800{ + --tw-gradient-from: #282828; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(40 40 40 / 0)); +} +.from-black-900{ + --tw-gradient-from: #202020; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(32 32 32 / 0)); +} +.from-black{ + --tw-gradient-from: #424242; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(66 66 66 / 0)); +} +.from-white{ + --tw-gradient-from: #ffffff; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(255 255 255 / 0)); +} +.from-slate-50{ + --tw-gradient-from: #f8fafc; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(248 250 252 / 0)); +} +.from-slate-100{ + --tw-gradient-from: #f1f5f9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(241 245 249 / 0)); +} +.from-slate-200{ + --tw-gradient-from: #e2e8f0; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(226 232 240 / 0)); +} +.from-slate-300{ + --tw-gradient-from: #cbd5e1; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(203 213 225 / 0)); +} +.from-slate-400{ + --tw-gradient-from: #94a3b8; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(148 163 184 / 0)); +} +.from-slate-500{ + --tw-gradient-from: #64748b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(100 116 139 / 0)); +} +.from-slate-600{ + --tw-gradient-from: #475569; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(71 85 105 / 0)); +} +.from-slate-700{ + --tw-gradient-from: #334155; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(51 65 85 / 0)); +} +.from-slate-800{ + --tw-gradient-from: #1e293b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(30 41 59 / 0)); +} +.from-slate-900{ + --tw-gradient-from: #0f172a; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(15 23 42 / 0)); +} +.from-gray-50{ + --tw-gradient-from: #F9FAFB; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(249 250 251 / 0)); +} +.from-gray-100{ + --tw-gradient-from: #F3F4F6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(243 244 246 / 0)); +} +.from-gray-200{ + --tw-gradient-from: #E5E7EB; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(229 231 235 / 0)); +} +.from-gray-300{ + --tw-gradient-from: #D1D5DB; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(209 213 219 / 0)); +} +.from-gray-400{ + --tw-gradient-from: #9CA3AF; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(156 163 175 / 0)); +} +.from-gray-500{ + --tw-gradient-from: #6B7280; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(107 114 128 / 0)); +} +.from-gray-600{ + --tw-gradient-from: #4B5563; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(75 85 99 / 0)); +} +.from-gray-700{ + --tw-gradient-from: #374151; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(55 65 81 / 0)); +} +.from-gray-800{ + --tw-gradient-from: #1F2937; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(31 41 55 / 0)); +} +.from-gray-900{ + --tw-gradient-from: #111827; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(17 24 39 / 0)); +} +.from-zinc-50{ + --tw-gradient-from: #fafafa; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(250 250 250 / 0)); +} +.from-zinc-100{ + --tw-gradient-from: #f4f4f5; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(244 244 245 / 0)); +} +.from-zinc-200{ + --tw-gradient-from: #e4e4e7; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(228 228 231 / 0)); +} +.from-zinc-300{ + --tw-gradient-from: #d4d4d8; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(212 212 216 / 0)); +} +.from-zinc-400{ + --tw-gradient-from: #a1a1aa; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(161 161 170 / 0)); +} +.from-zinc-500{ + --tw-gradient-from: #71717a; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(113 113 122 / 0)); +} +.from-zinc-600{ + --tw-gradient-from: #52525b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(82 82 91 / 0)); +} +.from-zinc-700{ + --tw-gradient-from: #3f3f46; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(63 63 70 / 0)); +} +.from-zinc-800{ + --tw-gradient-from: #27272a; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(39 39 42 / 0)); +} +.from-zinc-900{ + --tw-gradient-from: #18181b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(24 24 27 / 0)); +} +.from-neutral-50{ + --tw-gradient-from: #fafafa; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(250 250 250 / 0)); +} +.from-neutral-100{ + --tw-gradient-from: #f5f5f5; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(245 245 245 / 0)); +} +.from-neutral-200{ + --tw-gradient-from: #e5e5e5; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(229 229 229 / 0)); +} +.from-neutral-300{ + --tw-gradient-from: #d4d4d4; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(212 212 212 / 0)); +} +.from-neutral-400{ + --tw-gradient-from: #a3a3a3; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(163 163 163 / 0)); +} +.from-neutral-500{ + --tw-gradient-from: #737373; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(115 115 115 / 0)); +} +.from-neutral-600{ + --tw-gradient-from: #525252; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(82 82 82 / 0)); +} +.from-neutral-700{ + --tw-gradient-from: #404040; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(64 64 64 / 0)); +} +.from-neutral-800{ + --tw-gradient-from: #262626; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(38 38 38 / 0)); +} +.from-neutral-900{ + --tw-gradient-from: #171717; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(23 23 23 / 0)); +} +.from-stone-50{ + --tw-gradient-from: #fafaf9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(250 250 249 / 0)); +} +.from-stone-100{ + --tw-gradient-from: #f5f5f4; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(245 245 244 / 0)); +} +.from-stone-200{ + --tw-gradient-from: #e7e5e4; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(231 229 228 / 0)); +} +.from-stone-300{ + --tw-gradient-from: #d6d3d1; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(214 211 209 / 0)); +} +.from-stone-400{ + --tw-gradient-from: #a8a29e; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(168 162 158 / 0)); +} +.from-stone-500{ + --tw-gradient-from: #78716c; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(120 113 108 / 0)); +} +.from-stone-600{ + --tw-gradient-from: #57534e; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(87 83 78 / 0)); +} +.from-stone-700{ + --tw-gradient-from: #44403c; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(68 64 60 / 0)); +} +.from-stone-800{ + --tw-gradient-from: #292524; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(41 37 36 / 0)); +} +.from-stone-900{ + --tw-gradient-from: #1c1917; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(28 25 23 / 0)); +} +.from-red-50{ + --tw-gradient-from: #fcf2f2; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(252 242 242 / 0)); +} +.from-red-100{ + --tw-gradient-from: #fae6e6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(250 230 230 / 0)); +} +.from-red-200{ + --tw-gradient-from: #f2bfbf; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(242 191 191 / 0)); +} +.from-red-300{ + --tw-gradient-from: #eb9999; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(235 153 153 / 0)); +} +.from-red-400{ + --tw-gradient-from: #db4d4d; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(219 77 77 / 0)); +} +.from-red-500{ + --tw-gradient-from: #cc0000; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(204 0 0 / 0)); +} +.from-red-600{ + --tw-gradient-from: #b80000; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(184 0 0 / 0)); +} +.from-red-700{ + --tw-gradient-from: #990000; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(153 0 0 / 0)); +} +.from-red-800{ + --tw-gradient-from: #7a0000; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(122 0 0 / 0)); +} +.from-red-900{ + --tw-gradient-from: #640000; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(100 0 0 / 0)); +} +.from-red{ + --tw-gradient-from: #cc0000; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(204 0 0 / 0)); +} +.from-orange-50{ + --tw-gradient-from: #fffaf3; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(255 250 243 / 0)); +} +.from-orange-100{ + --tw-gradient-from: #fef5e7; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(254 245 231 / 0)); +} +.from-orange-200{ + --tw-gradient-from: #fde7c2; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(253 231 194 / 0)); +} +.from-orange-300{ + --tw-gradient-from: #fbd89d; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(251 216 157 / 0)); +} +.from-orange-400{ + --tw-gradient-from: #f8bb54; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(248 187 84 / 0)); +} +.from-orange-500{ + --tw-gradient-from: #f59e0b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(245 158 11 / 0)); +} +.from-orange-600{ + --tw-gradient-from: #dd8e0a; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(221 142 10 / 0)); +} +.from-orange-700{ + --tw-gradient-from: #b87708; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(184 119 8 / 0)); +} +.from-orange-800{ + --tw-gradient-from: #935f07; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(147 95 7 / 0)); +} +.from-orange-900{ + --tw-gradient-from: #784d05; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(120 77 5 / 0)); +} +.from-orange{ + --tw-gradient-from: #f59e0b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(245 158 11 / 0)); +} +.from-amber-50{ + --tw-gradient-from: #fffbeb; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(255 251 235 / 0)); +} +.from-amber-100{ + --tw-gradient-from: #fef3c7; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(254 243 199 / 0)); +} +.from-amber-200{ + --tw-gradient-from: #fde68a; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(253 230 138 / 0)); +} +.from-amber-300{ + --tw-gradient-from: #fcd34d; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(252 211 77 / 0)); +} +.from-amber-400{ + --tw-gradient-from: #fbbf24; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(251 191 36 / 0)); +} +.from-amber-500{ + --tw-gradient-from: #f59e0b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(245 158 11 / 0)); +} +.from-amber-600{ + --tw-gradient-from: #d97706; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(217 119 6 / 0)); +} +.from-amber-700{ + --tw-gradient-from: #b45309; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(180 83 9 / 0)); +} +.from-amber-800{ + --tw-gradient-from: #92400e; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(146 64 14 / 0)); +} +.from-amber-900{ + --tw-gradient-from: #78350f; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(120 53 15 / 0)); +} +.from-yellow-50{ + --tw-gradient-from: #FDFDEA; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(253 253 234 / 0)); +} +.from-yellow-100{ + --tw-gradient-from: #FDF6B2; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(253 246 178 / 0)); +} +.from-yellow-200{ + --tw-gradient-from: #FCE96A; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(252 233 106 / 0)); +} +.from-yellow-300{ + --tw-gradient-from: #FACA15; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(250 202 21 / 0)); +} +.from-yellow-400{ + --tw-gradient-from: #E3A008; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(227 160 8 / 0)); +} +.from-yellow-500{ + --tw-gradient-from: #C27803; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(194 120 3 / 0)); +} +.from-yellow-600{ + --tw-gradient-from: #9F580A; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(159 88 10 / 0)); +} +.from-yellow-700{ + --tw-gradient-from: #8E4B10; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(142 75 16 / 0)); +} +.from-yellow-800{ + --tw-gradient-from: #723B13; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(114 59 19 / 0)); +} +.from-yellow-900{ + --tw-gradient-from: #633112; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(99 49 18 / 0)); +} +.from-lime-50{ + --tw-gradient-from: #f7fee7; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(247 254 231 / 0)); +} +.from-lime-100{ + --tw-gradient-from: #ecfccb; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(236 252 203 / 0)); +} +.from-lime-200{ + --tw-gradient-from: #d9f99d; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(217 249 157 / 0)); +} +.from-lime-300{ + --tw-gradient-from: #bef264; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(190 242 100 / 0)); +} +.from-lime-400{ + --tw-gradient-from: #a3e635; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(163 230 53 / 0)); +} +.from-lime-500{ + --tw-gradient-from: #84cc16; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(132 204 22 / 0)); +} +.from-lime-600{ + --tw-gradient-from: #65a30d; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(101 163 13 / 0)); +} +.from-lime-700{ + --tw-gradient-from: #4d7c0f; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(77 124 15 / 0)); +} +.from-lime-800{ + --tw-gradient-from: #3f6212; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(63 98 18 / 0)); +} +.from-lime-900{ + --tw-gradient-from: #365314; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(54 83 20 / 0)); +} +.from-green-50{ + --tw-gradient-from: #f8faf6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(248 250 246 / 0)); +} +.from-green-100{ + --tw-gradient-from: #f1f6ee; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(241 246 238 / 0)); +} +.from-green-200{ + --tw-gradient-from: #dbe8d4; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(219 232 212 / 0)); +} +.from-green-300{ + --tw-gradient-from: #c5d9ba; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(197 217 186 / 0)); +} +.from-green-400{ + --tw-gradient-from: #9abd86; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(154 189 134 / 0)); +} +.from-green-500{ + --tw-gradient-from: #6ea152; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(110 161 82 / 0)); +} +.from-green-600{ + --tw-gradient-from: #63914a; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(99 145 74 / 0)); +} +.from-green-700{ + --tw-gradient-from: #53793e; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(83 121 62 / 0)); +} +.from-green-800{ + --tw-gradient-from: #426131; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(66 97 49 / 0)); +} +.from-green-900{ + --tw-gradient-from: #364f28; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(54 79 40 / 0)); +} +.from-green{ + --tw-gradient-from: #6ea152; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(110 161 82 / 0)); +} +.from-emerald-50{ + --tw-gradient-from: #ecfdf5; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(236 253 245 / 0)); +} +.from-emerald-100{ + --tw-gradient-from: #d1fae5; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(209 250 229 / 0)); +} +.from-emerald-200{ + --tw-gradient-from: #a7f3d0; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(167 243 208 / 0)); +} +.from-emerald-300{ + --tw-gradient-from: #6ee7b7; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(110 231 183 / 0)); +} +.from-emerald-400{ + --tw-gradient-from: #34d399; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(52 211 153 / 0)); +} +.from-emerald-500{ + --tw-gradient-from: #10b981; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(16 185 129 / 0)); +} +.from-emerald-600{ + --tw-gradient-from: #059669; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(5 150 105 / 0)); +} +.from-emerald-700{ + --tw-gradient-from: #047857; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(4 120 87 / 0)); +} +.from-emerald-800{ + --tw-gradient-from: #065f46; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(6 95 70 / 0)); +} +.from-emerald-900{ + --tw-gradient-from: #064e3b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(6 78 59 / 0)); +} +.from-teal-50{ + --tw-gradient-from: #EDFAFA; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(237 250 250 / 0)); +} +.from-teal-100{ + --tw-gradient-from: #D5F5F6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(213 245 246 / 0)); +} +.from-teal-200{ + --tw-gradient-from: #AFECEF; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(175 236 239 / 0)); +} +.from-teal-300{ + --tw-gradient-from: #7EDCE2; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(126 220 226 / 0)); +} +.from-teal-400{ + --tw-gradient-from: #16BDCA; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(22 189 202 / 0)); +} +.from-teal-500{ + --tw-gradient-from: #0694A2; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(6 148 162 / 0)); +} +.from-teal-600{ + --tw-gradient-from: #047481; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(4 116 129 / 0)); +} +.from-teal-700{ + --tw-gradient-from: #036672; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(3 102 114 / 0)); +} +.from-teal-800{ + --tw-gradient-from: #05505C; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(5 80 92 / 0)); +} +.from-teal-900{ + --tw-gradient-from: #014451; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(1 68 81 / 0)); +} +.from-cyan-50{ + --tw-gradient-from: #ecfeff; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(236 254 255 / 0)); +} +.from-cyan-100{ + --tw-gradient-from: #cffafe; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(207 250 254 / 0)); +} +.from-cyan-200{ + --tw-gradient-from: #a5f3fc; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(165 243 252 / 0)); +} +.from-cyan-300{ + --tw-gradient-from: #67e8f9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(103 232 249 / 0)); +} +.from-cyan-400{ + --tw-gradient-from: #22d3ee; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(34 211 238 / 0)); +} +.from-cyan-500{ + --tw-gradient-from: #06b6d4; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(6 182 212 / 0)); +} +.from-cyan-600{ + --tw-gradient-from: #0891b2; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(8 145 178 / 0)); +} +.from-cyan-700{ + --tw-gradient-from: #0e7490; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(14 116 144 / 0)); +} +.from-cyan-800{ + --tw-gradient-from: #155e75; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(21 94 117 / 0)); +} +.from-cyan-900{ + --tw-gradient-from: #164e63; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(22 78 99 / 0)); +} +.from-sky-50{ + --tw-gradient-from: #f0f9ff; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(240 249 255 / 0)); +} +.from-sky-100{ + --tw-gradient-from: #e0f2fe; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(224 242 254 / 0)); +} +.from-sky-200{ + --tw-gradient-from: #bae6fd; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(186 230 253 / 0)); +} +.from-sky-300{ + --tw-gradient-from: #7dd3fc; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(125 211 252 / 0)); +} +.from-sky-400{ + --tw-gradient-from: #38bdf8; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(56 189 248 / 0)); +} +.from-sky-500{ + --tw-gradient-from: #0ea5e9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(14 165 233 / 0)); +} +.from-sky-600{ + --tw-gradient-from: #0284c7; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(2 132 199 / 0)); +} +.from-sky-700{ + --tw-gradient-from: #0369a1; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(3 105 161 / 0)); +} +.from-sky-800{ + --tw-gradient-from: #075985; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(7 89 133 / 0)); +} +.from-sky-900{ + --tw-gradient-from: #0c4a6e; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(12 74 110 / 0)); +} +.from-blue-50{ + --tw-gradient-from: #f2f8fb; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(242 248 251 / 0)); +} +.from-blue-100{ + --tw-gradient-from: #e6f1f6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(230 241 246 / 0)); +} +.from-blue-200{ + --tw-gradient-from: #bfdbe9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(191 219 233 / 0)); +} +.from-blue-300{ + --tw-gradient-from: #99c5db; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(153 197 219 / 0)); +} +.from-blue-400{ + --tw-gradient-from: #4d9ac1; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(77 154 193 / 0)); +} +.from-blue-500{ + --tw-gradient-from: #006ea6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 110 166 / 0)); +} +.from-blue-600{ + --tw-gradient-from: #006395; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 99 149 / 0)); +} +.from-blue-700{ + --tw-gradient-from: #00537d; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 83 125 / 0)); +} +.from-blue-800{ + --tw-gradient-from: #004264; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 66 100 / 0)); +} +.from-blue-900{ + --tw-gradient-from: #003651; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 54 81 / 0)); +} +.from-blue{ + --tw-gradient-from: #006ea6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 110 166 / 0)); +} +.from-indigo-50{ + --tw-gradient-from: #F0F5FF; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(240 245 255 / 0)); +} +.from-indigo-100{ + --tw-gradient-from: #E5EDFF; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(229 237 255 / 0)); +} +.from-indigo-200{ + --tw-gradient-from: #CDDBFE; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(205 219 254 / 0)); +} +.from-indigo-300{ + --tw-gradient-from: #B4C6FC; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(180 198 252 / 0)); +} +.from-indigo-400{ + --tw-gradient-from: #8DA2FB; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(141 162 251 / 0)); +} +.from-indigo-500{ + --tw-gradient-from: #6875F5; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(104 117 245 / 0)); +} +.from-indigo-600{ + --tw-gradient-from: #5850EC; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(88 80 236 / 0)); +} +.from-indigo-700{ + --tw-gradient-from: #5145CD; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(81 69 205 / 0)); +} +.from-indigo-800{ + --tw-gradient-from: #42389D; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(66 56 157 / 0)); +} +.from-indigo-900{ + --tw-gradient-from: #362F78; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(54 47 120 / 0)); +} +.from-violet-50{ + --tw-gradient-from: #f5f3ff; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(245 243 255 / 0)); +} +.from-violet-100{ + --tw-gradient-from: #ede9fe; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(237 233 254 / 0)); +} +.from-violet-200{ + --tw-gradient-from: #ddd6fe; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(221 214 254 / 0)); +} +.from-violet-300{ + --tw-gradient-from: #c4b5fd; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(196 181 253 / 0)); +} +.from-violet-400{ + --tw-gradient-from: #a78bfa; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(167 139 250 / 0)); +} +.from-violet-500{ + --tw-gradient-from: #8b5cf6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(139 92 246 / 0)); +} +.from-violet-600{ + --tw-gradient-from: #7c3aed; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(124 58 237 / 0)); +} +.from-violet-700{ + --tw-gradient-from: #6d28d9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(109 40 217 / 0)); +} +.from-violet-800{ + --tw-gradient-from: #5b21b6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(91 33 182 / 0)); +} +.from-violet-900{ + --tw-gradient-from: #4c1d95; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(76 29 149 / 0)); +} +.from-purple-50{ + --tw-gradient-from: #f7f7f9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(247 247 249 / 0)); +} +.from-purple-100{ + --tw-gradient-from: #eeeef3; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(238 238 243 / 0)); +} +.from-purple-200{ + --tw-gradient-from: #d5d5e2; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(213 213 226 / 0)); +} +.from-purple-300{ + --tw-gradient-from: #bbbcd1; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(187 188 209 / 0)); +} +.from-purple-400{ + --tw-gradient-from: #888aae; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(136 138 174 / 0)); +} +.from-purple-500{ + --tw-gradient-from: #55588b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(85 88 139 / 0)); +} +.from-purple-600{ + --tw-gradient-from: #4d4f7d; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(77 79 125 / 0)); +} +.from-purple-700{ + --tw-gradient-from: #404268; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(64 66 104 / 0)); +} +.from-purple-800{ + --tw-gradient-from: #333553; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(51 53 83 / 0)); +} +.from-purple-900{ + --tw-gradient-from: #2a2b44; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(42 43 68 / 0)); +} +.from-purple{ + --tw-gradient-from: #55588b; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(85 88 139 / 0)); +} +.from-fuchsia-50{ + --tw-gradient-from: #fdf4ff; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(253 244 255 / 0)); +} +.from-fuchsia-100{ + --tw-gradient-from: #fae8ff; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(250 232 255 / 0)); +} +.from-fuchsia-200{ + --tw-gradient-from: #f5d0fe; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(245 208 254 / 0)); +} +.from-fuchsia-300{ + --tw-gradient-from: #f0abfc; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(240 171 252 / 0)); +} +.from-fuchsia-400{ + --tw-gradient-from: #e879f9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(232 121 249 / 0)); +} +.from-fuchsia-500{ + --tw-gradient-from: #d946ef; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(217 70 239 / 0)); +} +.from-fuchsia-600{ + --tw-gradient-from: #c026d3; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(192 38 211 / 0)); +} +.from-fuchsia-700{ + --tw-gradient-from: #a21caf; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(162 28 175 / 0)); +} +.from-fuchsia-800{ + --tw-gradient-from: #86198f; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(134 25 143 / 0)); +} +.from-fuchsia-900{ + --tw-gradient-from: #701a75; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(112 26 117 / 0)); +} +.from-pink-50{ + --tw-gradient-from: #FDF2F8; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(253 242 248 / 0)); +} +.from-pink-100{ + --tw-gradient-from: #FCE8F3; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(252 232 243 / 0)); +} +.from-pink-200{ + --tw-gradient-from: #FAD1E8; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(250 209 232 / 0)); +} +.from-pink-300{ + --tw-gradient-from: #F8B4D9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(248 180 217 / 0)); +} +.from-pink-400{ + --tw-gradient-from: #F17EB8; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(241 126 184 / 0)); +} +.from-pink-500{ + --tw-gradient-from: #E74694; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(231 70 148 / 0)); +} +.from-pink-600{ + --tw-gradient-from: #D61F69; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(214 31 105 / 0)); +} +.from-pink-700{ + --tw-gradient-from: #BF125D; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(191 18 93 / 0)); +} +.from-pink-800{ + --tw-gradient-from: #99154B; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(153 21 75 / 0)); +} +.from-pink-900{ + --tw-gradient-from: #751A3D; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(117 26 61 / 0)); +} +.from-rose-50{ + --tw-gradient-from: #fff1f2; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(255 241 242 / 0)); +} +.from-rose-100{ + --tw-gradient-from: #ffe4e6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(255 228 230 / 0)); +} +.from-rose-200{ + --tw-gradient-from: #fecdd3; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(254 205 211 / 0)); +} +.from-rose-300{ + --tw-gradient-from: #fda4af; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(253 164 175 / 0)); +} +.from-rose-400{ + --tw-gradient-from: #fb7185; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(251 113 133 / 0)); +} +.from-rose-500{ + --tw-gradient-from: #f43f5e; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(244 63 94 / 0)); +} +.from-rose-600{ + --tw-gradient-from: #e11d48; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(225 29 72 / 0)); +} +.from-rose-700{ + --tw-gradient-from: #be123c; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(190 18 60 / 0)); +} +.from-rose-800{ + --tw-gradient-from: #9f1239; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(159 18 57 / 0)); +} +.from-rose-900{ + --tw-gradient-from: #881337; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(136 19 55 / 0)); +} +.from-rose{ + --tw-gradient-from: #f43f5e; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(244 63 94 / 0)); +} +.from-lilac-100{ + --tw-gradient-from: #F5F7FA; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(245 247 250 / 0)); +} +.from-lilac-300{ + --tw-gradient-from: #EDF0FC; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(237 240 252 / 0)); +} +.from-lilac-900{ + --tw-gradient-from: #DCE2F9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(220 226 249 / 0)); +} +.from-lilac{ + --tw-gradient-from: #F8F9FE; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(248 249 254 / 0)); +} +.from-golden-900{ + --tw-gradient-from: #BFB882; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(191 184 130 / 0)); +} +.from-golden{ + --tw-gradient-from: #D1C989; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(209 201 137 / 0)); +} +.from-status-success{ + --tw-gradient-from: #F1F6EE; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(241 246 238 / 0)); +} +.from-status-danger{ + --tw-gradient-from: #fae6e6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(250 230 230 / 0)); +} +.from-status-sent{ + --tw-gradient-from: #FEF5E7; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(254 245 231 / 0)); +} +.from-status-viewed{ + --tw-gradient-from: #EEEEF3; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(238 238 243 / 0)); +} +.from-status-draft{ + --tw-gradient-from: #ECECEC; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(236 236 236 / 0)); +} +.from-status-partial{ + --tw-gradient-from: #E6F1F6; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(230 241 246 / 0)); +} +.from-status-canceled{ + --tw-gradient-from: #282828; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(40 40 40 / 0)); +} +.from-status-warning{ + --tw-gradient-from: #FEF5E7; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(254 245 231 / 0)); +} +.from-text-status-success{ + --tw-gradient-from: #63914A; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(99 145 74 / 0)); +} +.from-text-status-danger{ + --tw-gradient-from: #B80000; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(184 0 0 / 0)); +} +.from-text-status-sent{ + --tw-gradient-from: #DD8E0A; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(221 142 10 / 0)); +} +.from-text-status-viewed{ + --tw-gradient-from: #4D4F7D; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(77 79 125 / 0)); +} +.from-text-status-draft{ + --tw-gradient-from: #3B3B3B; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(59 59 59 / 0)); +} +.from-text-status-partial{ + --tw-gradient-from: #006395; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 99 149 / 0)); +} +.from-text-status-canceled{ + --tw-gradient-from: #ffffff; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(255 255 255 / 0)); +} +.from-text-status-warning{ + --tw-gradient-from: #b87708; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(184 119 8 / 0)); +} +.from-body{ + --tw-gradient-from: #fcfcfc; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(252 252 252 / 0)); +} +.from-light-gray{ + --tw-gradient-from: #C7C9D9; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(199 201 217 / 0)); +} +.from-dark-blue{ + --tw-gradient-from: #15284B; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(21 40 75 / 0)); +} +.from-lighter-gray{ + --tw-gradient-from: #F2F2F5; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(242 242 245 / 0)); +} +.from-purple-lighter{ + --tw-gradient-from: #F2F4FC; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(242 244 252 / 0)); +} +.from-modal-background{ + --tw-gradient-from: rgba(0, 0, 0, 0.3); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 0 0 / 0)); +} +.from-testing{ + --tw-gradient-from: #935f07; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(147 95 7 / 0)); +} +.via-inherit{ + --tw-gradient-stops: var(--tw-gradient-from), inherit, var(--tw-gradient-to, rgb(255 255 255 / 0)); +} +.via-current{ + --tw-gradient-stops: var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgb(255 255 255 / 0)); +} +.via-transparent{ + --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgb(0 0 0 / 0)); +} +.via-black-50{ + --tw-gradient-stops: var(--tw-gradient-from), #f6f6f6, var(--tw-gradient-to, rgb(246 246 246 / 0)); +} +.via-black-100{ + --tw-gradient-stops: var(--tw-gradient-from), #ececec, var(--tw-gradient-to, rgb(236 236 236 / 0)); +} +.via-black-200{ + --tw-gradient-stops: var(--tw-gradient-from), #d0d0d0, var(--tw-gradient-to, rgb(208 208 208 / 0)); +} +.via-black-300{ + --tw-gradient-stops: var(--tw-gradient-from), #b3b3b3, var(--tw-gradient-to, rgb(179 179 179 / 0)); +} +.via-black-400{ + --tw-gradient-stops: var(--tw-gradient-from), #7b7b7b, var(--tw-gradient-to, rgb(123 123 123 / 0)); +} +.via-black-500{ + --tw-gradient-stops: var(--tw-gradient-from), #424242, var(--tw-gradient-to, rgb(66 66 66 / 0)); +} +.via-black-600{ + --tw-gradient-stops: var(--tw-gradient-from), #3b3b3b, var(--tw-gradient-to, rgb(59 59 59 / 0)); +} +.via-black-700{ + --tw-gradient-stops: var(--tw-gradient-from), #323232, var(--tw-gradient-to, rgb(50 50 50 / 0)); +} +.via-black-800{ + --tw-gradient-stops: var(--tw-gradient-from), #282828, var(--tw-gradient-to, rgb(40 40 40 / 0)); +} +.via-black-900{ + --tw-gradient-stops: var(--tw-gradient-from), #202020, var(--tw-gradient-to, rgb(32 32 32 / 0)); +} +.via-black{ + --tw-gradient-stops: var(--tw-gradient-from), #424242, var(--tw-gradient-to, rgb(66 66 66 / 0)); +} +.via-white{ + --tw-gradient-stops: var(--tw-gradient-from), #ffffff, var(--tw-gradient-to, rgb(255 255 255 / 0)); +} +.via-slate-50{ + --tw-gradient-stops: var(--tw-gradient-from), #f8fafc, var(--tw-gradient-to, rgb(248 250 252 / 0)); +} +.via-slate-100{ + --tw-gradient-stops: var(--tw-gradient-from), #f1f5f9, var(--tw-gradient-to, rgb(241 245 249 / 0)); +} +.via-slate-200{ + --tw-gradient-stops: var(--tw-gradient-from), #e2e8f0, var(--tw-gradient-to, rgb(226 232 240 / 0)); +} +.via-slate-300{ + --tw-gradient-stops: var(--tw-gradient-from), #cbd5e1, var(--tw-gradient-to, rgb(203 213 225 / 0)); +} +.via-slate-400{ + --tw-gradient-stops: var(--tw-gradient-from), #94a3b8, var(--tw-gradient-to, rgb(148 163 184 / 0)); +} +.via-slate-500{ + --tw-gradient-stops: var(--tw-gradient-from), #64748b, var(--tw-gradient-to, rgb(100 116 139 / 0)); +} +.via-slate-600{ + --tw-gradient-stops: var(--tw-gradient-from), #475569, var(--tw-gradient-to, rgb(71 85 105 / 0)); +} +.via-slate-700{ + --tw-gradient-stops: var(--tw-gradient-from), #334155, var(--tw-gradient-to, rgb(51 65 85 / 0)); +} +.via-slate-800{ + --tw-gradient-stops: var(--tw-gradient-from), #1e293b, var(--tw-gradient-to, rgb(30 41 59 / 0)); +} +.via-slate-900{ + --tw-gradient-stops: var(--tw-gradient-from), #0f172a, var(--tw-gradient-to, rgb(15 23 42 / 0)); +} +.via-gray-50{ + --tw-gradient-stops: var(--tw-gradient-from), #F9FAFB, var(--tw-gradient-to, rgb(249 250 251 / 0)); +} +.via-gray-100{ + --tw-gradient-stops: var(--tw-gradient-from), #F3F4F6, var(--tw-gradient-to, rgb(243 244 246 / 0)); +} +.via-gray-200{ + --tw-gradient-stops: var(--tw-gradient-from), #E5E7EB, var(--tw-gradient-to, rgb(229 231 235 / 0)); +} +.via-gray-300{ + --tw-gradient-stops: var(--tw-gradient-from), #D1D5DB, var(--tw-gradient-to, rgb(209 213 219 / 0)); +} +.via-gray-400{ + --tw-gradient-stops: var(--tw-gradient-from), #9CA3AF, var(--tw-gradient-to, rgb(156 163 175 / 0)); +} +.via-gray-500{ + --tw-gradient-stops: var(--tw-gradient-from), #6B7280, var(--tw-gradient-to, rgb(107 114 128 / 0)); +} +.via-gray-600{ + --tw-gradient-stops: var(--tw-gradient-from), #4B5563, var(--tw-gradient-to, rgb(75 85 99 / 0)); +} +.via-gray-700{ + --tw-gradient-stops: var(--tw-gradient-from), #374151, var(--tw-gradient-to, rgb(55 65 81 / 0)); +} +.via-gray-800{ + --tw-gradient-stops: var(--tw-gradient-from), #1F2937, var(--tw-gradient-to, rgb(31 41 55 / 0)); +} +.via-gray-900{ + --tw-gradient-stops: var(--tw-gradient-from), #111827, var(--tw-gradient-to, rgb(17 24 39 / 0)); +} +.via-zinc-50{ + --tw-gradient-stops: var(--tw-gradient-from), #fafafa, var(--tw-gradient-to, rgb(250 250 250 / 0)); +} +.via-zinc-100{ + --tw-gradient-stops: var(--tw-gradient-from), #f4f4f5, var(--tw-gradient-to, rgb(244 244 245 / 0)); +} +.via-zinc-200{ + --tw-gradient-stops: var(--tw-gradient-from), #e4e4e7, var(--tw-gradient-to, rgb(228 228 231 / 0)); +} +.via-zinc-300{ + --tw-gradient-stops: var(--tw-gradient-from), #d4d4d8, var(--tw-gradient-to, rgb(212 212 216 / 0)); +} +.via-zinc-400{ + --tw-gradient-stops: var(--tw-gradient-from), #a1a1aa, var(--tw-gradient-to, rgb(161 161 170 / 0)); +} +.via-zinc-500{ + --tw-gradient-stops: var(--tw-gradient-from), #71717a, var(--tw-gradient-to, rgb(113 113 122 / 0)); +} +.via-zinc-600{ + --tw-gradient-stops: var(--tw-gradient-from), #52525b, var(--tw-gradient-to, rgb(82 82 91 / 0)); +} +.via-zinc-700{ + --tw-gradient-stops: var(--tw-gradient-from), #3f3f46, var(--tw-gradient-to, rgb(63 63 70 / 0)); +} +.via-zinc-800{ + --tw-gradient-stops: var(--tw-gradient-from), #27272a, var(--tw-gradient-to, rgb(39 39 42 / 0)); +} +.via-zinc-900{ + --tw-gradient-stops: var(--tw-gradient-from), #18181b, var(--tw-gradient-to, rgb(24 24 27 / 0)); +} +.via-neutral-50{ + --tw-gradient-stops: var(--tw-gradient-from), #fafafa, var(--tw-gradient-to, rgb(250 250 250 / 0)); +} +.via-neutral-100{ + --tw-gradient-stops: var(--tw-gradient-from), #f5f5f5, var(--tw-gradient-to, rgb(245 245 245 / 0)); +} +.via-neutral-200{ + --tw-gradient-stops: var(--tw-gradient-from), #e5e5e5, var(--tw-gradient-to, rgb(229 229 229 / 0)); +} +.via-neutral-300{ + --tw-gradient-stops: var(--tw-gradient-from), #d4d4d4, var(--tw-gradient-to, rgb(212 212 212 / 0)); +} +.via-neutral-400{ + --tw-gradient-stops: var(--tw-gradient-from), #a3a3a3, var(--tw-gradient-to, rgb(163 163 163 / 0)); +} +.via-neutral-500{ + --tw-gradient-stops: var(--tw-gradient-from), #737373, var(--tw-gradient-to, rgb(115 115 115 / 0)); +} +.via-neutral-600{ + --tw-gradient-stops: var(--tw-gradient-from), #525252, var(--tw-gradient-to, rgb(82 82 82 / 0)); +} +.via-neutral-700{ + --tw-gradient-stops: var(--tw-gradient-from), #404040, var(--tw-gradient-to, rgb(64 64 64 / 0)); +} +.via-neutral-800{ + --tw-gradient-stops: var(--tw-gradient-from), #262626, var(--tw-gradient-to, rgb(38 38 38 / 0)); +} +.via-neutral-900{ + --tw-gradient-stops: var(--tw-gradient-from), #171717, var(--tw-gradient-to, rgb(23 23 23 / 0)); +} +.via-stone-50{ + --tw-gradient-stops: var(--tw-gradient-from), #fafaf9, var(--tw-gradient-to, rgb(250 250 249 / 0)); +} +.via-stone-100{ + --tw-gradient-stops: var(--tw-gradient-from), #f5f5f4, var(--tw-gradient-to, rgb(245 245 244 / 0)); +} +.via-stone-200{ + --tw-gradient-stops: var(--tw-gradient-from), #e7e5e4, var(--tw-gradient-to, rgb(231 229 228 / 0)); +} +.via-stone-300{ + --tw-gradient-stops: var(--tw-gradient-from), #d6d3d1, var(--tw-gradient-to, rgb(214 211 209 / 0)); +} +.via-stone-400{ + --tw-gradient-stops: var(--tw-gradient-from), #a8a29e, var(--tw-gradient-to, rgb(168 162 158 / 0)); +} +.via-stone-500{ + --tw-gradient-stops: var(--tw-gradient-from), #78716c, var(--tw-gradient-to, rgb(120 113 108 / 0)); +} +.via-stone-600{ + --tw-gradient-stops: var(--tw-gradient-from), #57534e, var(--tw-gradient-to, rgb(87 83 78 / 0)); +} +.via-stone-700{ + --tw-gradient-stops: var(--tw-gradient-from), #44403c, var(--tw-gradient-to, rgb(68 64 60 / 0)); +} +.via-stone-800{ + --tw-gradient-stops: var(--tw-gradient-from), #292524, var(--tw-gradient-to, rgb(41 37 36 / 0)); +} +.via-stone-900{ + --tw-gradient-stops: var(--tw-gradient-from), #1c1917, var(--tw-gradient-to, rgb(28 25 23 / 0)); +} +.via-red-50{ + --tw-gradient-stops: var(--tw-gradient-from), #fcf2f2, var(--tw-gradient-to, rgb(252 242 242 / 0)); +} +.via-red-100{ + --tw-gradient-stops: var(--tw-gradient-from), #fae6e6, var(--tw-gradient-to, rgb(250 230 230 / 0)); +} +.via-red-200{ + --tw-gradient-stops: var(--tw-gradient-from), #f2bfbf, var(--tw-gradient-to, rgb(242 191 191 / 0)); +} +.via-red-300{ + --tw-gradient-stops: var(--tw-gradient-from), #eb9999, var(--tw-gradient-to, rgb(235 153 153 / 0)); +} +.via-red-400{ + --tw-gradient-stops: var(--tw-gradient-from), #db4d4d, var(--tw-gradient-to, rgb(219 77 77 / 0)); +} +.via-red-500{ + --tw-gradient-stops: var(--tw-gradient-from), #cc0000, var(--tw-gradient-to, rgb(204 0 0 / 0)); +} +.via-red-600{ + --tw-gradient-stops: var(--tw-gradient-from), #b80000, var(--tw-gradient-to, rgb(184 0 0 / 0)); +} +.via-red-700{ + --tw-gradient-stops: var(--tw-gradient-from), #990000, var(--tw-gradient-to, rgb(153 0 0 / 0)); +} +.via-red-800{ + --tw-gradient-stops: var(--tw-gradient-from), #7a0000, var(--tw-gradient-to, rgb(122 0 0 / 0)); +} +.via-red-900{ + --tw-gradient-stops: var(--tw-gradient-from), #640000, var(--tw-gradient-to, rgb(100 0 0 / 0)); +} +.via-red{ + --tw-gradient-stops: var(--tw-gradient-from), #cc0000, var(--tw-gradient-to, rgb(204 0 0 / 0)); +} +.via-orange-50{ + --tw-gradient-stops: var(--tw-gradient-from), #fffaf3, var(--tw-gradient-to, rgb(255 250 243 / 0)); +} +.via-orange-100{ + --tw-gradient-stops: var(--tw-gradient-from), #fef5e7, var(--tw-gradient-to, rgb(254 245 231 / 0)); +} +.via-orange-200{ + --tw-gradient-stops: var(--tw-gradient-from), #fde7c2, var(--tw-gradient-to, rgb(253 231 194 / 0)); +} +.via-orange-300{ + --tw-gradient-stops: var(--tw-gradient-from), #fbd89d, var(--tw-gradient-to, rgb(251 216 157 / 0)); +} +.via-orange-400{ + --tw-gradient-stops: var(--tw-gradient-from), #f8bb54, var(--tw-gradient-to, rgb(248 187 84 / 0)); +} +.via-orange-500{ + --tw-gradient-stops: var(--tw-gradient-from), #f59e0b, var(--tw-gradient-to, rgb(245 158 11 / 0)); +} +.via-orange-600{ + --tw-gradient-stops: var(--tw-gradient-from), #dd8e0a, var(--tw-gradient-to, rgb(221 142 10 / 0)); +} +.via-orange-700{ + --tw-gradient-stops: var(--tw-gradient-from), #b87708, var(--tw-gradient-to, rgb(184 119 8 / 0)); +} +.via-orange-800{ + --tw-gradient-stops: var(--tw-gradient-from), #935f07, var(--tw-gradient-to, rgb(147 95 7 / 0)); +} +.via-orange-900{ + --tw-gradient-stops: var(--tw-gradient-from), #784d05, var(--tw-gradient-to, rgb(120 77 5 / 0)); +} +.via-orange{ + --tw-gradient-stops: var(--tw-gradient-from), #f59e0b, var(--tw-gradient-to, rgb(245 158 11 / 0)); +} +.via-amber-50{ + --tw-gradient-stops: var(--tw-gradient-from), #fffbeb, var(--tw-gradient-to, rgb(255 251 235 / 0)); +} +.via-amber-100{ + --tw-gradient-stops: var(--tw-gradient-from), #fef3c7, var(--tw-gradient-to, rgb(254 243 199 / 0)); +} +.via-amber-200{ + --tw-gradient-stops: var(--tw-gradient-from), #fde68a, var(--tw-gradient-to, rgb(253 230 138 / 0)); +} +.via-amber-300{ + --tw-gradient-stops: var(--tw-gradient-from), #fcd34d, var(--tw-gradient-to, rgb(252 211 77 / 0)); +} +.via-amber-400{ + --tw-gradient-stops: var(--tw-gradient-from), #fbbf24, var(--tw-gradient-to, rgb(251 191 36 / 0)); +} +.via-amber-500{ + --tw-gradient-stops: var(--tw-gradient-from), #f59e0b, var(--tw-gradient-to, rgb(245 158 11 / 0)); +} +.via-amber-600{ + --tw-gradient-stops: var(--tw-gradient-from), #d97706, var(--tw-gradient-to, rgb(217 119 6 / 0)); +} +.via-amber-700{ + --tw-gradient-stops: var(--tw-gradient-from), #b45309, var(--tw-gradient-to, rgb(180 83 9 / 0)); +} +.via-amber-800{ + --tw-gradient-stops: var(--tw-gradient-from), #92400e, var(--tw-gradient-to, rgb(146 64 14 / 0)); +} +.via-amber-900{ + --tw-gradient-stops: var(--tw-gradient-from), #78350f, var(--tw-gradient-to, rgb(120 53 15 / 0)); +} +.via-yellow-50{ + --tw-gradient-stops: var(--tw-gradient-from), #FDFDEA, var(--tw-gradient-to, rgb(253 253 234 / 0)); +} +.via-yellow-100{ + --tw-gradient-stops: var(--tw-gradient-from), #FDF6B2, var(--tw-gradient-to, rgb(253 246 178 / 0)); +} +.via-yellow-200{ + --tw-gradient-stops: var(--tw-gradient-from), #FCE96A, var(--tw-gradient-to, rgb(252 233 106 / 0)); +} +.via-yellow-300{ + --tw-gradient-stops: var(--tw-gradient-from), #FACA15, var(--tw-gradient-to, rgb(250 202 21 / 0)); +} +.via-yellow-400{ + --tw-gradient-stops: var(--tw-gradient-from), #E3A008, var(--tw-gradient-to, rgb(227 160 8 / 0)); +} +.via-yellow-500{ + --tw-gradient-stops: var(--tw-gradient-from), #C27803, var(--tw-gradient-to, rgb(194 120 3 / 0)); +} +.via-yellow-600{ + --tw-gradient-stops: var(--tw-gradient-from), #9F580A, var(--tw-gradient-to, rgb(159 88 10 / 0)); +} +.via-yellow-700{ + --tw-gradient-stops: var(--tw-gradient-from), #8E4B10, var(--tw-gradient-to, rgb(142 75 16 / 0)); +} +.via-yellow-800{ + --tw-gradient-stops: var(--tw-gradient-from), #723B13, var(--tw-gradient-to, rgb(114 59 19 / 0)); +} +.via-yellow-900{ + --tw-gradient-stops: var(--tw-gradient-from), #633112, var(--tw-gradient-to, rgb(99 49 18 / 0)); +} +.via-lime-50{ + --tw-gradient-stops: var(--tw-gradient-from), #f7fee7, var(--tw-gradient-to, rgb(247 254 231 / 0)); +} +.via-lime-100{ + --tw-gradient-stops: var(--tw-gradient-from), #ecfccb, var(--tw-gradient-to, rgb(236 252 203 / 0)); +} +.via-lime-200{ + --tw-gradient-stops: var(--tw-gradient-from), #d9f99d, var(--tw-gradient-to, rgb(217 249 157 / 0)); +} +.via-lime-300{ + --tw-gradient-stops: var(--tw-gradient-from), #bef264, var(--tw-gradient-to, rgb(190 242 100 / 0)); +} +.via-lime-400{ + --tw-gradient-stops: var(--tw-gradient-from), #a3e635, var(--tw-gradient-to, rgb(163 230 53 / 0)); +} +.via-lime-500{ + --tw-gradient-stops: var(--tw-gradient-from), #84cc16, var(--tw-gradient-to, rgb(132 204 22 / 0)); +} +.via-lime-600{ + --tw-gradient-stops: var(--tw-gradient-from), #65a30d, var(--tw-gradient-to, rgb(101 163 13 / 0)); +} +.via-lime-700{ + --tw-gradient-stops: var(--tw-gradient-from), #4d7c0f, var(--tw-gradient-to, rgb(77 124 15 / 0)); +} +.via-lime-800{ + --tw-gradient-stops: var(--tw-gradient-from), #3f6212, var(--tw-gradient-to, rgb(63 98 18 / 0)); +} +.via-lime-900{ + --tw-gradient-stops: var(--tw-gradient-from), #365314, var(--tw-gradient-to, rgb(54 83 20 / 0)); +} +.via-green-50{ + --tw-gradient-stops: var(--tw-gradient-from), #f8faf6, var(--tw-gradient-to, rgb(248 250 246 / 0)); +} +.via-green-100{ + --tw-gradient-stops: var(--tw-gradient-from), #f1f6ee, var(--tw-gradient-to, rgb(241 246 238 / 0)); +} +.via-green-200{ + --tw-gradient-stops: var(--tw-gradient-from), #dbe8d4, var(--tw-gradient-to, rgb(219 232 212 / 0)); +} +.via-green-300{ + --tw-gradient-stops: var(--tw-gradient-from), #c5d9ba, var(--tw-gradient-to, rgb(197 217 186 / 0)); +} +.via-green-400{ + --tw-gradient-stops: var(--tw-gradient-from), #9abd86, var(--tw-gradient-to, rgb(154 189 134 / 0)); +} +.via-green-500{ + --tw-gradient-stops: var(--tw-gradient-from), #6ea152, var(--tw-gradient-to, rgb(110 161 82 / 0)); +} +.via-green-600{ + --tw-gradient-stops: var(--tw-gradient-from), #63914a, var(--tw-gradient-to, rgb(99 145 74 / 0)); +} +.via-green-700{ + --tw-gradient-stops: var(--tw-gradient-from), #53793e, var(--tw-gradient-to, rgb(83 121 62 / 0)); +} +.via-green-800{ + --tw-gradient-stops: var(--tw-gradient-from), #426131, var(--tw-gradient-to, rgb(66 97 49 / 0)); +} +.via-green-900{ + --tw-gradient-stops: var(--tw-gradient-from), #364f28, var(--tw-gradient-to, rgb(54 79 40 / 0)); +} +.via-green{ + --tw-gradient-stops: var(--tw-gradient-from), #6ea152, var(--tw-gradient-to, rgb(110 161 82 / 0)); +} +.via-emerald-50{ + --tw-gradient-stops: var(--tw-gradient-from), #ecfdf5, var(--tw-gradient-to, rgb(236 253 245 / 0)); +} +.via-emerald-100{ + --tw-gradient-stops: var(--tw-gradient-from), #d1fae5, var(--tw-gradient-to, rgb(209 250 229 / 0)); +} +.via-emerald-200{ + --tw-gradient-stops: var(--tw-gradient-from), #a7f3d0, var(--tw-gradient-to, rgb(167 243 208 / 0)); +} +.via-emerald-300{ + --tw-gradient-stops: var(--tw-gradient-from), #6ee7b7, var(--tw-gradient-to, rgb(110 231 183 / 0)); +} +.via-emerald-400{ + --tw-gradient-stops: var(--tw-gradient-from), #34d399, var(--tw-gradient-to, rgb(52 211 153 / 0)); +} +.via-emerald-500{ + --tw-gradient-stops: var(--tw-gradient-from), #10b981, var(--tw-gradient-to, rgb(16 185 129 / 0)); +} +.via-emerald-600{ + --tw-gradient-stops: var(--tw-gradient-from), #059669, var(--tw-gradient-to, rgb(5 150 105 / 0)); +} +.via-emerald-700{ + --tw-gradient-stops: var(--tw-gradient-from), #047857, var(--tw-gradient-to, rgb(4 120 87 / 0)); +} +.via-emerald-800{ + --tw-gradient-stops: var(--tw-gradient-from), #065f46, var(--tw-gradient-to, rgb(6 95 70 / 0)); +} +.via-emerald-900{ + --tw-gradient-stops: var(--tw-gradient-from), #064e3b, var(--tw-gradient-to, rgb(6 78 59 / 0)); +} +.via-teal-50{ + --tw-gradient-stops: var(--tw-gradient-from), #EDFAFA, var(--tw-gradient-to, rgb(237 250 250 / 0)); +} +.via-teal-100{ + --tw-gradient-stops: var(--tw-gradient-from), #D5F5F6, var(--tw-gradient-to, rgb(213 245 246 / 0)); +} +.via-teal-200{ + --tw-gradient-stops: var(--tw-gradient-from), #AFECEF, var(--tw-gradient-to, rgb(175 236 239 / 0)); +} +.via-teal-300{ + --tw-gradient-stops: var(--tw-gradient-from), #7EDCE2, var(--tw-gradient-to, rgb(126 220 226 / 0)); +} +.via-teal-400{ + --tw-gradient-stops: var(--tw-gradient-from), #16BDCA, var(--tw-gradient-to, rgb(22 189 202 / 0)); +} +.via-teal-500{ + --tw-gradient-stops: var(--tw-gradient-from), #0694A2, var(--tw-gradient-to, rgb(6 148 162 / 0)); +} +.via-teal-600{ + --tw-gradient-stops: var(--tw-gradient-from), #047481, var(--tw-gradient-to, rgb(4 116 129 / 0)); +} +.via-teal-700{ + --tw-gradient-stops: var(--tw-gradient-from), #036672, var(--tw-gradient-to, rgb(3 102 114 / 0)); +} +.via-teal-800{ + --tw-gradient-stops: var(--tw-gradient-from), #05505C, var(--tw-gradient-to, rgb(5 80 92 / 0)); +} +.via-teal-900{ + --tw-gradient-stops: var(--tw-gradient-from), #014451, var(--tw-gradient-to, rgb(1 68 81 / 0)); +} +.via-cyan-50{ + --tw-gradient-stops: var(--tw-gradient-from), #ecfeff, var(--tw-gradient-to, rgb(236 254 255 / 0)); +} +.via-cyan-100{ + --tw-gradient-stops: var(--tw-gradient-from), #cffafe, var(--tw-gradient-to, rgb(207 250 254 / 0)); +} +.via-cyan-200{ + --tw-gradient-stops: var(--tw-gradient-from), #a5f3fc, var(--tw-gradient-to, rgb(165 243 252 / 0)); +} +.via-cyan-300{ + --tw-gradient-stops: var(--tw-gradient-from), #67e8f9, var(--tw-gradient-to, rgb(103 232 249 / 0)); +} +.via-cyan-400{ + --tw-gradient-stops: var(--tw-gradient-from), #22d3ee, var(--tw-gradient-to, rgb(34 211 238 / 0)); +} +.via-cyan-500{ + --tw-gradient-stops: var(--tw-gradient-from), #06b6d4, var(--tw-gradient-to, rgb(6 182 212 / 0)); +} +.via-cyan-600{ + --tw-gradient-stops: var(--tw-gradient-from), #0891b2, var(--tw-gradient-to, rgb(8 145 178 / 0)); +} +.via-cyan-700{ + --tw-gradient-stops: var(--tw-gradient-from), #0e7490, var(--tw-gradient-to, rgb(14 116 144 / 0)); +} +.via-cyan-800{ + --tw-gradient-stops: var(--tw-gradient-from), #155e75, var(--tw-gradient-to, rgb(21 94 117 / 0)); +} +.via-cyan-900{ + --tw-gradient-stops: var(--tw-gradient-from), #164e63, var(--tw-gradient-to, rgb(22 78 99 / 0)); +} +.via-sky-50{ + --tw-gradient-stops: var(--tw-gradient-from), #f0f9ff, var(--tw-gradient-to, rgb(240 249 255 / 0)); +} +.via-sky-100{ + --tw-gradient-stops: var(--tw-gradient-from), #e0f2fe, var(--tw-gradient-to, rgb(224 242 254 / 0)); +} +.via-sky-200{ + --tw-gradient-stops: var(--tw-gradient-from), #bae6fd, var(--tw-gradient-to, rgb(186 230 253 / 0)); +} +.via-sky-300{ + --tw-gradient-stops: var(--tw-gradient-from), #7dd3fc, var(--tw-gradient-to, rgb(125 211 252 / 0)); +} +.via-sky-400{ + --tw-gradient-stops: var(--tw-gradient-from), #38bdf8, var(--tw-gradient-to, rgb(56 189 248 / 0)); +} +.via-sky-500{ + --tw-gradient-stops: var(--tw-gradient-from), #0ea5e9, var(--tw-gradient-to, rgb(14 165 233 / 0)); +} +.via-sky-600{ + --tw-gradient-stops: var(--tw-gradient-from), #0284c7, var(--tw-gradient-to, rgb(2 132 199 / 0)); +} +.via-sky-700{ + --tw-gradient-stops: var(--tw-gradient-from), #0369a1, var(--tw-gradient-to, rgb(3 105 161 / 0)); +} +.via-sky-800{ + --tw-gradient-stops: var(--tw-gradient-from), #075985, var(--tw-gradient-to, rgb(7 89 133 / 0)); +} +.via-sky-900{ + --tw-gradient-stops: var(--tw-gradient-from), #0c4a6e, var(--tw-gradient-to, rgb(12 74 110 / 0)); +} +.via-blue-50{ + --tw-gradient-stops: var(--tw-gradient-from), #f2f8fb, var(--tw-gradient-to, rgb(242 248 251 / 0)); +} +.via-blue-100{ + --tw-gradient-stops: var(--tw-gradient-from), #e6f1f6, var(--tw-gradient-to, rgb(230 241 246 / 0)); +} +.via-blue-200{ + --tw-gradient-stops: var(--tw-gradient-from), #bfdbe9, var(--tw-gradient-to, rgb(191 219 233 / 0)); +} +.via-blue-300{ + --tw-gradient-stops: var(--tw-gradient-from), #99c5db, var(--tw-gradient-to, rgb(153 197 219 / 0)); +} +.via-blue-400{ + --tw-gradient-stops: var(--tw-gradient-from), #4d9ac1, var(--tw-gradient-to, rgb(77 154 193 / 0)); +} +.via-blue-500{ + --tw-gradient-stops: var(--tw-gradient-from), #006ea6, var(--tw-gradient-to, rgb(0 110 166 / 0)); +} +.via-blue-600{ + --tw-gradient-stops: var(--tw-gradient-from), #006395, var(--tw-gradient-to, rgb(0 99 149 / 0)); +} +.via-blue-700{ + --tw-gradient-stops: var(--tw-gradient-from), #00537d, var(--tw-gradient-to, rgb(0 83 125 / 0)); +} +.via-blue-800{ + --tw-gradient-stops: var(--tw-gradient-from), #004264, var(--tw-gradient-to, rgb(0 66 100 / 0)); +} +.via-blue-900{ + --tw-gradient-stops: var(--tw-gradient-from), #003651, var(--tw-gradient-to, rgb(0 54 81 / 0)); +} +.via-blue{ + --tw-gradient-stops: var(--tw-gradient-from), #006ea6, var(--tw-gradient-to, rgb(0 110 166 / 0)); +} +.via-indigo-50{ + --tw-gradient-stops: var(--tw-gradient-from), #F0F5FF, var(--tw-gradient-to, rgb(240 245 255 / 0)); +} +.via-indigo-100{ + --tw-gradient-stops: var(--tw-gradient-from), #E5EDFF, var(--tw-gradient-to, rgb(229 237 255 / 0)); +} +.via-indigo-200{ + --tw-gradient-stops: var(--tw-gradient-from), #CDDBFE, var(--tw-gradient-to, rgb(205 219 254 / 0)); +} +.via-indigo-300{ + --tw-gradient-stops: var(--tw-gradient-from), #B4C6FC, var(--tw-gradient-to, rgb(180 198 252 / 0)); +} +.via-indigo-400{ + --tw-gradient-stops: var(--tw-gradient-from), #8DA2FB, var(--tw-gradient-to, rgb(141 162 251 / 0)); +} +.via-indigo-500{ + --tw-gradient-stops: var(--tw-gradient-from), #6875F5, var(--tw-gradient-to, rgb(104 117 245 / 0)); +} +.via-indigo-600{ + --tw-gradient-stops: var(--tw-gradient-from), #5850EC, var(--tw-gradient-to, rgb(88 80 236 / 0)); +} +.via-indigo-700{ + --tw-gradient-stops: var(--tw-gradient-from), #5145CD, var(--tw-gradient-to, rgb(81 69 205 / 0)); +} +.via-indigo-800{ + --tw-gradient-stops: var(--tw-gradient-from), #42389D, var(--tw-gradient-to, rgb(66 56 157 / 0)); +} +.via-indigo-900{ + --tw-gradient-stops: var(--tw-gradient-from), #362F78, var(--tw-gradient-to, rgb(54 47 120 / 0)); +} +.via-violet-50{ + --tw-gradient-stops: var(--tw-gradient-from), #f5f3ff, var(--tw-gradient-to, rgb(245 243 255 / 0)); +} +.via-violet-100{ + --tw-gradient-stops: var(--tw-gradient-from), #ede9fe, var(--tw-gradient-to, rgb(237 233 254 / 0)); +} +.via-violet-200{ + --tw-gradient-stops: var(--tw-gradient-from), #ddd6fe, var(--tw-gradient-to, rgb(221 214 254 / 0)); +} +.via-violet-300{ + --tw-gradient-stops: var(--tw-gradient-from), #c4b5fd, var(--tw-gradient-to, rgb(196 181 253 / 0)); +} +.via-violet-400{ + --tw-gradient-stops: var(--tw-gradient-from), #a78bfa, var(--tw-gradient-to, rgb(167 139 250 / 0)); +} +.via-violet-500{ + --tw-gradient-stops: var(--tw-gradient-from), #8b5cf6, var(--tw-gradient-to, rgb(139 92 246 / 0)); +} +.via-violet-600{ + --tw-gradient-stops: var(--tw-gradient-from), #7c3aed, var(--tw-gradient-to, rgb(124 58 237 / 0)); +} +.via-violet-700{ + --tw-gradient-stops: var(--tw-gradient-from), #6d28d9, var(--tw-gradient-to, rgb(109 40 217 / 0)); +} +.via-violet-800{ + --tw-gradient-stops: var(--tw-gradient-from), #5b21b6, var(--tw-gradient-to, rgb(91 33 182 / 0)); +} +.via-violet-900{ + --tw-gradient-stops: var(--tw-gradient-from), #4c1d95, var(--tw-gradient-to, rgb(76 29 149 / 0)); +} +.via-purple-50{ + --tw-gradient-stops: var(--tw-gradient-from), #f7f7f9, var(--tw-gradient-to, rgb(247 247 249 / 0)); +} +.via-purple-100{ + --tw-gradient-stops: var(--tw-gradient-from), #eeeef3, var(--tw-gradient-to, rgb(238 238 243 / 0)); +} +.via-purple-200{ + --tw-gradient-stops: var(--tw-gradient-from), #d5d5e2, var(--tw-gradient-to, rgb(213 213 226 / 0)); +} +.via-purple-300{ + --tw-gradient-stops: var(--tw-gradient-from), #bbbcd1, var(--tw-gradient-to, rgb(187 188 209 / 0)); +} +.via-purple-400{ + --tw-gradient-stops: var(--tw-gradient-from), #888aae, var(--tw-gradient-to, rgb(136 138 174 / 0)); +} +.via-purple-500{ + --tw-gradient-stops: var(--tw-gradient-from), #55588b, var(--tw-gradient-to, rgb(85 88 139 / 0)); +} +.via-purple-600{ + --tw-gradient-stops: var(--tw-gradient-from), #4d4f7d, var(--tw-gradient-to, rgb(77 79 125 / 0)); +} +.via-purple-700{ + --tw-gradient-stops: var(--tw-gradient-from), #404268, var(--tw-gradient-to, rgb(64 66 104 / 0)); +} +.via-purple-800{ + --tw-gradient-stops: var(--tw-gradient-from), #333553, var(--tw-gradient-to, rgb(51 53 83 / 0)); +} +.via-purple-900{ + --tw-gradient-stops: var(--tw-gradient-from), #2a2b44, var(--tw-gradient-to, rgb(42 43 68 / 0)); +} +.via-purple{ + --tw-gradient-stops: var(--tw-gradient-from), #55588b, var(--tw-gradient-to, rgb(85 88 139 / 0)); +} +.via-fuchsia-50{ + --tw-gradient-stops: var(--tw-gradient-from), #fdf4ff, var(--tw-gradient-to, rgb(253 244 255 / 0)); +} +.via-fuchsia-100{ + --tw-gradient-stops: var(--tw-gradient-from), #fae8ff, var(--tw-gradient-to, rgb(250 232 255 / 0)); +} +.via-fuchsia-200{ + --tw-gradient-stops: var(--tw-gradient-from), #f5d0fe, var(--tw-gradient-to, rgb(245 208 254 / 0)); +} +.via-fuchsia-300{ + --tw-gradient-stops: var(--tw-gradient-from), #f0abfc, var(--tw-gradient-to, rgb(240 171 252 / 0)); +} +.via-fuchsia-400{ + --tw-gradient-stops: var(--tw-gradient-from), #e879f9, var(--tw-gradient-to, rgb(232 121 249 / 0)); +} +.via-fuchsia-500{ + --tw-gradient-stops: var(--tw-gradient-from), #d946ef, var(--tw-gradient-to, rgb(217 70 239 / 0)); +} +.via-fuchsia-600{ + --tw-gradient-stops: var(--tw-gradient-from), #c026d3, var(--tw-gradient-to, rgb(192 38 211 / 0)); +} +.via-fuchsia-700{ + --tw-gradient-stops: var(--tw-gradient-from), #a21caf, var(--tw-gradient-to, rgb(162 28 175 / 0)); +} +.via-fuchsia-800{ + --tw-gradient-stops: var(--tw-gradient-from), #86198f, var(--tw-gradient-to, rgb(134 25 143 / 0)); +} +.via-fuchsia-900{ + --tw-gradient-stops: var(--tw-gradient-from), #701a75, var(--tw-gradient-to, rgb(112 26 117 / 0)); +} +.via-pink-50{ + --tw-gradient-stops: var(--tw-gradient-from), #FDF2F8, var(--tw-gradient-to, rgb(253 242 248 / 0)); +} +.via-pink-100{ + --tw-gradient-stops: var(--tw-gradient-from), #FCE8F3, var(--tw-gradient-to, rgb(252 232 243 / 0)); +} +.via-pink-200{ + --tw-gradient-stops: var(--tw-gradient-from), #FAD1E8, var(--tw-gradient-to, rgb(250 209 232 / 0)); +} +.via-pink-300{ + --tw-gradient-stops: var(--tw-gradient-from), #F8B4D9, var(--tw-gradient-to, rgb(248 180 217 / 0)); +} +.via-pink-400{ + --tw-gradient-stops: var(--tw-gradient-from), #F17EB8, var(--tw-gradient-to, rgb(241 126 184 / 0)); +} +.via-pink-500{ + --tw-gradient-stops: var(--tw-gradient-from), #E74694, var(--tw-gradient-to, rgb(231 70 148 / 0)); +} +.via-pink-600{ + --tw-gradient-stops: var(--tw-gradient-from), #D61F69, var(--tw-gradient-to, rgb(214 31 105 / 0)); +} +.via-pink-700{ + --tw-gradient-stops: var(--tw-gradient-from), #BF125D, var(--tw-gradient-to, rgb(191 18 93 / 0)); +} +.via-pink-800{ + --tw-gradient-stops: var(--tw-gradient-from), #99154B, var(--tw-gradient-to, rgb(153 21 75 / 0)); +} +.via-pink-900{ + --tw-gradient-stops: var(--tw-gradient-from), #751A3D, var(--tw-gradient-to, rgb(117 26 61 / 0)); +} +.via-rose-50{ + --tw-gradient-stops: var(--tw-gradient-from), #fff1f2, var(--tw-gradient-to, rgb(255 241 242 / 0)); +} +.via-rose-100{ + --tw-gradient-stops: var(--tw-gradient-from), #ffe4e6, var(--tw-gradient-to, rgb(255 228 230 / 0)); +} +.via-rose-200{ + --tw-gradient-stops: var(--tw-gradient-from), #fecdd3, var(--tw-gradient-to, rgb(254 205 211 / 0)); +} +.via-rose-300{ + --tw-gradient-stops: var(--tw-gradient-from), #fda4af, var(--tw-gradient-to, rgb(253 164 175 / 0)); +} +.via-rose-400{ + --tw-gradient-stops: var(--tw-gradient-from), #fb7185, var(--tw-gradient-to, rgb(251 113 133 / 0)); +} +.via-rose-500{ + --tw-gradient-stops: var(--tw-gradient-from), #f43f5e, var(--tw-gradient-to, rgb(244 63 94 / 0)); +} +.via-rose-600{ + --tw-gradient-stops: var(--tw-gradient-from), #e11d48, var(--tw-gradient-to, rgb(225 29 72 / 0)); +} +.via-rose-700{ + --tw-gradient-stops: var(--tw-gradient-from), #be123c, var(--tw-gradient-to, rgb(190 18 60 / 0)); +} +.via-rose-800{ + --tw-gradient-stops: var(--tw-gradient-from), #9f1239, var(--tw-gradient-to, rgb(159 18 57 / 0)); +} +.via-rose-900{ + --tw-gradient-stops: var(--tw-gradient-from), #881337, var(--tw-gradient-to, rgb(136 19 55 / 0)); +} +.via-rose{ + --tw-gradient-stops: var(--tw-gradient-from), #f43f5e, var(--tw-gradient-to, rgb(244 63 94 / 0)); +} +.via-lilac-100{ + --tw-gradient-stops: var(--tw-gradient-from), #F5F7FA, var(--tw-gradient-to, rgb(245 247 250 / 0)); +} +.via-lilac-300{ + --tw-gradient-stops: var(--tw-gradient-from), #EDF0FC, var(--tw-gradient-to, rgb(237 240 252 / 0)); +} +.via-lilac-900{ + --tw-gradient-stops: var(--tw-gradient-from), #DCE2F9, var(--tw-gradient-to, rgb(220 226 249 / 0)); +} +.via-lilac{ + --tw-gradient-stops: var(--tw-gradient-from), #F8F9FE, var(--tw-gradient-to, rgb(248 249 254 / 0)); +} +.via-golden-900{ + --tw-gradient-stops: var(--tw-gradient-from), #BFB882, var(--tw-gradient-to, rgb(191 184 130 / 0)); +} +.via-golden{ + --tw-gradient-stops: var(--tw-gradient-from), #D1C989, var(--tw-gradient-to, rgb(209 201 137 / 0)); +} +.via-status-success{ + --tw-gradient-stops: var(--tw-gradient-from), #F1F6EE, var(--tw-gradient-to, rgb(241 246 238 / 0)); +} +.via-status-danger{ + --tw-gradient-stops: var(--tw-gradient-from), #fae6e6, var(--tw-gradient-to, rgb(250 230 230 / 0)); +} +.via-status-sent{ + --tw-gradient-stops: var(--tw-gradient-from), #FEF5E7, var(--tw-gradient-to, rgb(254 245 231 / 0)); +} +.via-status-viewed{ + --tw-gradient-stops: var(--tw-gradient-from), #EEEEF3, var(--tw-gradient-to, rgb(238 238 243 / 0)); +} +.via-status-draft{ + --tw-gradient-stops: var(--tw-gradient-from), #ECECEC, var(--tw-gradient-to, rgb(236 236 236 / 0)); +} +.via-status-partial{ + --tw-gradient-stops: var(--tw-gradient-from), #E6F1F6, var(--tw-gradient-to, rgb(230 241 246 / 0)); +} +.via-status-canceled{ + --tw-gradient-stops: var(--tw-gradient-from), #282828, var(--tw-gradient-to, rgb(40 40 40 / 0)); +} +.via-status-warning{ + --tw-gradient-stops: var(--tw-gradient-from), #FEF5E7, var(--tw-gradient-to, rgb(254 245 231 / 0)); +} +.via-text-status-success{ + --tw-gradient-stops: var(--tw-gradient-from), #63914A, var(--tw-gradient-to, rgb(99 145 74 / 0)); +} +.via-text-status-danger{ + --tw-gradient-stops: var(--tw-gradient-from), #B80000, var(--tw-gradient-to, rgb(184 0 0 / 0)); +} +.via-text-status-sent{ + --tw-gradient-stops: var(--tw-gradient-from), #DD8E0A, var(--tw-gradient-to, rgb(221 142 10 / 0)); +} +.via-text-status-viewed{ + --tw-gradient-stops: var(--tw-gradient-from), #4D4F7D, var(--tw-gradient-to, rgb(77 79 125 / 0)); +} +.via-text-status-draft{ + --tw-gradient-stops: var(--tw-gradient-from), #3B3B3B, var(--tw-gradient-to, rgb(59 59 59 / 0)); +} +.via-text-status-partial{ + --tw-gradient-stops: var(--tw-gradient-from), #006395, var(--tw-gradient-to, rgb(0 99 149 / 0)); +} +.via-text-status-canceled{ + --tw-gradient-stops: var(--tw-gradient-from), #ffffff, var(--tw-gradient-to, rgb(255 255 255 / 0)); +} +.via-text-status-warning{ + --tw-gradient-stops: var(--tw-gradient-from), #b87708, var(--tw-gradient-to, rgb(184 119 8 / 0)); +} +.via-body{ + --tw-gradient-stops: var(--tw-gradient-from), #fcfcfc, var(--tw-gradient-to, rgb(252 252 252 / 0)); +} +.via-light-gray{ + --tw-gradient-stops: var(--tw-gradient-from), #C7C9D9, var(--tw-gradient-to, rgb(199 201 217 / 0)); +} +.via-dark-blue{ + --tw-gradient-stops: var(--tw-gradient-from), #15284B, var(--tw-gradient-to, rgb(21 40 75 / 0)); +} +.via-lighter-gray{ + --tw-gradient-stops: var(--tw-gradient-from), #F2F2F5, var(--tw-gradient-to, rgb(242 242 245 / 0)); +} +.via-purple-lighter{ + --tw-gradient-stops: var(--tw-gradient-from), #F2F4FC, var(--tw-gradient-to, rgb(242 244 252 / 0)); +} +.via-modal-background{ + --tw-gradient-stops: var(--tw-gradient-from), rgba(0, 0, 0, 0.3), var(--tw-gradient-to, rgb(0 0 0 / 0)); +} +.via-testing{ + --tw-gradient-stops: var(--tw-gradient-from), #935f07, var(--tw-gradient-to, rgb(147 95 7 / 0)); +} +.to-inherit{ + --tw-gradient-to: inherit; +} +.to-current{ + --tw-gradient-to: currentColor; +} +.to-transparent{ + --tw-gradient-to: transparent; +} +.to-black-50{ + --tw-gradient-to: #f6f6f6; +} +.to-black-100{ + --tw-gradient-to: #ececec; +} +.to-black-200{ + --tw-gradient-to: #d0d0d0; +} +.to-black-300{ + --tw-gradient-to: #b3b3b3; +} +.to-black-400{ + --tw-gradient-to: #7b7b7b; +} +.to-black-500{ + --tw-gradient-to: #424242; +} +.to-black-600{ + --tw-gradient-to: #3b3b3b; +} +.to-black-700{ + --tw-gradient-to: #323232; +} +.to-black-800{ + --tw-gradient-to: #282828; +} +.to-black-900{ + --tw-gradient-to: #202020; +} +.to-black{ + --tw-gradient-to: #424242; +} +.to-white{ + --tw-gradient-to: #ffffff; +} +.to-slate-50{ + --tw-gradient-to: #f8fafc; +} +.to-slate-100{ + --tw-gradient-to: #f1f5f9; +} +.to-slate-200{ + --tw-gradient-to: #e2e8f0; +} +.to-slate-300{ + --tw-gradient-to: #cbd5e1; +} +.to-slate-400{ + --tw-gradient-to: #94a3b8; +} +.to-slate-500{ + --tw-gradient-to: #64748b; +} +.to-slate-600{ + --tw-gradient-to: #475569; +} +.to-slate-700{ + --tw-gradient-to: #334155; +} +.to-slate-800{ + --tw-gradient-to: #1e293b; +} +.to-slate-900{ + --tw-gradient-to: #0f172a; +} +.to-gray-50{ + --tw-gradient-to: #F9FAFB; +} +.to-gray-100{ + --tw-gradient-to: #F3F4F6; +} +.to-gray-200{ + --tw-gradient-to: #E5E7EB; +} +.to-gray-300{ + --tw-gradient-to: #D1D5DB; +} +.to-gray-400{ + --tw-gradient-to: #9CA3AF; +} +.to-gray-500{ + --tw-gradient-to: #6B7280; +} +.to-gray-600{ + --tw-gradient-to: #4B5563; +} +.to-gray-700{ + --tw-gradient-to: #374151; +} +.to-gray-800{ + --tw-gradient-to: #1F2937; +} +.to-gray-900{ + --tw-gradient-to: #111827; +} +.to-zinc-50{ + --tw-gradient-to: #fafafa; +} +.to-zinc-100{ + --tw-gradient-to: #f4f4f5; +} +.to-zinc-200{ + --tw-gradient-to: #e4e4e7; +} +.to-zinc-300{ + --tw-gradient-to: #d4d4d8; +} +.to-zinc-400{ + --tw-gradient-to: #a1a1aa; +} +.to-zinc-500{ + --tw-gradient-to: #71717a; +} +.to-zinc-600{ + --tw-gradient-to: #52525b; +} +.to-zinc-700{ + --tw-gradient-to: #3f3f46; +} +.to-zinc-800{ + --tw-gradient-to: #27272a; +} +.to-zinc-900{ + --tw-gradient-to: #18181b; +} +.to-neutral-50{ + --tw-gradient-to: #fafafa; +} +.to-neutral-100{ + --tw-gradient-to: #f5f5f5; +} +.to-neutral-200{ + --tw-gradient-to: #e5e5e5; +} +.to-neutral-300{ + --tw-gradient-to: #d4d4d4; +} +.to-neutral-400{ + --tw-gradient-to: #a3a3a3; +} +.to-neutral-500{ + --tw-gradient-to: #737373; +} +.to-neutral-600{ + --tw-gradient-to: #525252; +} +.to-neutral-700{ + --tw-gradient-to: #404040; +} +.to-neutral-800{ + --tw-gradient-to: #262626; +} +.to-neutral-900{ + --tw-gradient-to: #171717; +} +.to-stone-50{ + --tw-gradient-to: #fafaf9; +} +.to-stone-100{ + --tw-gradient-to: #f5f5f4; +} +.to-stone-200{ + --tw-gradient-to: #e7e5e4; +} +.to-stone-300{ + --tw-gradient-to: #d6d3d1; +} +.to-stone-400{ + --tw-gradient-to: #a8a29e; +} +.to-stone-500{ + --tw-gradient-to: #78716c; +} +.to-stone-600{ + --tw-gradient-to: #57534e; +} +.to-stone-700{ + --tw-gradient-to: #44403c; +} +.to-stone-800{ + --tw-gradient-to: #292524; +} +.to-stone-900{ + --tw-gradient-to: #1c1917; +} +.to-red-50{ + --tw-gradient-to: #fcf2f2; +} +.to-red-100{ + --tw-gradient-to: #fae6e6; +} +.to-red-200{ + --tw-gradient-to: #f2bfbf; +} +.to-red-300{ + --tw-gradient-to: #eb9999; +} +.to-red-400{ + --tw-gradient-to: #db4d4d; +} +.to-red-500{ + --tw-gradient-to: #cc0000; +} +.to-red-600{ + --tw-gradient-to: #b80000; +} +.to-red-700{ + --tw-gradient-to: #990000; +} +.to-red-800{ + --tw-gradient-to: #7a0000; +} +.to-red-900{ + --tw-gradient-to: #640000; +} +.to-red{ + --tw-gradient-to: #cc0000; +} +.to-orange-50{ + --tw-gradient-to: #fffaf3; +} +.to-orange-100{ + --tw-gradient-to: #fef5e7; +} +.to-orange-200{ + --tw-gradient-to: #fde7c2; +} +.to-orange-300{ + --tw-gradient-to: #fbd89d; +} +.to-orange-400{ + --tw-gradient-to: #f8bb54; +} +.to-orange-500{ + --tw-gradient-to: #f59e0b; +} +.to-orange-600{ + --tw-gradient-to: #dd8e0a; +} +.to-orange-700{ + --tw-gradient-to: #b87708; +} +.to-orange-800{ + --tw-gradient-to: #935f07; +} +.to-orange-900{ + --tw-gradient-to: #784d05; +} +.to-orange{ + --tw-gradient-to: #f59e0b; +} +.to-amber-50{ + --tw-gradient-to: #fffbeb; +} +.to-amber-100{ + --tw-gradient-to: #fef3c7; +} +.to-amber-200{ + --tw-gradient-to: #fde68a; +} +.to-amber-300{ + --tw-gradient-to: #fcd34d; +} +.to-amber-400{ + --tw-gradient-to: #fbbf24; +} +.to-amber-500{ + --tw-gradient-to: #f59e0b; +} +.to-amber-600{ + --tw-gradient-to: #d97706; +} +.to-amber-700{ + --tw-gradient-to: #b45309; +} +.to-amber-800{ + --tw-gradient-to: #92400e; +} +.to-amber-900{ + --tw-gradient-to: #78350f; +} +.to-yellow-50{ + --tw-gradient-to: #FDFDEA; +} +.to-yellow-100{ + --tw-gradient-to: #FDF6B2; +} +.to-yellow-200{ + --tw-gradient-to: #FCE96A; +} +.to-yellow-300{ + --tw-gradient-to: #FACA15; +} +.to-yellow-400{ + --tw-gradient-to: #E3A008; +} +.to-yellow-500{ + --tw-gradient-to: #C27803; +} +.to-yellow-600{ + --tw-gradient-to: #9F580A; +} +.to-yellow-700{ + --tw-gradient-to: #8E4B10; +} +.to-yellow-800{ + --tw-gradient-to: #723B13; +} +.to-yellow-900{ + --tw-gradient-to: #633112; +} +.to-lime-50{ + --tw-gradient-to: #f7fee7; +} +.to-lime-100{ + --tw-gradient-to: #ecfccb; +} +.to-lime-200{ + --tw-gradient-to: #d9f99d; +} +.to-lime-300{ + --tw-gradient-to: #bef264; +} +.to-lime-400{ + --tw-gradient-to: #a3e635; +} +.to-lime-500{ + --tw-gradient-to: #84cc16; +} +.to-lime-600{ + --tw-gradient-to: #65a30d; +} +.to-lime-700{ + --tw-gradient-to: #4d7c0f; +} +.to-lime-800{ + --tw-gradient-to: #3f6212; +} +.to-lime-900{ + --tw-gradient-to: #365314; +} +.to-green-50{ + --tw-gradient-to: #f8faf6; +} +.to-green-100{ + --tw-gradient-to: #f1f6ee; +} +.to-green-200{ + --tw-gradient-to: #dbe8d4; +} +.to-green-300{ + --tw-gradient-to: #c5d9ba; +} +.to-green-400{ + --tw-gradient-to: #9abd86; +} +.to-green-500{ + --tw-gradient-to: #6ea152; +} +.to-green-600{ + --tw-gradient-to: #63914a; +} +.to-green-700{ + --tw-gradient-to: #53793e; +} +.to-green-800{ + --tw-gradient-to: #426131; +} +.to-green-900{ + --tw-gradient-to: #364f28; +} +.to-green{ + --tw-gradient-to: #6ea152; +} +.to-emerald-50{ + --tw-gradient-to: #ecfdf5; +} +.to-emerald-100{ + --tw-gradient-to: #d1fae5; +} +.to-emerald-200{ + --tw-gradient-to: #a7f3d0; +} +.to-emerald-300{ + --tw-gradient-to: #6ee7b7; +} +.to-emerald-400{ + --tw-gradient-to: #34d399; +} +.to-emerald-500{ + --tw-gradient-to: #10b981; +} +.to-emerald-600{ + --tw-gradient-to: #059669; +} +.to-emerald-700{ + --tw-gradient-to: #047857; +} +.to-emerald-800{ + --tw-gradient-to: #065f46; +} +.to-emerald-900{ + --tw-gradient-to: #064e3b; +} +.to-teal-50{ + --tw-gradient-to: #EDFAFA; +} +.to-teal-100{ + --tw-gradient-to: #D5F5F6; +} +.to-teal-200{ + --tw-gradient-to: #AFECEF; +} +.to-teal-300{ + --tw-gradient-to: #7EDCE2; +} +.to-teal-400{ + --tw-gradient-to: #16BDCA; +} +.to-teal-500{ + --tw-gradient-to: #0694A2; +} +.to-teal-600{ + --tw-gradient-to: #047481; +} +.to-teal-700{ + --tw-gradient-to: #036672; +} +.to-teal-800{ + --tw-gradient-to: #05505C; +} +.to-teal-900{ + --tw-gradient-to: #014451; +} +.to-cyan-50{ + --tw-gradient-to: #ecfeff; +} +.to-cyan-100{ + --tw-gradient-to: #cffafe; +} +.to-cyan-200{ + --tw-gradient-to: #a5f3fc; +} +.to-cyan-300{ + --tw-gradient-to: #67e8f9; +} +.to-cyan-400{ + --tw-gradient-to: #22d3ee; +} +.to-cyan-500{ + --tw-gradient-to: #06b6d4; +} +.to-cyan-600{ + --tw-gradient-to: #0891b2; +} +.to-cyan-700{ + --tw-gradient-to: #0e7490; +} +.to-cyan-800{ + --tw-gradient-to: #155e75; +} +.to-cyan-900{ + --tw-gradient-to: #164e63; +} +.to-sky-50{ + --tw-gradient-to: #f0f9ff; +} +.to-sky-100{ + --tw-gradient-to: #e0f2fe; +} +.to-sky-200{ + --tw-gradient-to: #bae6fd; +} +.to-sky-300{ + --tw-gradient-to: #7dd3fc; +} +.to-sky-400{ + --tw-gradient-to: #38bdf8; +} +.to-sky-500{ + --tw-gradient-to: #0ea5e9; +} +.to-sky-600{ + --tw-gradient-to: #0284c7; +} +.to-sky-700{ + --tw-gradient-to: #0369a1; +} +.to-sky-800{ + --tw-gradient-to: #075985; +} +.to-sky-900{ + --tw-gradient-to: #0c4a6e; +} +.to-blue-50{ + --tw-gradient-to: #f2f8fb; +} +.to-blue-100{ + --tw-gradient-to: #e6f1f6; +} +.to-blue-200{ + --tw-gradient-to: #bfdbe9; +} +.to-blue-300{ + --tw-gradient-to: #99c5db; +} +.to-blue-400{ + --tw-gradient-to: #4d9ac1; +} +.to-blue-500{ + --tw-gradient-to: #006ea6; +} +.to-blue-600{ + --tw-gradient-to: #006395; +} +.to-blue-700{ + --tw-gradient-to: #00537d; +} +.to-blue-800{ + --tw-gradient-to: #004264; +} +.to-blue-900{ + --tw-gradient-to: #003651; +} +.to-blue{ + --tw-gradient-to: #006ea6; +} +.to-indigo-50{ + --tw-gradient-to: #F0F5FF; +} +.to-indigo-100{ + --tw-gradient-to: #E5EDFF; +} +.to-indigo-200{ + --tw-gradient-to: #CDDBFE; +} +.to-indigo-300{ + --tw-gradient-to: #B4C6FC; +} +.to-indigo-400{ + --tw-gradient-to: #8DA2FB; +} +.to-indigo-500{ + --tw-gradient-to: #6875F5; +} +.to-indigo-600{ + --tw-gradient-to: #5850EC; +} +.to-indigo-700{ + --tw-gradient-to: #5145CD; +} +.to-indigo-800{ + --tw-gradient-to: #42389D; +} +.to-indigo-900{ + --tw-gradient-to: #362F78; +} +.to-violet-50{ + --tw-gradient-to: #f5f3ff; +} +.to-violet-100{ + --tw-gradient-to: #ede9fe; +} +.to-violet-200{ + --tw-gradient-to: #ddd6fe; +} +.to-violet-300{ + --tw-gradient-to: #c4b5fd; +} +.to-violet-400{ + --tw-gradient-to: #a78bfa; +} +.to-violet-500{ + --tw-gradient-to: #8b5cf6; +} +.to-violet-600{ + --tw-gradient-to: #7c3aed; +} +.to-violet-700{ + --tw-gradient-to: #6d28d9; +} +.to-violet-800{ + --tw-gradient-to: #5b21b6; +} +.to-violet-900{ + --tw-gradient-to: #4c1d95; +} +.to-purple-50{ + --tw-gradient-to: #f7f7f9; +} +.to-purple-100{ + --tw-gradient-to: #eeeef3; +} +.to-purple-200{ + --tw-gradient-to: #d5d5e2; +} +.to-purple-300{ + --tw-gradient-to: #bbbcd1; +} +.to-purple-400{ + --tw-gradient-to: #888aae; +} +.to-purple-500{ + --tw-gradient-to: #55588b; +} +.to-purple-600{ + --tw-gradient-to: #4d4f7d; +} +.to-purple-700{ + --tw-gradient-to: #404268; +} +.to-purple-800{ + --tw-gradient-to: #333553; +} +.to-purple-900{ + --tw-gradient-to: #2a2b44; +} +.to-purple{ + --tw-gradient-to: #55588b; +} +.to-fuchsia-50{ + --tw-gradient-to: #fdf4ff; +} +.to-fuchsia-100{ + --tw-gradient-to: #fae8ff; +} +.to-fuchsia-200{ + --tw-gradient-to: #f5d0fe; +} +.to-fuchsia-300{ + --tw-gradient-to: #f0abfc; +} +.to-fuchsia-400{ + --tw-gradient-to: #e879f9; +} +.to-fuchsia-500{ + --tw-gradient-to: #d946ef; +} +.to-fuchsia-600{ + --tw-gradient-to: #c026d3; +} +.to-fuchsia-700{ + --tw-gradient-to: #a21caf; +} +.to-fuchsia-800{ + --tw-gradient-to: #86198f; +} +.to-fuchsia-900{ + --tw-gradient-to: #701a75; +} +.to-pink-50{ + --tw-gradient-to: #FDF2F8; +} +.to-pink-100{ + --tw-gradient-to: #FCE8F3; +} +.to-pink-200{ + --tw-gradient-to: #FAD1E8; +} +.to-pink-300{ + --tw-gradient-to: #F8B4D9; +} +.to-pink-400{ + --tw-gradient-to: #F17EB8; +} +.to-pink-500{ + --tw-gradient-to: #E74694; +} +.to-pink-600{ + --tw-gradient-to: #D61F69; +} +.to-pink-700{ + --tw-gradient-to: #BF125D; +} +.to-pink-800{ + --tw-gradient-to: #99154B; +} +.to-pink-900{ + --tw-gradient-to: #751A3D; +} +.to-rose-50{ + --tw-gradient-to: #fff1f2; +} +.to-rose-100{ + --tw-gradient-to: #ffe4e6; +} +.to-rose-200{ + --tw-gradient-to: #fecdd3; +} +.to-rose-300{ + --tw-gradient-to: #fda4af; +} +.to-rose-400{ + --tw-gradient-to: #fb7185; +} +.to-rose-500{ + --tw-gradient-to: #f43f5e; +} +.to-rose-600{ + --tw-gradient-to: #e11d48; +} +.to-rose-700{ + --tw-gradient-to: #be123c; +} +.to-rose-800{ + --tw-gradient-to: #9f1239; +} +.to-rose-900{ + --tw-gradient-to: #881337; +} +.to-rose{ + --tw-gradient-to: #f43f5e; +} +.to-lilac-100{ + --tw-gradient-to: #F5F7FA; +} +.to-lilac-300{ + --tw-gradient-to: #EDF0FC; +} +.to-lilac-900{ + --tw-gradient-to: #DCE2F9; +} +.to-lilac{ + --tw-gradient-to: #F8F9FE; +} +.to-golden-900{ + --tw-gradient-to: #BFB882; +} +.to-golden{ + --tw-gradient-to: #D1C989; +} +.to-status-success{ + --tw-gradient-to: #F1F6EE; +} +.to-status-danger{ + --tw-gradient-to: #fae6e6; +} +.to-status-sent{ + --tw-gradient-to: #FEF5E7; +} +.to-status-viewed{ + --tw-gradient-to: #EEEEF3; +} +.to-status-draft{ + --tw-gradient-to: #ECECEC; +} +.to-status-partial{ + --tw-gradient-to: #E6F1F6; +} +.to-status-canceled{ + --tw-gradient-to: #282828; +} +.to-status-warning{ + --tw-gradient-to: #FEF5E7; +} +.to-text-status-success{ + --tw-gradient-to: #63914A; +} +.to-text-status-danger{ + --tw-gradient-to: #B80000; +} +.to-text-status-sent{ + --tw-gradient-to: #DD8E0A; +} +.to-text-status-viewed{ + --tw-gradient-to: #4D4F7D; +} +.to-text-status-draft{ + --tw-gradient-to: #3B3B3B; +} +.to-text-status-partial{ + --tw-gradient-to: #006395; +} +.to-text-status-canceled{ + --tw-gradient-to: #ffffff; +} +.to-text-status-warning{ + --tw-gradient-to: #b87708; +} +.to-body{ + --tw-gradient-to: #fcfcfc; +} +.to-light-gray{ + --tw-gradient-to: #C7C9D9; +} +.to-dark-blue{ + --tw-gradient-to: #15284B; +} +.to-lighter-gray{ + --tw-gradient-to: #F2F2F5; +} +.to-purple-lighter{ + --tw-gradient-to: #F2F4FC; +} +.to-modal-background{ + --tw-gradient-to: rgba(0, 0, 0, 0.3); +} +.to-testing{ + --tw-gradient-to: #935f07; +} +.decoration-slice{ + -webkit-box-decoration-break: slice; + box-decoration-break: slice; +} +.decoration-clone{ + -webkit-box-decoration-break: clone; + box-decoration-break: clone; +} +.box-decoration-slice{ + -webkit-box-decoration-break: slice; + box-decoration-break: slice; +} +.box-decoration-clone{ + -webkit-box-decoration-break: clone; + box-decoration-break: clone; +} +.bg-auto{ + background-size: auto; +} +.bg-cover{ + background-size: cover; +} +.bg-contain{ + background-size: contain; +} +.bg-fixed{ + background-attachment: fixed; +} +.bg-local{ + background-attachment: local; +} +.bg-scroll{ + background-attachment: scroll; +} +.bg-clip-border{ + background-clip: border-box; +} +.bg-clip-padding{ + background-clip: padding-box; +} +.bg-clip-content{ + background-clip: content-box; +} +.bg-clip-text{ + -webkit-background-clip: text; + background-clip: text; +} +.bg-bottom{ + background-position: bottom; +} +.bg-center{ + background-position: center; +} +.bg-left{ + background-position: left; +} +.bg-left-bottom{ + background-position: left bottom; +} +.bg-left-top{ + background-position: left top; +} +.bg-right{ + background-position: right; +} +.bg-right-bottom{ + background-position: right bottom; +} +.bg-right-top{ + background-position: right top; +} +.bg-top{ + background-position: top; +} +.bg-repeat{ + background-repeat: repeat; +} +.bg-no-repeat{ + background-repeat: no-repeat; +} +.bg-repeat-x{ + background-repeat: repeat-x; +} +.bg-repeat-y{ + background-repeat: repeat-y; +} +.bg-repeat-round{ + background-repeat: round; +} +.bg-repeat-space{ + background-repeat: space; +} +.bg-origin-border{ + background-origin: border-box; +} +.bg-origin-padding{ + background-origin: padding-box; +} +.bg-origin-content{ + background-origin: content-box; +} +.fill-inherit{ + fill: inherit; +} +.fill-current{ + fill: currentColor; +} +.fill-transparent{ + fill: transparent; +} +.fill-black-50{ + fill: #f6f6f6; +} +.fill-black-100{ + fill: #ececec; +} +.fill-black-200{ + fill: #d0d0d0; +} +.fill-black-300{ + fill: #b3b3b3; +} +.fill-black-400{ + fill: #7b7b7b; +} +.fill-black-500{ + fill: #424242; +} +.fill-black-600{ + fill: #3b3b3b; +} +.fill-black-700{ + fill: #323232; +} +.fill-black-800{ + fill: #282828; +} +.fill-black-900{ + fill: #202020; +} +.fill-black{ + fill: #424242; +} +.fill-white{ + fill: #ffffff; +} +.fill-slate-50{ + fill: #f8fafc; +} +.fill-slate-100{ + fill: #f1f5f9; +} +.fill-slate-200{ + fill: #e2e8f0; +} +.fill-slate-300{ + fill: #cbd5e1; +} +.fill-slate-400{ + fill: #94a3b8; +} +.fill-slate-500{ + fill: #64748b; +} +.fill-slate-600{ + fill: #475569; +} +.fill-slate-700{ + fill: #334155; +} +.fill-slate-800{ + fill: #1e293b; +} +.fill-slate-900{ + fill: #0f172a; +} +.fill-gray-50{ + fill: #F9FAFB; +} +.fill-gray-100{ + fill: #F3F4F6; +} +.fill-gray-200{ + fill: #E5E7EB; +} +.fill-gray-300{ + fill: #D1D5DB; +} +.fill-gray-400{ + fill: #9CA3AF; +} +.fill-gray-500{ + fill: #6B7280; +} +.fill-gray-600{ + fill: #4B5563; +} +.fill-gray-700{ + fill: #374151; +} +.fill-gray-800{ + fill: #1F2937; +} +.fill-gray-900{ + fill: #111827; +} +.fill-zinc-50{ + fill: #fafafa; +} +.fill-zinc-100{ + fill: #f4f4f5; +} +.fill-zinc-200{ + fill: #e4e4e7; +} +.fill-zinc-300{ + fill: #d4d4d8; +} +.fill-zinc-400{ + fill: #a1a1aa; +} +.fill-zinc-500{ + fill: #71717a; +} +.fill-zinc-600{ + fill: #52525b; +} +.fill-zinc-700{ + fill: #3f3f46; +} +.fill-zinc-800{ + fill: #27272a; +} +.fill-zinc-900{ + fill: #18181b; +} +.fill-neutral-50{ + fill: #fafafa; +} +.fill-neutral-100{ + fill: #f5f5f5; +} +.fill-neutral-200{ + fill: #e5e5e5; +} +.fill-neutral-300{ + fill: #d4d4d4; +} +.fill-neutral-400{ + fill: #a3a3a3; +} +.fill-neutral-500{ + fill: #737373; +} +.fill-neutral-600{ + fill: #525252; +} +.fill-neutral-700{ + fill: #404040; +} +.fill-neutral-800{ + fill: #262626; +} +.fill-neutral-900{ + fill: #171717; +} +.fill-stone-50{ + fill: #fafaf9; +} +.fill-stone-100{ + fill: #f5f5f4; +} +.fill-stone-200{ + fill: #e7e5e4; +} +.fill-stone-300{ + fill: #d6d3d1; +} +.fill-stone-400{ + fill: #a8a29e; +} +.fill-stone-500{ + fill: #78716c; +} +.fill-stone-600{ + fill: #57534e; +} +.fill-stone-700{ + fill: #44403c; +} +.fill-stone-800{ + fill: #292524; +} +.fill-stone-900{ + fill: #1c1917; +} +.fill-red-50{ + fill: #fcf2f2; +} +.fill-red-100{ + fill: #fae6e6; +} +.fill-red-200{ + fill: #f2bfbf; +} +.fill-red-300{ + fill: #eb9999; +} +.fill-red-400{ + fill: #db4d4d; +} +.fill-red-500{ + fill: #cc0000; +} +.fill-red-600{ + fill: #b80000; +} +.fill-red-700{ + fill: #990000; +} +.fill-red-800{ + fill: #7a0000; +} +.fill-red-900{ + fill: #640000; +} +.fill-red{ + fill: #cc0000; +} +.fill-orange-50{ + fill: #fffaf3; +} +.fill-orange-100{ + fill: #fef5e7; +} +.fill-orange-200{ + fill: #fde7c2; +} +.fill-orange-300{ + fill: #fbd89d; +} +.fill-orange-400{ + fill: #f8bb54; +} +.fill-orange-500{ + fill: #f59e0b; +} +.fill-orange-600{ + fill: #dd8e0a; +} +.fill-orange-700{ + fill: #b87708; +} +.fill-orange-800{ + fill: #935f07; +} +.fill-orange-900{ + fill: #784d05; +} +.fill-orange{ + fill: #f59e0b; +} +.fill-amber-50{ + fill: #fffbeb; +} +.fill-amber-100{ + fill: #fef3c7; +} +.fill-amber-200{ + fill: #fde68a; +} +.fill-amber-300{ + fill: #fcd34d; +} +.fill-amber-400{ + fill: #fbbf24; +} +.fill-amber-500{ + fill: #f59e0b; +} +.fill-amber-600{ + fill: #d97706; +} +.fill-amber-700{ + fill: #b45309; +} +.fill-amber-800{ + fill: #92400e; +} +.fill-amber-900{ + fill: #78350f; +} +.fill-yellow-50{ + fill: #FDFDEA; +} +.fill-yellow-100{ + fill: #FDF6B2; +} +.fill-yellow-200{ + fill: #FCE96A; +} +.fill-yellow-300{ + fill: #FACA15; +} +.fill-yellow-400{ + fill: #E3A008; +} +.fill-yellow-500{ + fill: #C27803; +} +.fill-yellow-600{ + fill: #9F580A; +} +.fill-yellow-700{ + fill: #8E4B10; +} +.fill-yellow-800{ + fill: #723B13; +} +.fill-yellow-900{ + fill: #633112; +} +.fill-lime-50{ + fill: #f7fee7; +} +.fill-lime-100{ + fill: #ecfccb; +} +.fill-lime-200{ + fill: #d9f99d; +} +.fill-lime-300{ + fill: #bef264; +} +.fill-lime-400{ + fill: #a3e635; +} +.fill-lime-500{ + fill: #84cc16; +} +.fill-lime-600{ + fill: #65a30d; +} +.fill-lime-700{ + fill: #4d7c0f; +} +.fill-lime-800{ + fill: #3f6212; +} +.fill-lime-900{ + fill: #365314; +} +.fill-green-50{ + fill: #f8faf6; +} +.fill-green-100{ + fill: #f1f6ee; +} +.fill-green-200{ + fill: #dbe8d4; +} +.fill-green-300{ + fill: #c5d9ba; +} +.fill-green-400{ + fill: #9abd86; +} +.fill-green-500{ + fill: #6ea152; +} +.fill-green-600{ + fill: #63914a; +} +.fill-green-700{ + fill: #53793e; +} +.fill-green-800{ + fill: #426131; +} +.fill-green-900{ + fill: #364f28; +} +.fill-green{ + fill: #6ea152; +} +.fill-emerald-50{ + fill: #ecfdf5; +} +.fill-emerald-100{ + fill: #d1fae5; +} +.fill-emerald-200{ + fill: #a7f3d0; +} +.fill-emerald-300{ + fill: #6ee7b7; +} +.fill-emerald-400{ + fill: #34d399; +} +.fill-emerald-500{ + fill: #10b981; +} +.fill-emerald-600{ + fill: #059669; +} +.fill-emerald-700{ + fill: #047857; +} +.fill-emerald-800{ + fill: #065f46; +} +.fill-emerald-900{ + fill: #064e3b; +} +.fill-teal-50{ + fill: #EDFAFA; +} +.fill-teal-100{ + fill: #D5F5F6; +} +.fill-teal-200{ + fill: #AFECEF; +} +.fill-teal-300{ + fill: #7EDCE2; +} +.fill-teal-400{ + fill: #16BDCA; +} +.fill-teal-500{ + fill: #0694A2; +} +.fill-teal-600{ + fill: #047481; +} +.fill-teal-700{ + fill: #036672; +} +.fill-teal-800{ + fill: #05505C; +} +.fill-teal-900{ + fill: #014451; +} +.fill-cyan-50{ + fill: #ecfeff; +} +.fill-cyan-100{ + fill: #cffafe; +} +.fill-cyan-200{ + fill: #a5f3fc; +} +.fill-cyan-300{ + fill: #67e8f9; +} +.fill-cyan-400{ + fill: #22d3ee; +} +.fill-cyan-500{ + fill: #06b6d4; +} +.fill-cyan-600{ + fill: #0891b2; +} +.fill-cyan-700{ + fill: #0e7490; +} +.fill-cyan-800{ + fill: #155e75; +} +.fill-cyan-900{ + fill: #164e63; +} +.fill-sky-50{ + fill: #f0f9ff; +} +.fill-sky-100{ + fill: #e0f2fe; +} +.fill-sky-200{ + fill: #bae6fd; +} +.fill-sky-300{ + fill: #7dd3fc; +} +.fill-sky-400{ + fill: #38bdf8; +} +.fill-sky-500{ + fill: #0ea5e9; +} +.fill-sky-600{ + fill: #0284c7; +} +.fill-sky-700{ + fill: #0369a1; +} +.fill-sky-800{ + fill: #075985; +} +.fill-sky-900{ + fill: #0c4a6e; +} +.fill-blue-50{ + fill: #f2f8fb; +} +.fill-blue-100{ + fill: #e6f1f6; +} +.fill-blue-200{ + fill: #bfdbe9; +} +.fill-blue-300{ + fill: #99c5db; +} +.fill-blue-400{ + fill: #4d9ac1; +} +.fill-blue-500{ + fill: #006ea6; +} +.fill-blue-600{ + fill: #006395; +} +.fill-blue-700{ + fill: #00537d; +} +.fill-blue-800{ + fill: #004264; +} +.fill-blue-900{ + fill: #003651; +} +.fill-blue{ + fill: #006ea6; +} +.fill-indigo-50{ + fill: #F0F5FF; +} +.fill-indigo-100{ + fill: #E5EDFF; +} +.fill-indigo-200{ + fill: #CDDBFE; +} +.fill-indigo-300{ + fill: #B4C6FC; +} +.fill-indigo-400{ + fill: #8DA2FB; +} +.fill-indigo-500{ + fill: #6875F5; +} +.fill-indigo-600{ + fill: #5850EC; +} +.fill-indigo-700{ + fill: #5145CD; +} +.fill-indigo-800{ + fill: #42389D; +} +.fill-indigo-900{ + fill: #362F78; +} +.fill-violet-50{ + fill: #f5f3ff; +} +.fill-violet-100{ + fill: #ede9fe; +} +.fill-violet-200{ + fill: #ddd6fe; +} +.fill-violet-300{ + fill: #c4b5fd; +} +.fill-violet-400{ + fill: #a78bfa; +} +.fill-violet-500{ + fill: #8b5cf6; +} +.fill-violet-600{ + fill: #7c3aed; +} +.fill-violet-700{ + fill: #6d28d9; +} +.fill-violet-800{ + fill: #5b21b6; +} +.fill-violet-900{ + fill: #4c1d95; +} +.fill-purple-50{ + fill: #f7f7f9; +} +.fill-purple-100{ + fill: #eeeef3; +} +.fill-purple-200{ + fill: #d5d5e2; +} +.fill-purple-300{ + fill: #bbbcd1; +} +.fill-purple-400{ + fill: #888aae; +} +.fill-purple-500{ + fill: #55588b; +} +.fill-purple-600{ + fill: #4d4f7d; +} +.fill-purple-700{ + fill: #404268; +} +.fill-purple-800{ + fill: #333553; +} +.fill-purple-900{ + fill: #2a2b44; +} +.fill-purple{ + fill: #55588b; +} +.fill-fuchsia-50{ + fill: #fdf4ff; +} +.fill-fuchsia-100{ + fill: #fae8ff; +} +.fill-fuchsia-200{ + fill: #f5d0fe; +} +.fill-fuchsia-300{ + fill: #f0abfc; +} +.fill-fuchsia-400{ + fill: #e879f9; +} +.fill-fuchsia-500{ + fill: #d946ef; +} +.fill-fuchsia-600{ + fill: #c026d3; +} +.fill-fuchsia-700{ + fill: #a21caf; +} +.fill-fuchsia-800{ + fill: #86198f; +} +.fill-fuchsia-900{ + fill: #701a75; +} +.fill-pink-50{ + fill: #FDF2F8; +} +.fill-pink-100{ + fill: #FCE8F3; +} +.fill-pink-200{ + fill: #FAD1E8; +} +.fill-pink-300{ + fill: #F8B4D9; +} +.fill-pink-400{ + fill: #F17EB8; +} +.fill-pink-500{ + fill: #E74694; +} +.fill-pink-600{ + fill: #D61F69; +} +.fill-pink-700{ + fill: #BF125D; +} +.fill-pink-800{ + fill: #99154B; +} +.fill-pink-900{ + fill: #751A3D; +} +.fill-rose-50{ + fill: #fff1f2; +} +.fill-rose-100{ + fill: #ffe4e6; +} +.fill-rose-200{ + fill: #fecdd3; +} +.fill-rose-300{ + fill: #fda4af; +} +.fill-rose-400{ + fill: #fb7185; +} +.fill-rose-500{ + fill: #f43f5e; +} +.fill-rose-600{ + fill: #e11d48; +} +.fill-rose-700{ + fill: #be123c; +} +.fill-rose-800{ + fill: #9f1239; +} +.fill-rose-900{ + fill: #881337; +} +.fill-rose{ + fill: #f43f5e; +} +.fill-lilac-100{ + fill: #F5F7FA; +} +.fill-lilac-300{ + fill: #EDF0FC; +} +.fill-lilac-900{ + fill: #DCE2F9; +} +.fill-lilac{ + fill: #F8F9FE; +} +.fill-golden-900{ + fill: #BFB882; +} +.fill-golden{ + fill: #D1C989; +} +.fill-status-success{ + fill: #F1F6EE; +} +.fill-status-danger{ + fill: #fae6e6; +} +.fill-status-sent{ + fill: #FEF5E7; +} +.fill-status-viewed{ + fill: #EEEEF3; +} +.fill-status-draft{ + fill: #ECECEC; +} +.fill-status-partial{ + fill: #E6F1F6; +} +.fill-status-canceled{ + fill: #282828; +} +.fill-status-warning{ + fill: #FEF5E7; +} +.fill-text-status-success{ + fill: #63914A; +} +.fill-text-status-danger{ + fill: #B80000; +} +.fill-text-status-sent{ + fill: #DD8E0A; +} +.fill-text-status-viewed{ + fill: #4D4F7D; +} +.fill-text-status-draft{ + fill: #3B3B3B; +} +.fill-text-status-partial{ + fill: #006395; +} +.fill-text-status-canceled{ + fill: #ffffff; +} +.fill-text-status-warning{ + fill: #b87708; +} +.fill-body{ + fill: #fcfcfc; +} +.fill-light-gray{ + fill: #C7C9D9; +} +.fill-dark-blue{ + fill: #15284B; +} +.fill-lighter-gray{ + fill: #F2F2F5; +} +.fill-purple-lighter{ + fill: #F2F4FC; +} +.fill-modal-background{ + fill: rgba(0, 0, 0, 0.3); +} +.fill-testing{ + fill: #935f07; +} +.stroke-inherit{ + stroke: inherit; +} +.stroke-current{ + stroke: currentColor; +} +.stroke-transparent{ + stroke: transparent; +} +.stroke-black-50{ + stroke: #f6f6f6; +} +.stroke-black-100{ + stroke: #ececec; +} +.stroke-black-200{ + stroke: #d0d0d0; +} +.stroke-black-300{ + stroke: #b3b3b3; +} +.stroke-black-400{ + stroke: #7b7b7b; +} +.stroke-black-500{ + stroke: #424242; +} +.stroke-black-600{ + stroke: #3b3b3b; +} +.stroke-black-700{ + stroke: #323232; +} +.stroke-black-800{ + stroke: #282828; +} +.stroke-black-900{ + stroke: #202020; +} +.stroke-black{ + stroke: #424242; +} +.stroke-white{ + stroke: #ffffff; +} +.stroke-slate-50{ + stroke: #f8fafc; +} +.stroke-slate-100{ + stroke: #f1f5f9; +} +.stroke-slate-200{ + stroke: #e2e8f0; +} +.stroke-slate-300{ + stroke: #cbd5e1; +} +.stroke-slate-400{ + stroke: #94a3b8; +} +.stroke-slate-500{ + stroke: #64748b; +} +.stroke-slate-600{ + stroke: #475569; +} +.stroke-slate-700{ + stroke: #334155; +} +.stroke-slate-800{ + stroke: #1e293b; +} +.stroke-slate-900{ + stroke: #0f172a; +} +.stroke-gray-50{ + stroke: #F9FAFB; +} +.stroke-gray-100{ + stroke: #F3F4F6; +} +.stroke-gray-200{ + stroke: #E5E7EB; +} +.stroke-gray-300{ + stroke: #D1D5DB; +} +.stroke-gray-400{ + stroke: #9CA3AF; +} +.stroke-gray-500{ + stroke: #6B7280; +} +.stroke-gray-600{ + stroke: #4B5563; +} +.stroke-gray-700{ + stroke: #374151; +} +.stroke-gray-800{ + stroke: #1F2937; +} +.stroke-gray-900{ + stroke: #111827; +} +.stroke-zinc-50{ + stroke: #fafafa; +} +.stroke-zinc-100{ + stroke: #f4f4f5; +} +.stroke-zinc-200{ + stroke: #e4e4e7; +} +.stroke-zinc-300{ + stroke: #d4d4d8; +} +.stroke-zinc-400{ + stroke: #a1a1aa; +} +.stroke-zinc-500{ + stroke: #71717a; +} +.stroke-zinc-600{ + stroke: #52525b; +} +.stroke-zinc-700{ + stroke: #3f3f46; +} +.stroke-zinc-800{ + stroke: #27272a; +} +.stroke-zinc-900{ + stroke: #18181b; +} +.stroke-neutral-50{ + stroke: #fafafa; +} +.stroke-neutral-100{ + stroke: #f5f5f5; +} +.stroke-neutral-200{ + stroke: #e5e5e5; +} +.stroke-neutral-300{ + stroke: #d4d4d4; +} +.stroke-neutral-400{ + stroke: #a3a3a3; +} +.stroke-neutral-500{ + stroke: #737373; +} +.stroke-neutral-600{ + stroke: #525252; +} +.stroke-neutral-700{ + stroke: #404040; +} +.stroke-neutral-800{ + stroke: #262626; +} +.stroke-neutral-900{ + stroke: #171717; +} +.stroke-stone-50{ + stroke: #fafaf9; +} +.stroke-stone-100{ + stroke: #f5f5f4; +} +.stroke-stone-200{ + stroke: #e7e5e4; +} +.stroke-stone-300{ + stroke: #d6d3d1; +} +.stroke-stone-400{ + stroke: #a8a29e; +} +.stroke-stone-500{ + stroke: #78716c; +} +.stroke-stone-600{ + stroke: #57534e; +} +.stroke-stone-700{ + stroke: #44403c; +} +.stroke-stone-800{ + stroke: #292524; +} +.stroke-stone-900{ + stroke: #1c1917; +} +.stroke-red-50{ + stroke: #fcf2f2; +} +.stroke-red-100{ + stroke: #fae6e6; +} +.stroke-red-200{ + stroke: #f2bfbf; +} +.stroke-red-300{ + stroke: #eb9999; +} +.stroke-red-400{ + stroke: #db4d4d; +} +.stroke-red-500{ + stroke: #cc0000; +} +.stroke-red-600{ + stroke: #b80000; +} +.stroke-red-700{ + stroke: #990000; +} +.stroke-red-800{ + stroke: #7a0000; +} +.stroke-red-900{ + stroke: #640000; +} +.stroke-red{ + stroke: #cc0000; +} +.stroke-orange-50{ + stroke: #fffaf3; +} +.stroke-orange-100{ + stroke: #fef5e7; +} +.stroke-orange-200{ + stroke: #fde7c2; +} +.stroke-orange-300{ + stroke: #fbd89d; +} +.stroke-orange-400{ + stroke: #f8bb54; +} +.stroke-orange-500{ + stroke: #f59e0b; +} +.stroke-orange-600{ + stroke: #dd8e0a; +} +.stroke-orange-700{ + stroke: #b87708; +} +.stroke-orange-800{ + stroke: #935f07; +} +.stroke-orange-900{ + stroke: #784d05; +} +.stroke-orange{ + stroke: #f59e0b; +} +.stroke-amber-50{ + stroke: #fffbeb; +} +.stroke-amber-100{ + stroke: #fef3c7; +} +.stroke-amber-200{ + stroke: #fde68a; +} +.stroke-amber-300{ + stroke: #fcd34d; +} +.stroke-amber-400{ + stroke: #fbbf24; +} +.stroke-amber-500{ + stroke: #f59e0b; +} +.stroke-amber-600{ + stroke: #d97706; +} +.stroke-amber-700{ + stroke: #b45309; +} +.stroke-amber-800{ + stroke: #92400e; +} +.stroke-amber-900{ + stroke: #78350f; +} +.stroke-yellow-50{ + stroke: #FDFDEA; +} +.stroke-yellow-100{ + stroke: #FDF6B2; +} +.stroke-yellow-200{ + stroke: #FCE96A; +} +.stroke-yellow-300{ + stroke: #FACA15; +} +.stroke-yellow-400{ + stroke: #E3A008; +} +.stroke-yellow-500{ + stroke: #C27803; +} +.stroke-yellow-600{ + stroke: #9F580A; +} +.stroke-yellow-700{ + stroke: #8E4B10; +} +.stroke-yellow-800{ + stroke: #723B13; +} +.stroke-yellow-900{ + stroke: #633112; +} +.stroke-lime-50{ + stroke: #f7fee7; +} +.stroke-lime-100{ + stroke: #ecfccb; +} +.stroke-lime-200{ + stroke: #d9f99d; +} +.stroke-lime-300{ + stroke: #bef264; +} +.stroke-lime-400{ + stroke: #a3e635; +} +.stroke-lime-500{ + stroke: #84cc16; +} +.stroke-lime-600{ + stroke: #65a30d; +} +.stroke-lime-700{ + stroke: #4d7c0f; +} +.stroke-lime-800{ + stroke: #3f6212; +} +.stroke-lime-900{ + stroke: #365314; +} +.stroke-green-50{ + stroke: #f8faf6; +} +.stroke-green-100{ + stroke: #f1f6ee; +} +.stroke-green-200{ + stroke: #dbe8d4; +} +.stroke-green-300{ + stroke: #c5d9ba; +} +.stroke-green-400{ + stroke: #9abd86; +} +.stroke-green-500{ + stroke: #6ea152; +} +.stroke-green-600{ + stroke: #63914a; +} +.stroke-green-700{ + stroke: #53793e; +} +.stroke-green-800{ + stroke: #426131; +} +.stroke-green-900{ + stroke: #364f28; +} +.stroke-green{ + stroke: #6ea152; +} +.stroke-emerald-50{ + stroke: #ecfdf5; +} +.stroke-emerald-100{ + stroke: #d1fae5; +} +.stroke-emerald-200{ + stroke: #a7f3d0; +} +.stroke-emerald-300{ + stroke: #6ee7b7; +} +.stroke-emerald-400{ + stroke: #34d399; +} +.stroke-emerald-500{ + stroke: #10b981; +} +.stroke-emerald-600{ + stroke: #059669; +} +.stroke-emerald-700{ + stroke: #047857; +} +.stroke-emerald-800{ + stroke: #065f46; +} +.stroke-emerald-900{ + stroke: #064e3b; +} +.stroke-teal-50{ + stroke: #EDFAFA; +} +.stroke-teal-100{ + stroke: #D5F5F6; +} +.stroke-teal-200{ + stroke: #AFECEF; +} +.stroke-teal-300{ + stroke: #7EDCE2; +} +.stroke-teal-400{ + stroke: #16BDCA; +} +.stroke-teal-500{ + stroke: #0694A2; +} +.stroke-teal-600{ + stroke: #047481; +} +.stroke-teal-700{ + stroke: #036672; +} +.stroke-teal-800{ + stroke: #05505C; +} +.stroke-teal-900{ + stroke: #014451; +} +.stroke-cyan-50{ + stroke: #ecfeff; +} +.stroke-cyan-100{ + stroke: #cffafe; +} +.stroke-cyan-200{ + stroke: #a5f3fc; +} +.stroke-cyan-300{ + stroke: #67e8f9; +} +.stroke-cyan-400{ + stroke: #22d3ee; +} +.stroke-cyan-500{ + stroke: #06b6d4; +} +.stroke-cyan-600{ + stroke: #0891b2; +} +.stroke-cyan-700{ + stroke: #0e7490; +} +.stroke-cyan-800{ + stroke: #155e75; +} +.stroke-cyan-900{ + stroke: #164e63; +} +.stroke-sky-50{ + stroke: #f0f9ff; +} +.stroke-sky-100{ + stroke: #e0f2fe; +} +.stroke-sky-200{ + stroke: #bae6fd; +} +.stroke-sky-300{ + stroke: #7dd3fc; +} +.stroke-sky-400{ + stroke: #38bdf8; +} +.stroke-sky-500{ + stroke: #0ea5e9; +} +.stroke-sky-600{ + stroke: #0284c7; +} +.stroke-sky-700{ + stroke: #0369a1; +} +.stroke-sky-800{ + stroke: #075985; +} +.stroke-sky-900{ + stroke: #0c4a6e; +} +.stroke-blue-50{ + stroke: #f2f8fb; +} +.stroke-blue-100{ + stroke: #e6f1f6; +} +.stroke-blue-200{ + stroke: #bfdbe9; +} +.stroke-blue-300{ + stroke: #99c5db; +} +.stroke-blue-400{ + stroke: #4d9ac1; +} +.stroke-blue-500{ + stroke: #006ea6; +} +.stroke-blue-600{ + stroke: #006395; +} +.stroke-blue-700{ + stroke: #00537d; +} +.stroke-blue-800{ + stroke: #004264; +} +.stroke-blue-900{ + stroke: #003651; +} +.stroke-blue{ + stroke: #006ea6; +} +.stroke-indigo-50{ + stroke: #F0F5FF; +} +.stroke-indigo-100{ + stroke: #E5EDFF; +} +.stroke-indigo-200{ + stroke: #CDDBFE; +} +.stroke-indigo-300{ + stroke: #B4C6FC; +} +.stroke-indigo-400{ + stroke: #8DA2FB; +} +.stroke-indigo-500{ + stroke: #6875F5; +} +.stroke-indigo-600{ + stroke: #5850EC; +} +.stroke-indigo-700{ + stroke: #5145CD; +} +.stroke-indigo-800{ + stroke: #42389D; +} +.stroke-indigo-900{ + stroke: #362F78; +} +.stroke-violet-50{ + stroke: #f5f3ff; +} +.stroke-violet-100{ + stroke: #ede9fe; +} +.stroke-violet-200{ + stroke: #ddd6fe; +} +.stroke-violet-300{ + stroke: #c4b5fd; +} +.stroke-violet-400{ + stroke: #a78bfa; +} +.stroke-violet-500{ + stroke: #8b5cf6; +} +.stroke-violet-600{ + stroke: #7c3aed; +} +.stroke-violet-700{ + stroke: #6d28d9; +} +.stroke-violet-800{ + stroke: #5b21b6; +} +.stroke-violet-900{ + stroke: #4c1d95; +} +.stroke-purple-50{ + stroke: #f7f7f9; +} +.stroke-purple-100{ + stroke: #eeeef3; +} +.stroke-purple-200{ + stroke: #d5d5e2; +} +.stroke-purple-300{ + stroke: #bbbcd1; +} +.stroke-purple-400{ + stroke: #888aae; +} +.stroke-purple-500{ + stroke: #55588b; +} +.stroke-purple-600{ + stroke: #4d4f7d; +} +.stroke-purple-700{ + stroke: #404268; +} +.stroke-purple-800{ + stroke: #333553; +} +.stroke-purple-900{ + stroke: #2a2b44; +} +.stroke-purple{ + stroke: #55588b; +} +.stroke-fuchsia-50{ + stroke: #fdf4ff; +} +.stroke-fuchsia-100{ + stroke: #fae8ff; +} +.stroke-fuchsia-200{ + stroke: #f5d0fe; +} +.stroke-fuchsia-300{ + stroke: #f0abfc; +} +.stroke-fuchsia-400{ + stroke: #e879f9; +} +.stroke-fuchsia-500{ + stroke: #d946ef; +} +.stroke-fuchsia-600{ + stroke: #c026d3; +} +.stroke-fuchsia-700{ + stroke: #a21caf; +} +.stroke-fuchsia-800{ + stroke: #86198f; +} +.stroke-fuchsia-900{ + stroke: #701a75; +} +.stroke-pink-50{ + stroke: #FDF2F8; +} +.stroke-pink-100{ + stroke: #FCE8F3; +} +.stroke-pink-200{ + stroke: #FAD1E8; +} +.stroke-pink-300{ + stroke: #F8B4D9; +} +.stroke-pink-400{ + stroke: #F17EB8; +} +.stroke-pink-500{ + stroke: #E74694; +} +.stroke-pink-600{ + stroke: #D61F69; +} +.stroke-pink-700{ + stroke: #BF125D; +} +.stroke-pink-800{ + stroke: #99154B; +} +.stroke-pink-900{ + stroke: #751A3D; +} +.stroke-rose-50{ + stroke: #fff1f2; +} +.stroke-rose-100{ + stroke: #ffe4e6; +} +.stroke-rose-200{ + stroke: #fecdd3; +} +.stroke-rose-300{ + stroke: #fda4af; +} +.stroke-rose-400{ + stroke: #fb7185; +} +.stroke-rose-500{ + stroke: #f43f5e; +} +.stroke-rose-600{ + stroke: #e11d48; +} +.stroke-rose-700{ + stroke: #be123c; +} +.stroke-rose-800{ + stroke: #9f1239; +} +.stroke-rose-900{ + stroke: #881337; +} +.stroke-rose{ + stroke: #f43f5e; +} +.stroke-lilac-100{ + stroke: #F5F7FA; +} +.stroke-lilac-300{ + stroke: #EDF0FC; +} +.stroke-lilac-900{ + stroke: #DCE2F9; +} +.stroke-lilac{ + stroke: #F8F9FE; +} +.stroke-golden-900{ + stroke: #BFB882; +} +.stroke-golden{ + stroke: #D1C989; +} +.stroke-status-success{ + stroke: #F1F6EE; +} +.stroke-status-danger{ + stroke: #fae6e6; +} +.stroke-status-sent{ + stroke: #FEF5E7; +} +.stroke-status-viewed{ + stroke: #EEEEF3; +} +.stroke-status-draft{ + stroke: #ECECEC; +} +.stroke-status-partial{ + stroke: #E6F1F6; +} +.stroke-status-canceled{ + stroke: #282828; +} +.stroke-status-warning{ + stroke: #FEF5E7; +} +.stroke-text-status-success{ + stroke: #63914A; +} +.stroke-text-status-danger{ + stroke: #B80000; +} +.stroke-text-status-sent{ + stroke: #DD8E0A; +} +.stroke-text-status-viewed{ + stroke: #4D4F7D; +} +.stroke-text-status-draft{ + stroke: #3B3B3B; +} +.stroke-text-status-partial{ + stroke: #006395; +} +.stroke-text-status-canceled{ + stroke: #ffffff; +} +.stroke-text-status-warning{ + stroke: #b87708; +} +.stroke-body{ + stroke: #fcfcfc; +} +.stroke-light-gray{ + stroke: #C7C9D9; +} +.stroke-dark-blue{ + stroke: #15284B; +} +.stroke-lighter-gray{ + stroke: #F2F2F5; +} +.stroke-purple-lighter{ + stroke: #F2F4FC; +} +.stroke-modal-background{ + stroke: rgba(0, 0, 0, 0.3); +} +.stroke-testing{ + stroke: #935f07; +} +.stroke-0{ + stroke-width: 0; +} +.stroke-1{ + stroke-width: 1; +} +.stroke-2{ + stroke-width: 2; +} +.object-contain{ + -o-object-fit: contain; + object-fit: contain; +} +.object-cover{ + -o-object-fit: cover; + object-fit: cover; +} +.object-fill{ + -o-object-fit: fill; + object-fit: fill; +} +.object-none{ + -o-object-fit: none; + object-fit: none; +} +.object-scale-down{ + -o-object-fit: scale-down; + object-fit: scale-down; +} +.object-bottom{ + -o-object-position: bottom; + object-position: bottom; +} +.object-center{ + -o-object-position: center; + object-position: center; +} +.object-left{ + -o-object-position: left; + object-position: left; +} +.object-left-bottom{ + -o-object-position: left bottom; + object-position: left bottom; +} +.object-left-top{ + -o-object-position: left top; + object-position: left top; +} +.object-right{ + -o-object-position: right; + object-position: right; +} +.object-right-bottom{ + -o-object-position: right bottom; + object-position: right bottom; +} +.object-right-top{ + -o-object-position: right top; + object-position: right top; +} +.object-top{ + -o-object-position: top; + object-position: top; +} +.p-0{ + padding: 0px; +} +.p-1{ + padding: 0.25rem; +} +.p-2{ + padding: 0.5rem; +} +.p-3{ + padding: 0.75rem; +} +.p-4{ + padding: 1rem; +} +.p-5{ + padding: 1.25rem; +} +.p-6{ + padding: 1.5rem; +} +.p-7{ + padding: 1.75rem; +} +.p-8{ + padding: 2rem; +} +.p-9{ + padding: 2.25rem; +} +.p-10{ + padding: 2.5rem; +} +.p-11{ + padding: 2.75rem; +} +.p-12{ + padding: 3rem; +} +.p-14{ + padding: 3.5rem; +} +.p-16{ + padding: 4rem; +} +.p-20{ + padding: 5rem; +} +.p-24{ + padding: 6rem; +} +.p-28{ + padding: 7rem; +} +.p-31{ + padding: 30.938rem; +} +.p-32{ + padding: 8rem; +} +.p-33{ + padding: 8.5rem; +} +.p-36{ + padding: 9rem; +} +.p-37{ + padding: 9.25rem; +} +.p-40{ + padding: 10rem; +} +.p-44{ + padding: 11rem; +} +.p-46{ + padding: 46.875rem; +} +.p-48{ + padding: 12rem; +} +.p-52{ + padding: 13rem; +} +.p-56{ + padding: 14rem; +} +.p-60{ + padding: 15rem; +} +.p-64{ + padding: 16rem; +} +.p-72{ + padding: 18rem; +} +.p-80{ + padding: 20rem; +} +.p-96{ + padding: 24rem; +} +.p-px{ + padding: 1px; +} +.p-0\.5{ + padding: 0.125rem; +} +.p-1\.5{ + padding: 0.375rem; +} +.p-2\.5{ + padding: 0.625rem; +} +.p-3\.5{ + padding: 0.875rem; +} +.p-modal{ + padding: 610px; +} +.p-5\.5{ + padding: 1.30rem; +} +.p-9\.5{ + padding: 2.45rem; +} +.p-12\.5{ + padding: 3.2rem; +} +.p-32\.5{ + padding: 8.5rem; +} +.px-0{ + padding-left: 0px; + padding-right: 0px; +} +.px-1{ + padding-left: 0.25rem; + padding-right: 0.25rem; +} +.px-2{ + padding-left: 0.5rem; + padding-right: 0.5rem; +} +.px-3{ + padding-left: 0.75rem; + padding-right: 0.75rem; +} +.px-4{ + padding-left: 1rem; + padding-right: 1rem; +} +.px-5{ + padding-left: 1.25rem; + padding-right: 1.25rem; +} +.px-6{ + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.px-7{ + padding-left: 1.75rem; + padding-right: 1.75rem; +} +.px-8{ + padding-left: 2rem; + padding-right: 2rem; +} +.px-9{ + padding-left: 2.25rem; + padding-right: 2.25rem; +} +.px-10{ + padding-left: 2.5rem; + padding-right: 2.5rem; +} +.px-11{ + padding-left: 2.75rem; + padding-right: 2.75rem; +} +.px-12{ + padding-left: 3rem; + padding-right: 3rem; +} +.px-14{ + padding-left: 3.5rem; + padding-right: 3.5rem; +} +.px-16{ + padding-left: 4rem; + padding-right: 4rem; +} +.px-20{ + padding-left: 5rem; + padding-right: 5rem; +} +.px-24{ + padding-left: 6rem; + padding-right: 6rem; +} +.px-28{ + padding-left: 7rem; + padding-right: 7rem; +} +.px-31{ + padding-left: 30.938rem; + padding-right: 30.938rem; +} +.px-32{ + padding-left: 8rem; + padding-right: 8rem; +} +.px-33{ + padding-left: 8.5rem; + padding-right: 8.5rem; +} +.px-36{ + padding-left: 9rem; + padding-right: 9rem; +} +.px-37{ + padding-left: 9.25rem; + padding-right: 9.25rem; +} +.px-40{ + padding-left: 10rem; + padding-right: 10rem; +} +.px-44{ + padding-left: 11rem; + padding-right: 11rem; +} +.px-46{ + padding-left: 46.875rem; + padding-right: 46.875rem; +} +.px-48{ + padding-left: 12rem; + padding-right: 12rem; +} +.px-52{ + padding-left: 13rem; + padding-right: 13rem; +} +.px-56{ + padding-left: 14rem; + padding-right: 14rem; +} +.px-60{ + padding-left: 15rem; + padding-right: 15rem; +} +.px-64{ + padding-left: 16rem; + padding-right: 16rem; +} +.px-72{ + padding-left: 18rem; + padding-right: 18rem; +} +.px-80{ + padding-left: 20rem; + padding-right: 20rem; +} +.px-96{ + padding-left: 24rem; + padding-right: 24rem; +} +.px-px{ + padding-left: 1px; + padding-right: 1px; +} +.px-0\.5{ + padding-left: 0.125rem; + padding-right: 0.125rem; +} +.px-1\.5{ + padding-left: 0.375rem; + padding-right: 0.375rem; +} +.px-2\.5{ + padding-left: 0.625rem; + padding-right: 0.625rem; +} +.px-3\.5{ + padding-left: 0.875rem; + padding-right: 0.875rem; +} +.px-modal{ + padding-left: 610px; + padding-right: 610px; +} +.px-5\.5{ + padding-left: 1.30rem; + padding-right: 1.30rem; +} +.px-9\.5{ + padding-left: 2.45rem; + padding-right: 2.45rem; +} +.px-12\.5{ + padding-left: 3.2rem; + padding-right: 3.2rem; +} +.px-32\.5{ + padding-left: 8.5rem; + padding-right: 8.5rem; +} +.py-0{ + padding-top: 0px; + padding-bottom: 0px; +} +.py-1{ + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.py-2{ + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.py-3{ + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} +.py-4{ + padding-top: 1rem; + padding-bottom: 1rem; +} +.py-5{ + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} +.py-6{ + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} +.py-7{ + padding-top: 1.75rem; + padding-bottom: 1.75rem; +} +.py-8{ + padding-top: 2rem; + padding-bottom: 2rem; +} +.py-9{ + padding-top: 2.25rem; + padding-bottom: 2.25rem; +} +.py-10{ + padding-top: 2.5rem; + padding-bottom: 2.5rem; +} +.py-11{ + padding-top: 2.75rem; + padding-bottom: 2.75rem; +} +.py-12{ + padding-top: 3rem; + padding-bottom: 3rem; +} +.py-14{ + padding-top: 3.5rem; + padding-bottom: 3.5rem; +} +.py-16{ + padding-top: 4rem; + padding-bottom: 4rem; +} +.py-20{ + padding-top: 5rem; + padding-bottom: 5rem; +} +.py-24{ + padding-top: 6rem; + padding-bottom: 6rem; +} +.py-28{ + padding-top: 7rem; + padding-bottom: 7rem; +} +.py-31{ + padding-top: 30.938rem; + padding-bottom: 30.938rem; +} +.py-32{ + padding-top: 8rem; + padding-bottom: 8rem; +} +.py-33{ + padding-top: 8.5rem; + padding-bottom: 8.5rem; +} +.py-36{ + padding-top: 9rem; + padding-bottom: 9rem; +} +.py-37{ + padding-top: 9.25rem; + padding-bottom: 9.25rem; +} +.py-40{ + padding-top: 10rem; + padding-bottom: 10rem; +} +.py-44{ + padding-top: 11rem; + padding-bottom: 11rem; +} +.py-46{ + padding-top: 46.875rem; + padding-bottom: 46.875rem; +} +.py-48{ + padding-top: 12rem; + padding-bottom: 12rem; +} +.py-52{ + padding-top: 13rem; + padding-bottom: 13rem; +} +.py-56{ + padding-top: 14rem; + padding-bottom: 14rem; +} +.py-60{ + padding-top: 15rem; + padding-bottom: 15rem; +} +.py-64{ + padding-top: 16rem; + padding-bottom: 16rem; +} +.py-72{ + padding-top: 18rem; + padding-bottom: 18rem; +} +.py-80{ + padding-top: 20rem; + padding-bottom: 20rem; +} +.py-96{ + padding-top: 24rem; + padding-bottom: 24rem; +} +.py-px{ + padding-top: 1px; + padding-bottom: 1px; +} +.py-0\.5{ + padding-top: 0.125rem; + padding-bottom: 0.125rem; +} +.py-1\.5{ + padding-top: 0.375rem; + padding-bottom: 0.375rem; +} +.py-2\.5{ + padding-top: 0.625rem; + padding-bottom: 0.625rem; +} +.py-3\.5{ + padding-top: 0.875rem; + padding-bottom: 0.875rem; +} +.py-modal{ + padding-top: 610px; + padding-bottom: 610px; +} +.py-5\.5{ + padding-top: 1.30rem; + padding-bottom: 1.30rem; +} +.py-9\.5{ + padding-top: 2.45rem; + padding-bottom: 2.45rem; +} +.py-12\.5{ + padding-top: 3.2rem; + padding-bottom: 3.2rem; +} +.py-32\.5{ + padding-top: 8.5rem; + padding-bottom: 8.5rem; +} +.pt-0{ + padding-top: 0px; +} +.pt-1{ + padding-top: 0.25rem; +} +.pt-2{ + padding-top: 0.5rem; +} +.pt-3{ + padding-top: 0.75rem; +} +.pt-4{ + padding-top: 1rem; +} +.pt-5{ + padding-top: 1.25rem; +} +.pt-6{ + padding-top: 1.5rem; +} +.pt-7{ + padding-top: 1.75rem; +} +.pt-8{ + padding-top: 2rem; +} +.pt-9{ + padding-top: 2.25rem; +} +.pt-10{ + padding-top: 2.5rem; +} +.pt-11{ + padding-top: 2.75rem; +} +.pt-12{ + padding-top: 3rem; +} +.pt-14{ + padding-top: 3.5rem; +} +.pt-16{ + padding-top: 4rem; +} +.pt-20{ + padding-top: 5rem; +} +.pt-24{ + padding-top: 6rem; +} +.pt-28{ + padding-top: 7rem; +} +.pt-31{ + padding-top: 30.938rem; +} +.pt-32{ + padding-top: 8rem; +} +.pt-33{ + padding-top: 8.5rem; +} +.pt-36{ + padding-top: 9rem; +} +.pt-37{ + padding-top: 9.25rem; +} +.pt-40{ + padding-top: 10rem; +} +.pt-44{ + padding-top: 11rem; +} +.pt-46{ + padding-top: 46.875rem; +} +.pt-48{ + padding-top: 12rem; +} +.pt-52{ + padding-top: 13rem; +} +.pt-56{ + padding-top: 14rem; +} +.pt-60{ + padding-top: 15rem; +} +.pt-64{ + padding-top: 16rem; +} +.pt-72{ + padding-top: 18rem; +} +.pt-80{ + padding-top: 20rem; +} +.pt-96{ + padding-top: 24rem; +} +.pt-px{ + padding-top: 1px; +} +.pt-0\.5{ + padding-top: 0.125rem; +} +.pt-1\.5{ + padding-top: 0.375rem; +} +.pt-2\.5{ + padding-top: 0.625rem; +} +.pt-3\.5{ + padding-top: 0.875rem; +} +.pt-modal{ + padding-top: 610px; +} +.pt-5\.5{ + padding-top: 1.30rem; +} +.pt-9\.5{ + padding-top: 2.45rem; +} +.pt-12\.5{ + padding-top: 3.2rem; +} +.pt-32\.5{ + padding-top: 8.5rem; +} +.pr-0{ + padding-right: 0px; +} +.pr-1{ + padding-right: 0.25rem; +} +.pr-2{ + padding-right: 0.5rem; +} +.pr-3{ + padding-right: 0.75rem; +} +.pr-4{ + padding-right: 1rem; +} +.pr-5{ + padding-right: 1.25rem; +} +.pr-6{ + padding-right: 1.5rem; +} +.pr-7{ + padding-right: 1.75rem; +} +.pr-8{ + padding-right: 2rem; +} +.pr-9{ + padding-right: 2.25rem; +} +.pr-10{ + padding-right: 2.5rem; +} +.pr-11{ + padding-right: 2.75rem; +} +.pr-12{ + padding-right: 3rem; +} +.pr-14{ + padding-right: 3.5rem; +} +.pr-16{ + padding-right: 4rem; +} +.pr-20{ + padding-right: 5rem; +} +.pr-24{ + padding-right: 6rem; +} +.pr-28{ + padding-right: 7rem; +} +.pr-31{ + padding-right: 30.938rem; +} +.pr-32{ + padding-right: 8rem; +} +.pr-33{ + padding-right: 8.5rem; +} +.pr-36{ + padding-right: 9rem; +} +.pr-37{ + padding-right: 9.25rem; +} +.pr-40{ + padding-right: 10rem; +} +.pr-44{ + padding-right: 11rem; +} +.pr-46{ + padding-right: 46.875rem; +} +.pr-48{ + padding-right: 12rem; +} +.pr-52{ + padding-right: 13rem; +} +.pr-56{ + padding-right: 14rem; +} +.pr-60{ + padding-right: 15rem; +} +.pr-64{ + padding-right: 16rem; +} +.pr-72{ + padding-right: 18rem; +} +.pr-80{ + padding-right: 20rem; +} +.pr-96{ + padding-right: 24rem; +} +.pr-px{ + padding-right: 1px; +} +.pr-0\.5{ + padding-right: 0.125rem; +} +.pr-1\.5{ + padding-right: 0.375rem; +} +.pr-2\.5{ + padding-right: 0.625rem; +} +.pr-3\.5{ + padding-right: 0.875rem; +} +.pr-modal{ + padding-right: 610px; +} +.pr-5\.5{ + padding-right: 1.30rem; +} +.pr-9\.5{ + padding-right: 2.45rem; +} +.pr-12\.5{ + padding-right: 3.2rem; +} +.pr-32\.5{ + padding-right: 8.5rem; +} +.pb-0{ + padding-bottom: 0px; +} +.pb-1{ + padding-bottom: 0.25rem; +} +.pb-2{ + padding-bottom: 0.5rem; +} +.pb-3{ + padding-bottom: 0.75rem; +} +.pb-4{ + padding-bottom: 1rem; +} +.pb-5{ + padding-bottom: 1.25rem; +} +.pb-6{ + padding-bottom: 1.5rem; +} +.pb-7{ + padding-bottom: 1.75rem; +} +.pb-8{ + padding-bottom: 2rem; +} +.pb-9{ + padding-bottom: 2.25rem; +} +.pb-10{ + padding-bottom: 2.5rem; +} +.pb-11{ + padding-bottom: 2.75rem; +} +.pb-12{ + padding-bottom: 3rem; +} +.pb-14{ + padding-bottom: 3.5rem; +} +.pb-16{ + padding-bottom: 4rem; +} +.pb-20{ + padding-bottom: 5rem; +} +.pb-24{ + padding-bottom: 6rem; +} +.pb-28{ + padding-bottom: 7rem; +} +.pb-31{ + padding-bottom: 30.938rem; +} +.pb-32{ + padding-bottom: 8rem; +} +.pb-33{ + padding-bottom: 8.5rem; +} +.pb-36{ + padding-bottom: 9rem; +} +.pb-37{ + padding-bottom: 9.25rem; +} +.pb-40{ + padding-bottom: 10rem; +} +.pb-44{ + padding-bottom: 11rem; +} +.pb-46{ + padding-bottom: 46.875rem; +} +.pb-48{ + padding-bottom: 12rem; +} +.pb-52{ + padding-bottom: 13rem; +} +.pb-56{ + padding-bottom: 14rem; +} +.pb-60{ + padding-bottom: 15rem; +} +.pb-64{ + padding-bottom: 16rem; +} +.pb-72{ + padding-bottom: 18rem; +} +.pb-80{ + padding-bottom: 20rem; +} +.pb-96{ + padding-bottom: 24rem; +} +.pb-px{ + padding-bottom: 1px; +} +.pb-0\.5{ + padding-bottom: 0.125rem; +} +.pb-1\.5{ + padding-bottom: 0.375rem; +} +.pb-2\.5{ + padding-bottom: 0.625rem; +} +.pb-3\.5{ + padding-bottom: 0.875rem; +} +.pb-modal{ + padding-bottom: 610px; +} +.pb-5\.5{ + padding-bottom: 1.30rem; +} +.pb-9\.5{ + padding-bottom: 2.45rem; +} +.pb-12\.5{ + padding-bottom: 3.2rem; +} +.pb-32\.5{ + padding-bottom: 8.5rem; +} +.pl-0{ + padding-left: 0px; +} +.pl-1{ + padding-left: 0.25rem; +} +.pl-2{ + padding-left: 0.5rem; +} +.pl-3{ + padding-left: 0.75rem; +} +.pl-4{ + padding-left: 1rem; +} +.pl-5{ + padding-left: 1.25rem; +} +.pl-6{ + padding-left: 1.5rem; +} +.pl-7{ + padding-left: 1.75rem; +} +.pl-8{ + padding-left: 2rem; +} +.pl-9{ + padding-left: 2.25rem; +} +.pl-10{ + padding-left: 2.5rem; +} +.pl-11{ + padding-left: 2.75rem; +} +.pl-12{ + padding-left: 3rem; +} +.pl-14{ + padding-left: 3.5rem; +} +.pl-16{ + padding-left: 4rem; +} +.pl-20{ + padding-left: 5rem; +} +.pl-24{ + padding-left: 6rem; +} +.pl-28{ + padding-left: 7rem; +} +.pl-31{ + padding-left: 30.938rem; +} +.pl-32{ + padding-left: 8rem; +} +.pl-33{ + padding-left: 8.5rem; +} +.pl-36{ + padding-left: 9rem; +} +.pl-37{ + padding-left: 9.25rem; +} +.pl-40{ + padding-left: 10rem; +} +.pl-44{ + padding-left: 11rem; +} +.pl-46{ + padding-left: 46.875rem; +} +.pl-48{ + padding-left: 12rem; +} +.pl-52{ + padding-left: 13rem; +} +.pl-56{ + padding-left: 14rem; +} +.pl-60{ + padding-left: 15rem; +} +.pl-64{ + padding-left: 16rem; +} +.pl-72{ + padding-left: 18rem; +} +.pl-80{ + padding-left: 20rem; +} +.pl-96{ + padding-left: 24rem; +} +.pl-px{ + padding-left: 1px; +} +.pl-0\.5{ + padding-left: 0.125rem; +} +.pl-1\.5{ + padding-left: 0.375rem; +} +.pl-2\.5{ + padding-left: 0.625rem; +} +.pl-3\.5{ + padding-left: 0.875rem; +} +.pl-modal{ + padding-left: 610px; +} +.pl-5\.5{ + padding-left: 1.30rem; +} +.pl-9\.5{ + padding-left: 2.45rem; +} +.pl-12\.5{ + padding-left: 3.2rem; +} +.pl-32\.5{ + padding-left: 8.5rem; +} +.text-left{ + text-align: left; +} +.text-center{ + text-align: center; +} +.text-right{ + text-align: right; +} +.text-justify{ + text-align: justify; +} +.indent-0{ + text-indent: 0px; +} +.indent-1{ + text-indent: 0.25rem; +} +.indent-2{ + text-indent: 0.5rem; +} +.indent-3{ + text-indent: 0.75rem; +} +.indent-4{ + text-indent: 1rem; +} +.indent-5{ + text-indent: 1.25rem; +} +.indent-6{ + text-indent: 1.5rem; +} +.indent-7{ + text-indent: 1.75rem; +} +.indent-8{ + text-indent: 2rem; +} +.indent-9{ + text-indent: 2.25rem; +} +.indent-10{ + text-indent: 2.5rem; +} +.indent-11{ + text-indent: 2.75rem; +} +.indent-12{ + text-indent: 3rem; +} +.indent-14{ + text-indent: 3.5rem; +} +.indent-16{ + text-indent: 4rem; +} +.indent-20{ + text-indent: 5rem; +} +.indent-24{ + text-indent: 6rem; +} +.indent-28{ + text-indent: 7rem; +} +.indent-31{ + text-indent: 30.938rem; +} +.indent-32{ + text-indent: 8rem; +} +.indent-33{ + text-indent: 8.5rem; +} +.indent-36{ + text-indent: 9rem; +} +.indent-37{ + text-indent: 9.25rem; +} +.indent-40{ + text-indent: 10rem; +} +.indent-44{ + text-indent: 11rem; +} +.indent-46{ + text-indent: 46.875rem; +} +.indent-48{ + text-indent: 12rem; +} +.indent-52{ + text-indent: 13rem; +} +.indent-56{ + text-indent: 14rem; +} +.indent-60{ + text-indent: 15rem; +} +.indent-64{ + text-indent: 16rem; +} +.indent-72{ + text-indent: 18rem; +} +.indent-80{ + text-indent: 20rem; +} +.indent-96{ + text-indent: 24rem; +} +.indent-px{ + text-indent: 1px; +} +.indent-0\.5{ + text-indent: 0.125rem; +} +.indent-1\.5{ + text-indent: 0.375rem; +} +.indent-2\.5{ + text-indent: 0.625rem; +} +.indent-3\.5{ + text-indent: 0.875rem; +} +.indent-modal{ + text-indent: 610px; +} +.indent-5\.5{ + text-indent: 1.30rem; +} +.indent-9\.5{ + text-indent: 2.45rem; +} +.indent-12\.5{ + text-indent: 3.2rem; +} +.indent-32\.5{ + text-indent: 8.5rem; +} +.-indent-0{ + text-indent: -0px; +} +.-indent-1{ + text-indent: -0.25rem; +} +.-indent-2{ + text-indent: -0.5rem; +} +.-indent-3{ + text-indent: -0.75rem; +} +.-indent-4{ + text-indent: -1rem; +} +.-indent-5{ + text-indent: -1.25rem; +} +.-indent-6{ + text-indent: -1.5rem; +} +.-indent-7{ + text-indent: -1.75rem; +} +.-indent-8{ + text-indent: -2rem; +} +.-indent-9{ + text-indent: -2.25rem; +} +.-indent-10{ + text-indent: -2.5rem; +} +.-indent-11{ + text-indent: -2.75rem; +} +.-indent-12{ + text-indent: -3rem; +} +.-indent-14{ + text-indent: -3.5rem; +} +.-indent-16{ + text-indent: -4rem; +} +.-indent-20{ + text-indent: -5rem; +} +.-indent-24{ + text-indent: -6rem; +} +.-indent-28{ + text-indent: -7rem; +} +.-indent-31{ + text-indent: -30.938rem; +} +.-indent-32{ + text-indent: -8rem; +} +.-indent-33{ + text-indent: -8.5rem; +} +.-indent-36{ + text-indent: -9rem; +} +.-indent-37{ + text-indent: -9.25rem; +} +.-indent-40{ + text-indent: -10rem; +} +.-indent-44{ + text-indent: -11rem; +} +.-indent-46{ + text-indent: -46.875rem; +} +.-indent-48{ + text-indent: -12rem; +} +.-indent-52{ + text-indent: -13rem; +} +.-indent-56{ + text-indent: -14rem; +} +.-indent-60{ + text-indent: -15rem; +} +.-indent-64{ + text-indent: -16rem; +} +.-indent-72{ + text-indent: -18rem; +} +.-indent-80{ + text-indent: -20rem; +} +.-indent-96{ + text-indent: -24rem; +} +.-indent-px{ + text-indent: -1px; +} +.-indent-0\.5{ + text-indent: -0.125rem; +} +.-indent-1\.5{ + text-indent: -0.375rem; +} +.-indent-2\.5{ + text-indent: -0.625rem; +} +.-indent-3\.5{ + text-indent: -0.875rem; +} +.-indent-modal{ + text-indent: -610px; +} +.-indent-5\.5{ + text-indent: -1.30rem; +} +.-indent-9\.5{ + text-indent: -2.45rem; +} +.-indent-12\.5{ + text-indent: -3.2rem; +} +.-indent-32\.5{ + text-indent: -8.5rem; +} +.align-baseline{ + vertical-align: baseline; +} +.align-top{ + vertical-align: top; +} +.align-middle{ + vertical-align: middle; +} +.align-bottom{ + vertical-align: bottom; +} +.align-text-top{ + vertical-align: text-top; +} +.align-text-bottom{ + vertical-align: text-bottom; +} +.align-sub{ + vertical-align: sub; +} +.align-super{ + vertical-align: super; +} +.font-sans{ + font-family: Quicksand, system-ui; +} +.font-serif{ + font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; +} +.font-mono{ + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} +.text-xs{ + font-size: 0.75rem; + line-height: 1rem; +} +.text-sm{ + font-size: 0.875rem; + line-height: 1.25rem; +} +.text-base{ + font-size: 1rem; + line-height: 1.5rem; +} +.text-lg{ + font-size: 1.125rem; + line-height: 1.75rem; +} +.text-xl{ + font-size: 1.25rem; + line-height: 1.75rem; +} +.text-2xl{ + font-size: 1.375rem; + line-height: 1.5rem; +} +.text-3xl{ + font-size: 1.5rem; + line-height: 1.75rem; +} +.text-4xl{ + font-size: 1.75rem; + line-height: 2rem; +} +.text-5xl{ + font-size: 2.25rem; + line-height: 2.5rem; +} +.text-6xl{ + font-size: 2.5rem; + line-height: 2.75rem; +} +.text-7xl{ + font-size: 2.75rem; + line-height: 3rem; +} +.text-8xl{ + font-size: 3rem; + line-height: 3.25rem; +} +.text-9xl{ + font-size: 8rem; + line-height: 1; +} +.font-thin{ + font-weight: 100; +} +.font-extralight{ + font-weight: 200; +} +.font-light{ + font-weight: 300; +} +.font-normal{ + font-weight: 400; +} +.font-medium{ + font-weight: 500; +} +.font-semibold{ + font-weight: 600; +} +.font-bold{ + font-weight: 700; +} +.font-extrabold{ + font-weight: 800; +} +.font-black{ + font-weight: 900; +} +.uppercase{ + text-transform: uppercase; +} +.lowercase{ + text-transform: lowercase; +} +.capitalize{ + text-transform: capitalize; +} +.normal-case{ + text-transform: none; +} +.italic{ + font-style: italic; +} +.not-italic{ + font-style: normal; +} +.normal-nums{ + font-variant-numeric: normal; +} +.ordinal{ + --tw-ordinal: ordinal; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} +.slashed-zero{ + --tw-slashed-zero: slashed-zero; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} +.lining-nums{ + --tw-numeric-figure: lining-nums; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} +.oldstyle-nums{ + --tw-numeric-figure: oldstyle-nums; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} +.proportional-nums{ + --tw-numeric-spacing: proportional-nums; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} +.tabular-nums{ + --tw-numeric-spacing: tabular-nums; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} +.diagonal-fractions{ + --tw-numeric-fraction: diagonal-fractions; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} +.stacked-fractions{ + --tw-numeric-fraction: stacked-fractions; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} +.leading-3{ + line-height: .75rem; +} +.leading-4{ + line-height: 1rem; +} +.leading-5{ + line-height: 1.25rem; +} +.leading-6{ + line-height: 1.5rem; +} +.leading-7{ + line-height: 1.75rem; +} +.leading-8{ + line-height: 2rem; +} +.leading-9{ + line-height: 2.25rem; +} +.leading-10{ + line-height: 2.5rem; +} +.leading-none{ + line-height: 1; +} +.leading-tight{ + line-height: 1.25; +} +.leading-snug{ + line-height: 1.375; +} +.leading-normal{ + line-height: 1.5; +} +.leading-relaxed{ + line-height: 1.625; +} +.leading-loose{ + line-height: 2; +} +.tracking-tighter{ + letter-spacing: -0.05em; +} +.tracking-tight{ + letter-spacing: -0.025em; +} +.tracking-normal{ + letter-spacing: 0em; +} +.tracking-wide{ + letter-spacing: 0.025em; +} +.tracking-wider{ + letter-spacing: 0.05em; +} +.tracking-widest{ + letter-spacing: 0.1em; +} +.-tracking-tighter{ + letter-spacing: 0.05em; +} +.-tracking-tight{ + letter-spacing: 0.025em; +} +.-tracking-normal{ + letter-spacing: -0em; +} +.-tracking-wide{ + letter-spacing: -0.025em; +} +.-tracking-wider{ + letter-spacing: -0.05em; +} +.-tracking-widest{ + letter-spacing: -0.1em; +} +.text-inherit{ + color: inherit; +} +.text-current{ + color: currentColor; +} +.text-transparent{ + color: transparent; +} +.text-black-50{ + --tw-text-opacity: 1; + color: rgb(246 246 246 / var(--tw-text-opacity)); +} +.text-black-100{ + --tw-text-opacity: 1; + color: rgb(236 236 236 / var(--tw-text-opacity)); +} +.text-black-200{ + --tw-text-opacity: 1; + color: rgb(208 208 208 / var(--tw-text-opacity)); +} +.text-black-300{ + --tw-text-opacity: 1; + color: rgb(179 179 179 / var(--tw-text-opacity)); +} +.text-black-400{ + --tw-text-opacity: 1; + color: rgb(123 123 123 / var(--tw-text-opacity)); +} +.text-black-500{ + --tw-text-opacity: 1; + color: rgb(66 66 66 / var(--tw-text-opacity)); +} +.text-black-600{ + --tw-text-opacity: 1; + color: rgb(59 59 59 / var(--tw-text-opacity)); +} +.text-black-700{ + --tw-text-opacity: 1; + color: rgb(50 50 50 / var(--tw-text-opacity)); +} +.text-black-800{ + --tw-text-opacity: 1; + color: rgb(40 40 40 / var(--tw-text-opacity)); +} +.text-black-900{ + --tw-text-opacity: 1; + color: rgb(32 32 32 / var(--tw-text-opacity)); +} +.text-black{ + --tw-text-opacity: 1; + color: rgb(66 66 66 / var(--tw-text-opacity)); +} +.text-white{ + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} +.text-slate-50{ + --tw-text-opacity: 1; + color: rgb(248 250 252 / var(--tw-text-opacity)); +} +.text-slate-100{ + --tw-text-opacity: 1; + color: rgb(241 245 249 / var(--tw-text-opacity)); +} +.text-slate-200{ + --tw-text-opacity: 1; + color: rgb(226 232 240 / var(--tw-text-opacity)); +} +.text-slate-300{ + --tw-text-opacity: 1; + color: rgb(203 213 225 / var(--tw-text-opacity)); +} +.text-slate-400{ + --tw-text-opacity: 1; + color: rgb(148 163 184 / var(--tw-text-opacity)); +} +.text-slate-500{ + --tw-text-opacity: 1; + color: rgb(100 116 139 / var(--tw-text-opacity)); +} +.text-slate-600{ + --tw-text-opacity: 1; + color: rgb(71 85 105 / var(--tw-text-opacity)); +} +.text-slate-700{ + --tw-text-opacity: 1; + color: rgb(51 65 85 / var(--tw-text-opacity)); +} +.text-slate-800{ + --tw-text-opacity: 1; + color: rgb(30 41 59 / var(--tw-text-opacity)); +} +.text-slate-900{ + --tw-text-opacity: 1; + color: rgb(15 23 42 / var(--tw-text-opacity)); +} +.text-gray-50{ + --tw-text-opacity: 1; + color: rgb(249 250 251 / var(--tw-text-opacity)); +} +.text-gray-100{ + --tw-text-opacity: 1; + color: rgb(243 244 246 / var(--tw-text-opacity)); +} +.text-gray-200{ + --tw-text-opacity: 1; + color: rgb(229 231 235 / var(--tw-text-opacity)); +} +.text-gray-300{ + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity)); +} +.text-gray-400{ + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} +.text-gray-500{ + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} +.text-gray-600{ + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity)); +} +.text-gray-700{ + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); +} +.text-gray-800{ + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity)); +} +.text-gray-900{ + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity)); +} +.text-zinc-50{ + --tw-text-opacity: 1; + color: rgb(250 250 250 / var(--tw-text-opacity)); +} +.text-zinc-100{ + --tw-text-opacity: 1; + color: rgb(244 244 245 / var(--tw-text-opacity)); +} +.text-zinc-200{ + --tw-text-opacity: 1; + color: rgb(228 228 231 / var(--tw-text-opacity)); +} +.text-zinc-300{ + --tw-text-opacity: 1; + color: rgb(212 212 216 / var(--tw-text-opacity)); +} +.text-zinc-400{ + --tw-text-opacity: 1; + color: rgb(161 161 170 / var(--tw-text-opacity)); +} +.text-zinc-500{ + --tw-text-opacity: 1; + color: rgb(113 113 122 / var(--tw-text-opacity)); +} +.text-zinc-600{ + --tw-text-opacity: 1; + color: rgb(82 82 91 / var(--tw-text-opacity)); +} +.text-zinc-700{ + --tw-text-opacity: 1; + color: rgb(63 63 70 / var(--tw-text-opacity)); +} +.text-zinc-800{ + --tw-text-opacity: 1; + color: rgb(39 39 42 / var(--tw-text-opacity)); +} +.text-zinc-900{ + --tw-text-opacity: 1; + color: rgb(24 24 27 / var(--tw-text-opacity)); +} +.text-neutral-50{ + --tw-text-opacity: 1; + color: rgb(250 250 250 / var(--tw-text-opacity)); +} +.text-neutral-100{ + --tw-text-opacity: 1; + color: rgb(245 245 245 / var(--tw-text-opacity)); +} +.text-neutral-200{ + --tw-text-opacity: 1; + color: rgb(229 229 229 / var(--tw-text-opacity)); +} +.text-neutral-300{ + --tw-text-opacity: 1; + color: rgb(212 212 212 / var(--tw-text-opacity)); +} +.text-neutral-400{ + --tw-text-opacity: 1; + color: rgb(163 163 163 / var(--tw-text-opacity)); +} +.text-neutral-500{ + --tw-text-opacity: 1; + color: rgb(115 115 115 / var(--tw-text-opacity)); +} +.text-neutral-600{ + --tw-text-opacity: 1; + color: rgb(82 82 82 / var(--tw-text-opacity)); +} +.text-neutral-700{ + --tw-text-opacity: 1; + color: rgb(64 64 64 / var(--tw-text-opacity)); +} +.text-neutral-800{ + --tw-text-opacity: 1; + color: rgb(38 38 38 / var(--tw-text-opacity)); +} +.text-neutral-900{ + --tw-text-opacity: 1; + color: rgb(23 23 23 / var(--tw-text-opacity)); +} +.text-stone-50{ + --tw-text-opacity: 1; + color: rgb(250 250 249 / var(--tw-text-opacity)); +} +.text-stone-100{ + --tw-text-opacity: 1; + color: rgb(245 245 244 / var(--tw-text-opacity)); +} +.text-stone-200{ + --tw-text-opacity: 1; + color: rgb(231 229 228 / var(--tw-text-opacity)); +} +.text-stone-300{ + --tw-text-opacity: 1; + color: rgb(214 211 209 / var(--tw-text-opacity)); +} +.text-stone-400{ + --tw-text-opacity: 1; + color: rgb(168 162 158 / var(--tw-text-opacity)); +} +.text-stone-500{ + --tw-text-opacity: 1; + color: rgb(120 113 108 / var(--tw-text-opacity)); +} +.text-stone-600{ + --tw-text-opacity: 1; + color: rgb(87 83 78 / var(--tw-text-opacity)); +} +.text-stone-700{ + --tw-text-opacity: 1; + color: rgb(68 64 60 / var(--tw-text-opacity)); +} +.text-stone-800{ + --tw-text-opacity: 1; + color: rgb(41 37 36 / var(--tw-text-opacity)); +} +.text-stone-900{ + --tw-text-opacity: 1; + color: rgb(28 25 23 / var(--tw-text-opacity)); +} +.text-red-50{ + --tw-text-opacity: 1; + color: rgb(252 242 242 / var(--tw-text-opacity)); +} +.text-red-100{ + --tw-text-opacity: 1; + color: rgb(250 230 230 / var(--tw-text-opacity)); +} +.text-red-200{ + --tw-text-opacity: 1; + color: rgb(242 191 191 / var(--tw-text-opacity)); +} +.text-red-300{ + --tw-text-opacity: 1; + color: rgb(235 153 153 / var(--tw-text-opacity)); +} +.text-red-400{ + --tw-text-opacity: 1; + color: rgb(219 77 77 / var(--tw-text-opacity)); +} +.text-red-500{ + --tw-text-opacity: 1; + color: rgb(204 0 0 / var(--tw-text-opacity)); +} +.text-red-600{ + --tw-text-opacity: 1; + color: rgb(184 0 0 / var(--tw-text-opacity)); +} +.text-red-700{ + --tw-text-opacity: 1; + color: rgb(153 0 0 / var(--tw-text-opacity)); +} +.text-red-800{ + --tw-text-opacity: 1; + color: rgb(122 0 0 / var(--tw-text-opacity)); +} +.text-red-900{ + --tw-text-opacity: 1; + color: rgb(100 0 0 / var(--tw-text-opacity)); +} +.text-red{ + --tw-text-opacity: 1; + color: rgb(204 0 0 / var(--tw-text-opacity)); +} +.text-orange-50{ + --tw-text-opacity: 1; + color: rgb(255 250 243 / var(--tw-text-opacity)); +} +.text-orange-100{ + --tw-text-opacity: 1; + color: rgb(254 245 231 / var(--tw-text-opacity)); +} +.text-orange-200{ + --tw-text-opacity: 1; + color: rgb(253 231 194 / var(--tw-text-opacity)); +} +.text-orange-300{ + --tw-text-opacity: 1; + color: rgb(251 216 157 / var(--tw-text-opacity)); +} +.text-orange-400{ + --tw-text-opacity: 1; + color: rgb(248 187 84 / var(--tw-text-opacity)); +} +.text-orange-500{ + --tw-text-opacity: 1; + color: rgb(245 158 11 / var(--tw-text-opacity)); +} +.text-orange-600{ + --tw-text-opacity: 1; + color: rgb(221 142 10 / var(--tw-text-opacity)); +} +.text-orange-700{ + --tw-text-opacity: 1; + color: rgb(184 119 8 / var(--tw-text-opacity)); +} +.text-orange-800{ + --tw-text-opacity: 1; + color: rgb(147 95 7 / var(--tw-text-opacity)); +} +.text-orange-900{ + --tw-text-opacity: 1; + color: rgb(120 77 5 / var(--tw-text-opacity)); +} +.text-orange{ + --tw-text-opacity: 1; + color: rgb(245 158 11 / var(--tw-text-opacity)); +} +.text-amber-50{ + --tw-text-opacity: 1; + color: rgb(255 251 235 / var(--tw-text-opacity)); +} +.text-amber-100{ + --tw-text-opacity: 1; + color: rgb(254 243 199 / var(--tw-text-opacity)); +} +.text-amber-200{ + --tw-text-opacity: 1; + color: rgb(253 230 138 / var(--tw-text-opacity)); +} +.text-amber-300{ + --tw-text-opacity: 1; + color: rgb(252 211 77 / var(--tw-text-opacity)); +} +.text-amber-400{ + --tw-text-opacity: 1; + color: rgb(251 191 36 / var(--tw-text-opacity)); +} +.text-amber-500{ + --tw-text-opacity: 1; + color: rgb(245 158 11 / var(--tw-text-opacity)); +} +.text-amber-600{ + --tw-text-opacity: 1; + color: rgb(217 119 6 / var(--tw-text-opacity)); +} +.text-amber-700{ + --tw-text-opacity: 1; + color: rgb(180 83 9 / var(--tw-text-opacity)); +} +.text-amber-800{ + --tw-text-opacity: 1; + color: rgb(146 64 14 / var(--tw-text-opacity)); +} +.text-amber-900{ + --tw-text-opacity: 1; + color: rgb(120 53 15 / var(--tw-text-opacity)); +} +.text-yellow-50{ + --tw-text-opacity: 1; + color: rgb(253 253 234 / var(--tw-text-opacity)); +} +.text-yellow-100{ + --tw-text-opacity: 1; + color: rgb(253 246 178 / var(--tw-text-opacity)); +} +.text-yellow-200{ + --tw-text-opacity: 1; + color: rgb(252 233 106 / var(--tw-text-opacity)); +} +.text-yellow-300{ + --tw-text-opacity: 1; + color: rgb(250 202 21 / var(--tw-text-opacity)); +} +.text-yellow-400{ + --tw-text-opacity: 1; + color: rgb(227 160 8 / var(--tw-text-opacity)); +} +.text-yellow-500{ + --tw-text-opacity: 1; + color: rgb(194 120 3 / var(--tw-text-opacity)); +} +.text-yellow-600{ + --tw-text-opacity: 1; + color: rgb(159 88 10 / var(--tw-text-opacity)); +} +.text-yellow-700{ + --tw-text-opacity: 1; + color: rgb(142 75 16 / var(--tw-text-opacity)); +} +.text-yellow-800{ + --tw-text-opacity: 1; + color: rgb(114 59 19 / var(--tw-text-opacity)); +} +.text-yellow-900{ + --tw-text-opacity: 1; + color: rgb(99 49 18 / var(--tw-text-opacity)); +} +.text-lime-50{ + --tw-text-opacity: 1; + color: rgb(247 254 231 / var(--tw-text-opacity)); +} +.text-lime-100{ + --tw-text-opacity: 1; + color: rgb(236 252 203 / var(--tw-text-opacity)); +} +.text-lime-200{ + --tw-text-opacity: 1; + color: rgb(217 249 157 / var(--tw-text-opacity)); +} +.text-lime-300{ + --tw-text-opacity: 1; + color: rgb(190 242 100 / var(--tw-text-opacity)); +} +.text-lime-400{ + --tw-text-opacity: 1; + color: rgb(163 230 53 / var(--tw-text-opacity)); +} +.text-lime-500{ + --tw-text-opacity: 1; + color: rgb(132 204 22 / var(--tw-text-opacity)); +} +.text-lime-600{ + --tw-text-opacity: 1; + color: rgb(101 163 13 / var(--tw-text-opacity)); +} +.text-lime-700{ + --tw-text-opacity: 1; + color: rgb(77 124 15 / var(--tw-text-opacity)); +} +.text-lime-800{ + --tw-text-opacity: 1; + color: rgb(63 98 18 / var(--tw-text-opacity)); +} +.text-lime-900{ + --tw-text-opacity: 1; + color: rgb(54 83 20 / var(--tw-text-opacity)); +} +.text-green-50{ + --tw-text-opacity: 1; + color: rgb(248 250 246 / var(--tw-text-opacity)); +} +.text-green-100{ + --tw-text-opacity: 1; + color: rgb(241 246 238 / var(--tw-text-opacity)); +} +.text-green-200{ + --tw-text-opacity: 1; + color: rgb(219 232 212 / var(--tw-text-opacity)); +} +.text-green-300{ + --tw-text-opacity: 1; + color: rgb(197 217 186 / var(--tw-text-opacity)); +} +.text-green-400{ + --tw-text-opacity: 1; + color: rgb(154 189 134 / var(--tw-text-opacity)); +} +.text-green-500{ + --tw-text-opacity: 1; + color: rgb(110 161 82 / var(--tw-text-opacity)); +} +.text-green-600{ + --tw-text-opacity: 1; + color: rgb(99 145 74 / var(--tw-text-opacity)); +} +.text-green-700{ + --tw-text-opacity: 1; + color: rgb(83 121 62 / var(--tw-text-opacity)); +} +.text-green-800{ + --tw-text-opacity: 1; + color: rgb(66 97 49 / var(--tw-text-opacity)); +} +.text-green-900{ + --tw-text-opacity: 1; + color: rgb(54 79 40 / var(--tw-text-opacity)); +} +.text-green{ + --tw-text-opacity: 1; + color: rgb(110 161 82 / var(--tw-text-opacity)); +} +.text-emerald-50{ + --tw-text-opacity: 1; + color: rgb(236 253 245 / var(--tw-text-opacity)); +} +.text-emerald-100{ + --tw-text-opacity: 1; + color: rgb(209 250 229 / var(--tw-text-opacity)); +} +.text-emerald-200{ + --tw-text-opacity: 1; + color: rgb(167 243 208 / var(--tw-text-opacity)); +} +.text-emerald-300{ + --tw-text-opacity: 1; + color: rgb(110 231 183 / var(--tw-text-opacity)); +} +.text-emerald-400{ + --tw-text-opacity: 1; + color: rgb(52 211 153 / var(--tw-text-opacity)); +} +.text-emerald-500{ + --tw-text-opacity: 1; + color: rgb(16 185 129 / var(--tw-text-opacity)); +} +.text-emerald-600{ + --tw-text-opacity: 1; + color: rgb(5 150 105 / var(--tw-text-opacity)); +} +.text-emerald-700{ + --tw-text-opacity: 1; + color: rgb(4 120 87 / var(--tw-text-opacity)); +} +.text-emerald-800{ + --tw-text-opacity: 1; + color: rgb(6 95 70 / var(--tw-text-opacity)); +} +.text-emerald-900{ + --tw-text-opacity: 1; + color: rgb(6 78 59 / var(--tw-text-opacity)); +} +.text-teal-50{ + --tw-text-opacity: 1; + color: rgb(237 250 250 / var(--tw-text-opacity)); +} +.text-teal-100{ + --tw-text-opacity: 1; + color: rgb(213 245 246 / var(--tw-text-opacity)); +} +.text-teal-200{ + --tw-text-opacity: 1; + color: rgb(175 236 239 / var(--tw-text-opacity)); +} +.text-teal-300{ + --tw-text-opacity: 1; + color: rgb(126 220 226 / var(--tw-text-opacity)); +} +.text-teal-400{ + --tw-text-opacity: 1; + color: rgb(22 189 202 / var(--tw-text-opacity)); +} +.text-teal-500{ + --tw-text-opacity: 1; + color: rgb(6 148 162 / var(--tw-text-opacity)); +} +.text-teal-600{ + --tw-text-opacity: 1; + color: rgb(4 116 129 / var(--tw-text-opacity)); +} +.text-teal-700{ + --tw-text-opacity: 1; + color: rgb(3 102 114 / var(--tw-text-opacity)); +} +.text-teal-800{ + --tw-text-opacity: 1; + color: rgb(5 80 92 / var(--tw-text-opacity)); +} +.text-teal-900{ + --tw-text-opacity: 1; + color: rgb(1 68 81 / var(--tw-text-opacity)); +} +.text-cyan-50{ + --tw-text-opacity: 1; + color: rgb(236 254 255 / var(--tw-text-opacity)); +} +.text-cyan-100{ + --tw-text-opacity: 1; + color: rgb(207 250 254 / var(--tw-text-opacity)); +} +.text-cyan-200{ + --tw-text-opacity: 1; + color: rgb(165 243 252 / var(--tw-text-opacity)); +} +.text-cyan-300{ + --tw-text-opacity: 1; + color: rgb(103 232 249 / var(--tw-text-opacity)); +} +.text-cyan-400{ + --tw-text-opacity: 1; + color: rgb(34 211 238 / var(--tw-text-opacity)); +} +.text-cyan-500{ + --tw-text-opacity: 1; + color: rgb(6 182 212 / var(--tw-text-opacity)); +} +.text-cyan-600{ + --tw-text-opacity: 1; + color: rgb(8 145 178 / var(--tw-text-opacity)); +} +.text-cyan-700{ + --tw-text-opacity: 1; + color: rgb(14 116 144 / var(--tw-text-opacity)); +} +.text-cyan-800{ + --tw-text-opacity: 1; + color: rgb(21 94 117 / var(--tw-text-opacity)); +} +.text-cyan-900{ + --tw-text-opacity: 1; + color: rgb(22 78 99 / var(--tw-text-opacity)); +} +.text-sky-50{ + --tw-text-opacity: 1; + color: rgb(240 249 255 / var(--tw-text-opacity)); +} +.text-sky-100{ + --tw-text-opacity: 1; + color: rgb(224 242 254 / var(--tw-text-opacity)); +} +.text-sky-200{ + --tw-text-opacity: 1; + color: rgb(186 230 253 / var(--tw-text-opacity)); +} +.text-sky-300{ + --tw-text-opacity: 1; + color: rgb(125 211 252 / var(--tw-text-opacity)); +} +.text-sky-400{ + --tw-text-opacity: 1; + color: rgb(56 189 248 / var(--tw-text-opacity)); +} +.text-sky-500{ + --tw-text-opacity: 1; + color: rgb(14 165 233 / var(--tw-text-opacity)); +} +.text-sky-600{ + --tw-text-opacity: 1; + color: rgb(2 132 199 / var(--tw-text-opacity)); +} +.text-sky-700{ + --tw-text-opacity: 1; + color: rgb(3 105 161 / var(--tw-text-opacity)); +} +.text-sky-800{ + --tw-text-opacity: 1; + color: rgb(7 89 133 / var(--tw-text-opacity)); +} +.text-sky-900{ + --tw-text-opacity: 1; + color: rgb(12 74 110 / var(--tw-text-opacity)); +} +.text-blue-50{ + --tw-text-opacity: 1; + color: rgb(242 248 251 / var(--tw-text-opacity)); +} +.text-blue-100{ + --tw-text-opacity: 1; + color: rgb(230 241 246 / var(--tw-text-opacity)); +} +.text-blue-200{ + --tw-text-opacity: 1; + color: rgb(191 219 233 / var(--tw-text-opacity)); +} +.text-blue-300{ + --tw-text-opacity: 1; + color: rgb(153 197 219 / var(--tw-text-opacity)); +} +.text-blue-400{ + --tw-text-opacity: 1; + color: rgb(77 154 193 / var(--tw-text-opacity)); +} +.text-blue-500{ + --tw-text-opacity: 1; + color: rgb(0 110 166 / var(--tw-text-opacity)); +} +.text-blue-600{ + --tw-text-opacity: 1; + color: rgb(0 99 149 / var(--tw-text-opacity)); +} +.text-blue-700{ + --tw-text-opacity: 1; + color: rgb(0 83 125 / var(--tw-text-opacity)); +} +.text-blue-800{ + --tw-text-opacity: 1; + color: rgb(0 66 100 / var(--tw-text-opacity)); +} +.text-blue-900{ + --tw-text-opacity: 1; + color: rgb(0 54 81 / var(--tw-text-opacity)); +} +.text-blue{ + --tw-text-opacity: 1; + color: rgb(0 110 166 / var(--tw-text-opacity)); +} +.text-indigo-50{ + --tw-text-opacity: 1; + color: rgb(240 245 255 / var(--tw-text-opacity)); +} +.text-indigo-100{ + --tw-text-opacity: 1; + color: rgb(229 237 255 / var(--tw-text-opacity)); +} +.text-indigo-200{ + --tw-text-opacity: 1; + color: rgb(205 219 254 / var(--tw-text-opacity)); +} +.text-indigo-300{ + --tw-text-opacity: 1; + color: rgb(180 198 252 / var(--tw-text-opacity)); +} +.text-indigo-400{ + --tw-text-opacity: 1; + color: rgb(141 162 251 / var(--tw-text-opacity)); +} +.text-indigo-500{ + --tw-text-opacity: 1; + color: rgb(104 117 245 / var(--tw-text-opacity)); +} +.text-indigo-600{ + --tw-text-opacity: 1; + color: rgb(88 80 236 / var(--tw-text-opacity)); +} +.text-indigo-700{ + --tw-text-opacity: 1; + color: rgb(81 69 205 / var(--tw-text-opacity)); +} +.text-indigo-800{ + --tw-text-opacity: 1; + color: rgb(66 56 157 / var(--tw-text-opacity)); +} +.text-indigo-900{ + --tw-text-opacity: 1; + color: rgb(54 47 120 / var(--tw-text-opacity)); +} +.text-violet-50{ + --tw-text-opacity: 1; + color: rgb(245 243 255 / var(--tw-text-opacity)); +} +.text-violet-100{ + --tw-text-opacity: 1; + color: rgb(237 233 254 / var(--tw-text-opacity)); +} +.text-violet-200{ + --tw-text-opacity: 1; + color: rgb(221 214 254 / var(--tw-text-opacity)); +} +.text-violet-300{ + --tw-text-opacity: 1; + color: rgb(196 181 253 / var(--tw-text-opacity)); +} +.text-violet-400{ + --tw-text-opacity: 1; + color: rgb(167 139 250 / var(--tw-text-opacity)); +} +.text-violet-500{ + --tw-text-opacity: 1; + color: rgb(139 92 246 / var(--tw-text-opacity)); +} +.text-violet-600{ + --tw-text-opacity: 1; + color: rgb(124 58 237 / var(--tw-text-opacity)); +} +.text-violet-700{ + --tw-text-opacity: 1; + color: rgb(109 40 217 / var(--tw-text-opacity)); +} +.text-violet-800{ + --tw-text-opacity: 1; + color: rgb(91 33 182 / var(--tw-text-opacity)); +} +.text-violet-900{ + --tw-text-opacity: 1; + color: rgb(76 29 149 / var(--tw-text-opacity)); +} +.text-purple-50{ + --tw-text-opacity: 1; + color: rgb(247 247 249 / var(--tw-text-opacity)); +} +.text-purple-100{ + --tw-text-opacity: 1; + color: rgb(238 238 243 / var(--tw-text-opacity)); +} +.text-purple-200{ + --tw-text-opacity: 1; + color: rgb(213 213 226 / var(--tw-text-opacity)); +} +.text-purple-300{ + --tw-text-opacity: 1; + color: rgb(187 188 209 / var(--tw-text-opacity)); +} +.text-purple-400{ + --tw-text-opacity: 1; + color: rgb(136 138 174 / var(--tw-text-opacity)); +} +.text-purple-500{ + --tw-text-opacity: 1; + color: rgb(85 88 139 / var(--tw-text-opacity)); +} +.text-purple-600{ + --tw-text-opacity: 1; + color: rgb(77 79 125 / var(--tw-text-opacity)); +} +.text-purple-700{ + --tw-text-opacity: 1; + color: rgb(64 66 104 / var(--tw-text-opacity)); +} +.text-purple-800{ + --tw-text-opacity: 1; + color: rgb(51 53 83 / var(--tw-text-opacity)); +} +.text-purple-900{ + --tw-text-opacity: 1; + color: rgb(42 43 68 / var(--tw-text-opacity)); +} +.text-purple{ + --tw-text-opacity: 1; + color: rgb(85 88 139 / var(--tw-text-opacity)); +} +.text-fuchsia-50{ + --tw-text-opacity: 1; + color: rgb(253 244 255 / var(--tw-text-opacity)); +} +.text-fuchsia-100{ + --tw-text-opacity: 1; + color: rgb(250 232 255 / var(--tw-text-opacity)); +} +.text-fuchsia-200{ + --tw-text-opacity: 1; + color: rgb(245 208 254 / var(--tw-text-opacity)); +} +.text-fuchsia-300{ + --tw-text-opacity: 1; + color: rgb(240 171 252 / var(--tw-text-opacity)); +} +.text-fuchsia-400{ + --tw-text-opacity: 1; + color: rgb(232 121 249 / var(--tw-text-opacity)); +} +.text-fuchsia-500{ + --tw-text-opacity: 1; + color: rgb(217 70 239 / var(--tw-text-opacity)); +} +.text-fuchsia-600{ + --tw-text-opacity: 1; + color: rgb(192 38 211 / var(--tw-text-opacity)); +} +.text-fuchsia-700{ + --tw-text-opacity: 1; + color: rgb(162 28 175 / var(--tw-text-opacity)); +} +.text-fuchsia-800{ + --tw-text-opacity: 1; + color: rgb(134 25 143 / var(--tw-text-opacity)); +} +.text-fuchsia-900{ + --tw-text-opacity: 1; + color: rgb(112 26 117 / var(--tw-text-opacity)); +} +.text-pink-50{ + --tw-text-opacity: 1; + color: rgb(253 242 248 / var(--tw-text-opacity)); +} +.text-pink-100{ + --tw-text-opacity: 1; + color: rgb(252 232 243 / var(--tw-text-opacity)); +} +.text-pink-200{ + --tw-text-opacity: 1; + color: rgb(250 209 232 / var(--tw-text-opacity)); +} +.text-pink-300{ + --tw-text-opacity: 1; + color: rgb(248 180 217 / var(--tw-text-opacity)); +} +.text-pink-400{ + --tw-text-opacity: 1; + color: rgb(241 126 184 / var(--tw-text-opacity)); +} +.text-pink-500{ + --tw-text-opacity: 1; + color: rgb(231 70 148 / var(--tw-text-opacity)); +} +.text-pink-600{ + --tw-text-opacity: 1; + color: rgb(214 31 105 / var(--tw-text-opacity)); +} +.text-pink-700{ + --tw-text-opacity: 1; + color: rgb(191 18 93 / var(--tw-text-opacity)); +} +.text-pink-800{ + --tw-text-opacity: 1; + color: rgb(153 21 75 / var(--tw-text-opacity)); +} +.text-pink-900{ + --tw-text-opacity: 1; + color: rgb(117 26 61 / var(--tw-text-opacity)); +} +.text-rose-50{ + --tw-text-opacity: 1; + color: rgb(255 241 242 / var(--tw-text-opacity)); +} +.text-rose-100{ + --tw-text-opacity: 1; + color: rgb(255 228 230 / var(--tw-text-opacity)); +} +.text-rose-200{ + --tw-text-opacity: 1; + color: rgb(254 205 211 / var(--tw-text-opacity)); +} +.text-rose-300{ + --tw-text-opacity: 1; + color: rgb(253 164 175 / var(--tw-text-opacity)); +} +.text-rose-400{ + --tw-text-opacity: 1; + color: rgb(251 113 133 / var(--tw-text-opacity)); +} +.text-rose-500{ + --tw-text-opacity: 1; + color: rgb(244 63 94 / var(--tw-text-opacity)); +} +.text-rose-600{ + --tw-text-opacity: 1; + color: rgb(225 29 72 / var(--tw-text-opacity)); +} +.text-rose-700{ + --tw-text-opacity: 1; + color: rgb(190 18 60 / var(--tw-text-opacity)); +} +.text-rose-800{ + --tw-text-opacity: 1; + color: rgb(159 18 57 / var(--tw-text-opacity)); +} +.text-rose-900{ + --tw-text-opacity: 1; + color: rgb(136 19 55 / var(--tw-text-opacity)); +} +.text-rose{ + --tw-text-opacity: 1; + color: rgb(244 63 94 / var(--tw-text-opacity)); +} +.text-lilac-100{ + --tw-text-opacity: 1; + color: rgb(245 247 250 / var(--tw-text-opacity)); +} +.text-lilac-300{ + --tw-text-opacity: 1; + color: rgb(237 240 252 / var(--tw-text-opacity)); +} +.text-lilac-900{ + --tw-text-opacity: 1; + color: rgb(220 226 249 / var(--tw-text-opacity)); +} +.text-lilac{ + --tw-text-opacity: 1; + color: rgb(248 249 254 / var(--tw-text-opacity)); +} +.text-golden-900{ + --tw-text-opacity: 1; + color: rgb(191 184 130 / var(--tw-text-opacity)); +} +.text-golden{ + --tw-text-opacity: 1; + color: rgb(209 201 137 / var(--tw-text-opacity)); +} +.text-status-success{ + --tw-text-opacity: 1; + color: rgb(241 246 238 / var(--tw-text-opacity)); +} +.text-status-danger{ + --tw-text-opacity: 1; + color: rgb(250 230 230 / var(--tw-text-opacity)); +} +.text-status-sent{ + --tw-text-opacity: 1; + color: rgb(254 245 231 / var(--tw-text-opacity)); +} +.text-status-viewed{ + --tw-text-opacity: 1; + color: rgb(238 238 243 / var(--tw-text-opacity)); +} +.text-status-draft{ + --tw-text-opacity: 1; + color: rgb(236 236 236 / var(--tw-text-opacity)); +} +.text-status-partial{ + --tw-text-opacity: 1; + color: rgb(230 241 246 / var(--tw-text-opacity)); +} +.text-status-canceled{ + --tw-text-opacity: 1; + color: rgb(40 40 40 / var(--tw-text-opacity)); +} +.text-status-warning{ + --tw-text-opacity: 1; + color: rgb(254 245 231 / var(--tw-text-opacity)); +} +.text-text-status-success{ + --tw-text-opacity: 1; + color: rgb(99 145 74 / var(--tw-text-opacity)); +} +.text-text-status-danger{ + --tw-text-opacity: 1; + color: rgb(184 0 0 / var(--tw-text-opacity)); +} +.text-text-status-sent{ + --tw-text-opacity: 1; + color: rgb(221 142 10 / var(--tw-text-opacity)); +} +.text-text-status-viewed{ + --tw-text-opacity: 1; + color: rgb(77 79 125 / var(--tw-text-opacity)); +} +.text-text-status-draft{ + --tw-text-opacity: 1; + color: rgb(59 59 59 / var(--tw-text-opacity)); +} +.text-text-status-partial{ + --tw-text-opacity: 1; + color: rgb(0 99 149 / var(--tw-text-opacity)); +} +.text-text-status-canceled{ + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} +.text-text-status-warning{ + --tw-text-opacity: 1; + color: rgb(184 119 8 / var(--tw-text-opacity)); +} +.text-body{ + --tw-text-opacity: 1; + color: rgb(252 252 252 / var(--tw-text-opacity)); +} +.text-light-gray{ + --tw-text-opacity: 1; + color: rgb(199 201 217 / var(--tw-text-opacity)); +} +.text-dark-blue{ + --tw-text-opacity: 1; + color: rgb(21 40 75 / var(--tw-text-opacity)); +} +.text-lighter-gray{ + --tw-text-opacity: 1; + color: rgb(242 242 245 / var(--tw-text-opacity)); +} +.text-purple-lighter{ + --tw-text-opacity: 1; + color: rgb(242 244 252 / var(--tw-text-opacity)); +} +.text-modal-background{ + color: rgba(0, 0, 0, 0.3); +} +.text-testing{ + --tw-text-opacity: 1; + color: rgb(147 95 7 / var(--tw-text-opacity)); +} +.text-opacity-0{ + --tw-text-opacity: 0; +} +.text-opacity-5{ + --tw-text-opacity: 0.05; +} +.text-opacity-10{ + --tw-text-opacity: 0.1; +} +.text-opacity-20{ + --tw-text-opacity: 0.2; +} +.text-opacity-25{ + --tw-text-opacity: 0.25; +} +.text-opacity-30{ + --tw-text-opacity: 0.3; +} +.text-opacity-40{ + --tw-text-opacity: 0.4; +} +.text-opacity-50{ + --tw-text-opacity: 0.5; +} +.text-opacity-60{ + --tw-text-opacity: 0.6; +} +.text-opacity-70{ + --tw-text-opacity: 0.7; +} +.text-opacity-75{ + --tw-text-opacity: 0.75; +} +.text-opacity-80{ + --tw-text-opacity: 0.8; +} +.text-opacity-90{ + --tw-text-opacity: 0.9; +} +.text-opacity-95{ + --tw-text-opacity: 0.95; +} +.text-opacity-100{ + --tw-text-opacity: 1; +} +.underline{ + -webkit-text-decoration-line: underline; + text-decoration-line: underline; +} +.overline{ + -webkit-text-decoration-line: overline; + text-decoration-line: overline; +} +.line-through{ + -webkit-text-decoration-line: line-through; + text-decoration-line: line-through; +} +.no-underline{ + -webkit-text-decoration-line: none; + text-decoration-line: none; +} +.decoration-inherit{ + -webkit-text-decoration-color: inherit; + text-decoration-color: inherit; +} +.decoration-current{ + -webkit-text-decoration-color: currentColor; + text-decoration-color: currentColor; +} +.decoration-transparent{ + -webkit-text-decoration-color: transparent; + text-decoration-color: transparent; +} +.decoration-black-50{ + -webkit-text-decoration-color: #f6f6f6; + text-decoration-color: #f6f6f6; +} +.decoration-black-100{ + -webkit-text-decoration-color: #ececec; + text-decoration-color: #ececec; +} +.decoration-black-200{ + -webkit-text-decoration-color: #d0d0d0; + text-decoration-color: #d0d0d0; +} +.decoration-black-300{ + -webkit-text-decoration-color: #b3b3b3; + text-decoration-color: #b3b3b3; +} +.decoration-black-400{ + -webkit-text-decoration-color: #7b7b7b; + text-decoration-color: #7b7b7b; +} +.decoration-black-500{ + -webkit-text-decoration-color: #424242; + text-decoration-color: #424242; +} +.decoration-black-600{ + -webkit-text-decoration-color: #3b3b3b; + text-decoration-color: #3b3b3b; +} +.decoration-black-700{ + -webkit-text-decoration-color: #323232; + text-decoration-color: #323232; +} +.decoration-black-800{ + -webkit-text-decoration-color: #282828; + text-decoration-color: #282828; +} +.decoration-black-900{ + -webkit-text-decoration-color: #202020; + text-decoration-color: #202020; +} +.decoration-black{ + -webkit-text-decoration-color: #424242; + text-decoration-color: #424242; +} +.decoration-white{ + -webkit-text-decoration-color: #ffffff; + text-decoration-color: #ffffff; +} +.decoration-slate-50{ + -webkit-text-decoration-color: #f8fafc; + text-decoration-color: #f8fafc; +} +.decoration-slate-100{ + -webkit-text-decoration-color: #f1f5f9; + text-decoration-color: #f1f5f9; +} +.decoration-slate-200{ + -webkit-text-decoration-color: #e2e8f0; + text-decoration-color: #e2e8f0; +} +.decoration-slate-300{ + -webkit-text-decoration-color: #cbd5e1; + text-decoration-color: #cbd5e1; +} +.decoration-slate-400{ + -webkit-text-decoration-color: #94a3b8; + text-decoration-color: #94a3b8; +} +.decoration-slate-500{ + -webkit-text-decoration-color: #64748b; + text-decoration-color: #64748b; +} +.decoration-slate-600{ + -webkit-text-decoration-color: #475569; + text-decoration-color: #475569; +} +.decoration-slate-700{ + -webkit-text-decoration-color: #334155; + text-decoration-color: #334155; +} +.decoration-slate-800{ + -webkit-text-decoration-color: #1e293b; + text-decoration-color: #1e293b; +} +.decoration-slate-900{ + -webkit-text-decoration-color: #0f172a; + text-decoration-color: #0f172a; +} +.decoration-gray-50{ + -webkit-text-decoration-color: #F9FAFB; + text-decoration-color: #F9FAFB; +} +.decoration-gray-100{ + -webkit-text-decoration-color: #F3F4F6; + text-decoration-color: #F3F4F6; +} +.decoration-gray-200{ + -webkit-text-decoration-color: #E5E7EB; + text-decoration-color: #E5E7EB; +} +.decoration-gray-300{ + -webkit-text-decoration-color: #D1D5DB; + text-decoration-color: #D1D5DB; +} +.decoration-gray-400{ + -webkit-text-decoration-color: #9CA3AF; + text-decoration-color: #9CA3AF; +} +.decoration-gray-500{ + -webkit-text-decoration-color: #6B7280; + text-decoration-color: #6B7280; +} +.decoration-gray-600{ + -webkit-text-decoration-color: #4B5563; + text-decoration-color: #4B5563; +} +.decoration-gray-700{ + -webkit-text-decoration-color: #374151; + text-decoration-color: #374151; +} +.decoration-gray-800{ + -webkit-text-decoration-color: #1F2937; + text-decoration-color: #1F2937; +} +.decoration-gray-900{ + -webkit-text-decoration-color: #111827; + text-decoration-color: #111827; +} +.decoration-zinc-50{ + -webkit-text-decoration-color: #fafafa; + text-decoration-color: #fafafa; +} +.decoration-zinc-100{ + -webkit-text-decoration-color: #f4f4f5; + text-decoration-color: #f4f4f5; +} +.decoration-zinc-200{ + -webkit-text-decoration-color: #e4e4e7; + text-decoration-color: #e4e4e7; +} +.decoration-zinc-300{ + -webkit-text-decoration-color: #d4d4d8; + text-decoration-color: #d4d4d8; +} +.decoration-zinc-400{ + -webkit-text-decoration-color: #a1a1aa; + text-decoration-color: #a1a1aa; +} +.decoration-zinc-500{ + -webkit-text-decoration-color: #71717a; + text-decoration-color: #71717a; +} +.decoration-zinc-600{ + -webkit-text-decoration-color: #52525b; + text-decoration-color: #52525b; +} +.decoration-zinc-700{ + -webkit-text-decoration-color: #3f3f46; + text-decoration-color: #3f3f46; +} +.decoration-zinc-800{ + -webkit-text-decoration-color: #27272a; + text-decoration-color: #27272a; +} +.decoration-zinc-900{ + -webkit-text-decoration-color: #18181b; + text-decoration-color: #18181b; +} +.decoration-neutral-50{ + -webkit-text-decoration-color: #fafafa; + text-decoration-color: #fafafa; +} +.decoration-neutral-100{ + -webkit-text-decoration-color: #f5f5f5; + text-decoration-color: #f5f5f5; +} +.decoration-neutral-200{ + -webkit-text-decoration-color: #e5e5e5; + text-decoration-color: #e5e5e5; +} +.decoration-neutral-300{ + -webkit-text-decoration-color: #d4d4d4; + text-decoration-color: #d4d4d4; +} +.decoration-neutral-400{ + -webkit-text-decoration-color: #a3a3a3; + text-decoration-color: #a3a3a3; +} +.decoration-neutral-500{ + -webkit-text-decoration-color: #737373; + text-decoration-color: #737373; +} +.decoration-neutral-600{ + -webkit-text-decoration-color: #525252; + text-decoration-color: #525252; +} +.decoration-neutral-700{ + -webkit-text-decoration-color: #404040; + text-decoration-color: #404040; +} +.decoration-neutral-800{ + -webkit-text-decoration-color: #262626; + text-decoration-color: #262626; +} +.decoration-neutral-900{ + -webkit-text-decoration-color: #171717; + text-decoration-color: #171717; +} +.decoration-stone-50{ + -webkit-text-decoration-color: #fafaf9; + text-decoration-color: #fafaf9; +} +.decoration-stone-100{ + -webkit-text-decoration-color: #f5f5f4; + text-decoration-color: #f5f5f4; +} +.decoration-stone-200{ + -webkit-text-decoration-color: #e7e5e4; + text-decoration-color: #e7e5e4; +} +.decoration-stone-300{ + -webkit-text-decoration-color: #d6d3d1; + text-decoration-color: #d6d3d1; +} +.decoration-stone-400{ + -webkit-text-decoration-color: #a8a29e; + text-decoration-color: #a8a29e; +} +.decoration-stone-500{ + -webkit-text-decoration-color: #78716c; + text-decoration-color: #78716c; +} +.decoration-stone-600{ + -webkit-text-decoration-color: #57534e; + text-decoration-color: #57534e; +} +.decoration-stone-700{ + -webkit-text-decoration-color: #44403c; + text-decoration-color: #44403c; +} +.decoration-stone-800{ + -webkit-text-decoration-color: #292524; + text-decoration-color: #292524; +} +.decoration-stone-900{ + -webkit-text-decoration-color: #1c1917; + text-decoration-color: #1c1917; +} +.decoration-red-50{ + -webkit-text-decoration-color: #fcf2f2; + text-decoration-color: #fcf2f2; +} +.decoration-red-100{ + -webkit-text-decoration-color: #fae6e6; + text-decoration-color: #fae6e6; +} +.decoration-red-200{ + -webkit-text-decoration-color: #f2bfbf; + text-decoration-color: #f2bfbf; +} +.decoration-red-300{ + -webkit-text-decoration-color: #eb9999; + text-decoration-color: #eb9999; +} +.decoration-red-400{ + -webkit-text-decoration-color: #db4d4d; + text-decoration-color: #db4d4d; +} +.decoration-red-500{ + -webkit-text-decoration-color: #cc0000; + text-decoration-color: #cc0000; +} +.decoration-red-600{ + -webkit-text-decoration-color: #b80000; + text-decoration-color: #b80000; +} +.decoration-red-700{ + -webkit-text-decoration-color: #990000; + text-decoration-color: #990000; +} +.decoration-red-800{ + -webkit-text-decoration-color: #7a0000; + text-decoration-color: #7a0000; +} +.decoration-red-900{ + -webkit-text-decoration-color: #640000; + text-decoration-color: #640000; +} +.decoration-red{ + -webkit-text-decoration-color: #cc0000; + text-decoration-color: #cc0000; +} +.decoration-orange-50{ + -webkit-text-decoration-color: #fffaf3; + text-decoration-color: #fffaf3; +} +.decoration-orange-100{ + -webkit-text-decoration-color: #fef5e7; + text-decoration-color: #fef5e7; +} +.decoration-orange-200{ + -webkit-text-decoration-color: #fde7c2; + text-decoration-color: #fde7c2; +} +.decoration-orange-300{ + -webkit-text-decoration-color: #fbd89d; + text-decoration-color: #fbd89d; +} +.decoration-orange-400{ + -webkit-text-decoration-color: #f8bb54; + text-decoration-color: #f8bb54; +} +.decoration-orange-500{ + -webkit-text-decoration-color: #f59e0b; + text-decoration-color: #f59e0b; +} +.decoration-orange-600{ + -webkit-text-decoration-color: #dd8e0a; + text-decoration-color: #dd8e0a; +} +.decoration-orange-700{ + -webkit-text-decoration-color: #b87708; + text-decoration-color: #b87708; +} +.decoration-orange-800{ + -webkit-text-decoration-color: #935f07; + text-decoration-color: #935f07; +} +.decoration-orange-900{ + -webkit-text-decoration-color: #784d05; + text-decoration-color: #784d05; +} +.decoration-orange{ + -webkit-text-decoration-color: #f59e0b; + text-decoration-color: #f59e0b; +} +.decoration-amber-50{ + -webkit-text-decoration-color: #fffbeb; + text-decoration-color: #fffbeb; +} +.decoration-amber-100{ + -webkit-text-decoration-color: #fef3c7; + text-decoration-color: #fef3c7; +} +.decoration-amber-200{ + -webkit-text-decoration-color: #fde68a; + text-decoration-color: #fde68a; +} +.decoration-amber-300{ + -webkit-text-decoration-color: #fcd34d; + text-decoration-color: #fcd34d; +} +.decoration-amber-400{ + -webkit-text-decoration-color: #fbbf24; + text-decoration-color: #fbbf24; +} +.decoration-amber-500{ + -webkit-text-decoration-color: #f59e0b; + text-decoration-color: #f59e0b; +} +.decoration-amber-600{ + -webkit-text-decoration-color: #d97706; + text-decoration-color: #d97706; +} +.decoration-amber-700{ + -webkit-text-decoration-color: #b45309; + text-decoration-color: #b45309; +} +.decoration-amber-800{ + -webkit-text-decoration-color: #92400e; + text-decoration-color: #92400e; +} +.decoration-amber-900{ + -webkit-text-decoration-color: #78350f; + text-decoration-color: #78350f; +} +.decoration-yellow-50{ + -webkit-text-decoration-color: #FDFDEA; + text-decoration-color: #FDFDEA; +} +.decoration-yellow-100{ + -webkit-text-decoration-color: #FDF6B2; + text-decoration-color: #FDF6B2; +} +.decoration-yellow-200{ + -webkit-text-decoration-color: #FCE96A; + text-decoration-color: #FCE96A; +} +.decoration-yellow-300{ + -webkit-text-decoration-color: #FACA15; + text-decoration-color: #FACA15; +} +.decoration-yellow-400{ + -webkit-text-decoration-color: #E3A008; + text-decoration-color: #E3A008; +} +.decoration-yellow-500{ + -webkit-text-decoration-color: #C27803; + text-decoration-color: #C27803; +} +.decoration-yellow-600{ + -webkit-text-decoration-color: #9F580A; + text-decoration-color: #9F580A; +} +.decoration-yellow-700{ + -webkit-text-decoration-color: #8E4B10; + text-decoration-color: #8E4B10; +} +.decoration-yellow-800{ + -webkit-text-decoration-color: #723B13; + text-decoration-color: #723B13; +} +.decoration-yellow-900{ + -webkit-text-decoration-color: #633112; + text-decoration-color: #633112; +} +.decoration-lime-50{ + -webkit-text-decoration-color: #f7fee7; + text-decoration-color: #f7fee7; +} +.decoration-lime-100{ + -webkit-text-decoration-color: #ecfccb; + text-decoration-color: #ecfccb; +} +.decoration-lime-200{ + -webkit-text-decoration-color: #d9f99d; + text-decoration-color: #d9f99d; +} +.decoration-lime-300{ + -webkit-text-decoration-color: #bef264; + text-decoration-color: #bef264; +} +.decoration-lime-400{ + -webkit-text-decoration-color: #a3e635; + text-decoration-color: #a3e635; +} +.decoration-lime-500{ + -webkit-text-decoration-color: #84cc16; + text-decoration-color: #84cc16; +} +.decoration-lime-600{ + -webkit-text-decoration-color: #65a30d; + text-decoration-color: #65a30d; +} +.decoration-lime-700{ + -webkit-text-decoration-color: #4d7c0f; + text-decoration-color: #4d7c0f; +} +.decoration-lime-800{ + -webkit-text-decoration-color: #3f6212; + text-decoration-color: #3f6212; +} +.decoration-lime-900{ + -webkit-text-decoration-color: #365314; + text-decoration-color: #365314; +} +.decoration-green-50{ + -webkit-text-decoration-color: #f8faf6; + text-decoration-color: #f8faf6; +} +.decoration-green-100{ + -webkit-text-decoration-color: #f1f6ee; + text-decoration-color: #f1f6ee; +} +.decoration-green-200{ + -webkit-text-decoration-color: #dbe8d4; + text-decoration-color: #dbe8d4; +} +.decoration-green-300{ + -webkit-text-decoration-color: #c5d9ba; + text-decoration-color: #c5d9ba; +} +.decoration-green-400{ + -webkit-text-decoration-color: #9abd86; + text-decoration-color: #9abd86; +} +.decoration-green-500{ + -webkit-text-decoration-color: #6ea152; + text-decoration-color: #6ea152; +} +.decoration-green-600{ + -webkit-text-decoration-color: #63914a; + text-decoration-color: #63914a; +} +.decoration-green-700{ + -webkit-text-decoration-color: #53793e; + text-decoration-color: #53793e; +} +.decoration-green-800{ + -webkit-text-decoration-color: #426131; + text-decoration-color: #426131; +} +.decoration-green-900{ + -webkit-text-decoration-color: #364f28; + text-decoration-color: #364f28; +} +.decoration-green{ + -webkit-text-decoration-color: #6ea152; + text-decoration-color: #6ea152; +} +.decoration-emerald-50{ + -webkit-text-decoration-color: #ecfdf5; + text-decoration-color: #ecfdf5; +} +.decoration-emerald-100{ + -webkit-text-decoration-color: #d1fae5; + text-decoration-color: #d1fae5; +} +.decoration-emerald-200{ + -webkit-text-decoration-color: #a7f3d0; + text-decoration-color: #a7f3d0; +} +.decoration-emerald-300{ + -webkit-text-decoration-color: #6ee7b7; + text-decoration-color: #6ee7b7; +} +.decoration-emerald-400{ + -webkit-text-decoration-color: #34d399; + text-decoration-color: #34d399; +} +.decoration-emerald-500{ + -webkit-text-decoration-color: #10b981; + text-decoration-color: #10b981; +} +.decoration-emerald-600{ + -webkit-text-decoration-color: #059669; + text-decoration-color: #059669; +} +.decoration-emerald-700{ + -webkit-text-decoration-color: #047857; + text-decoration-color: #047857; +} +.decoration-emerald-800{ + -webkit-text-decoration-color: #065f46; + text-decoration-color: #065f46; +} +.decoration-emerald-900{ + -webkit-text-decoration-color: #064e3b; + text-decoration-color: #064e3b; +} +.decoration-teal-50{ + -webkit-text-decoration-color: #EDFAFA; + text-decoration-color: #EDFAFA; +} +.decoration-teal-100{ + -webkit-text-decoration-color: #D5F5F6; + text-decoration-color: #D5F5F6; +} +.decoration-teal-200{ + -webkit-text-decoration-color: #AFECEF; + text-decoration-color: #AFECEF; +} +.decoration-teal-300{ + -webkit-text-decoration-color: #7EDCE2; + text-decoration-color: #7EDCE2; +} +.decoration-teal-400{ + -webkit-text-decoration-color: #16BDCA; + text-decoration-color: #16BDCA; +} +.decoration-teal-500{ + -webkit-text-decoration-color: #0694A2; + text-decoration-color: #0694A2; +} +.decoration-teal-600{ + -webkit-text-decoration-color: #047481; + text-decoration-color: #047481; +} +.decoration-teal-700{ + -webkit-text-decoration-color: #036672; + text-decoration-color: #036672; +} +.decoration-teal-800{ + -webkit-text-decoration-color: #05505C; + text-decoration-color: #05505C; +} +.decoration-teal-900{ + -webkit-text-decoration-color: #014451; + text-decoration-color: #014451; +} +.decoration-cyan-50{ + -webkit-text-decoration-color: #ecfeff; + text-decoration-color: #ecfeff; +} +.decoration-cyan-100{ + -webkit-text-decoration-color: #cffafe; + text-decoration-color: #cffafe; +} +.decoration-cyan-200{ + -webkit-text-decoration-color: #a5f3fc; + text-decoration-color: #a5f3fc; +} +.decoration-cyan-300{ + -webkit-text-decoration-color: #67e8f9; + text-decoration-color: #67e8f9; +} +.decoration-cyan-400{ + -webkit-text-decoration-color: #22d3ee; + text-decoration-color: #22d3ee; +} +.decoration-cyan-500{ + -webkit-text-decoration-color: #06b6d4; + text-decoration-color: #06b6d4; +} +.decoration-cyan-600{ + -webkit-text-decoration-color: #0891b2; + text-decoration-color: #0891b2; +} +.decoration-cyan-700{ + -webkit-text-decoration-color: #0e7490; + text-decoration-color: #0e7490; +} +.decoration-cyan-800{ + -webkit-text-decoration-color: #155e75; + text-decoration-color: #155e75; +} +.decoration-cyan-900{ + -webkit-text-decoration-color: #164e63; + text-decoration-color: #164e63; +} +.decoration-sky-50{ + -webkit-text-decoration-color: #f0f9ff; + text-decoration-color: #f0f9ff; +} +.decoration-sky-100{ + -webkit-text-decoration-color: #e0f2fe; + text-decoration-color: #e0f2fe; +} +.decoration-sky-200{ + -webkit-text-decoration-color: #bae6fd; + text-decoration-color: #bae6fd; +} +.decoration-sky-300{ + -webkit-text-decoration-color: #7dd3fc; + text-decoration-color: #7dd3fc; +} +.decoration-sky-400{ + -webkit-text-decoration-color: #38bdf8; + text-decoration-color: #38bdf8; +} +.decoration-sky-500{ + -webkit-text-decoration-color: #0ea5e9; + text-decoration-color: #0ea5e9; +} +.decoration-sky-600{ + -webkit-text-decoration-color: #0284c7; + text-decoration-color: #0284c7; +} +.decoration-sky-700{ + -webkit-text-decoration-color: #0369a1; + text-decoration-color: #0369a1; +} +.decoration-sky-800{ + -webkit-text-decoration-color: #075985; + text-decoration-color: #075985; +} +.decoration-sky-900{ + -webkit-text-decoration-color: #0c4a6e; + text-decoration-color: #0c4a6e; +} +.decoration-blue-50{ + -webkit-text-decoration-color: #f2f8fb; + text-decoration-color: #f2f8fb; +} +.decoration-blue-100{ + -webkit-text-decoration-color: #e6f1f6; + text-decoration-color: #e6f1f6; +} +.decoration-blue-200{ + -webkit-text-decoration-color: #bfdbe9; + text-decoration-color: #bfdbe9; +} +.decoration-blue-300{ + -webkit-text-decoration-color: #99c5db; + text-decoration-color: #99c5db; +} +.decoration-blue-400{ + -webkit-text-decoration-color: #4d9ac1; + text-decoration-color: #4d9ac1; +} +.decoration-blue-500{ + -webkit-text-decoration-color: #006ea6; + text-decoration-color: #006ea6; +} +.decoration-blue-600{ + -webkit-text-decoration-color: #006395; + text-decoration-color: #006395; +} +.decoration-blue-700{ + -webkit-text-decoration-color: #00537d; + text-decoration-color: #00537d; +} +.decoration-blue-800{ + -webkit-text-decoration-color: #004264; + text-decoration-color: #004264; +} +.decoration-blue-900{ + -webkit-text-decoration-color: #003651; + text-decoration-color: #003651; +} +.decoration-blue{ + -webkit-text-decoration-color: #006ea6; + text-decoration-color: #006ea6; +} +.decoration-indigo-50{ + -webkit-text-decoration-color: #F0F5FF; + text-decoration-color: #F0F5FF; +} +.decoration-indigo-100{ + -webkit-text-decoration-color: #E5EDFF; + text-decoration-color: #E5EDFF; +} +.decoration-indigo-200{ + -webkit-text-decoration-color: #CDDBFE; + text-decoration-color: #CDDBFE; +} +.decoration-indigo-300{ + -webkit-text-decoration-color: #B4C6FC; + text-decoration-color: #B4C6FC; +} +.decoration-indigo-400{ + -webkit-text-decoration-color: #8DA2FB; + text-decoration-color: #8DA2FB; +} +.decoration-indigo-500{ + -webkit-text-decoration-color: #6875F5; + text-decoration-color: #6875F5; +} +.decoration-indigo-600{ + -webkit-text-decoration-color: #5850EC; + text-decoration-color: #5850EC; +} +.decoration-indigo-700{ + -webkit-text-decoration-color: #5145CD; + text-decoration-color: #5145CD; +} +.decoration-indigo-800{ + -webkit-text-decoration-color: #42389D; + text-decoration-color: #42389D; +} +.decoration-indigo-900{ + -webkit-text-decoration-color: #362F78; + text-decoration-color: #362F78; +} +.decoration-violet-50{ + -webkit-text-decoration-color: #f5f3ff; + text-decoration-color: #f5f3ff; +} +.decoration-violet-100{ + -webkit-text-decoration-color: #ede9fe; + text-decoration-color: #ede9fe; +} +.decoration-violet-200{ + -webkit-text-decoration-color: #ddd6fe; + text-decoration-color: #ddd6fe; +} +.decoration-violet-300{ + -webkit-text-decoration-color: #c4b5fd; + text-decoration-color: #c4b5fd; +} +.decoration-violet-400{ + -webkit-text-decoration-color: #a78bfa; + text-decoration-color: #a78bfa; +} +.decoration-violet-500{ + -webkit-text-decoration-color: #8b5cf6; + text-decoration-color: #8b5cf6; +} +.decoration-violet-600{ + -webkit-text-decoration-color: #7c3aed; + text-decoration-color: #7c3aed; +} +.decoration-violet-700{ + -webkit-text-decoration-color: #6d28d9; + text-decoration-color: #6d28d9; +} +.decoration-violet-800{ + -webkit-text-decoration-color: #5b21b6; + text-decoration-color: #5b21b6; +} +.decoration-violet-900{ + -webkit-text-decoration-color: #4c1d95; + text-decoration-color: #4c1d95; +} +.decoration-purple-50{ + -webkit-text-decoration-color: #f7f7f9; + text-decoration-color: #f7f7f9; +} +.decoration-purple-100{ + -webkit-text-decoration-color: #eeeef3; + text-decoration-color: #eeeef3; +} +.decoration-purple-200{ + -webkit-text-decoration-color: #d5d5e2; + text-decoration-color: #d5d5e2; +} +.decoration-purple-300{ + -webkit-text-decoration-color: #bbbcd1; + text-decoration-color: #bbbcd1; +} +.decoration-purple-400{ + -webkit-text-decoration-color: #888aae; + text-decoration-color: #888aae; +} +.decoration-purple-500{ + -webkit-text-decoration-color: #55588b; + text-decoration-color: #55588b; +} +.decoration-purple-600{ + -webkit-text-decoration-color: #4d4f7d; + text-decoration-color: #4d4f7d; +} +.decoration-purple-700{ + -webkit-text-decoration-color: #404268; + text-decoration-color: #404268; +} +.decoration-purple-800{ + -webkit-text-decoration-color: #333553; + text-decoration-color: #333553; +} +.decoration-purple-900{ + -webkit-text-decoration-color: #2a2b44; + text-decoration-color: #2a2b44; +} +.decoration-purple{ + -webkit-text-decoration-color: #55588b; + text-decoration-color: #55588b; +} +.decoration-fuchsia-50{ + -webkit-text-decoration-color: #fdf4ff; + text-decoration-color: #fdf4ff; +} +.decoration-fuchsia-100{ + -webkit-text-decoration-color: #fae8ff; + text-decoration-color: #fae8ff; +} +.decoration-fuchsia-200{ + -webkit-text-decoration-color: #f5d0fe; + text-decoration-color: #f5d0fe; +} +.decoration-fuchsia-300{ + -webkit-text-decoration-color: #f0abfc; + text-decoration-color: #f0abfc; +} +.decoration-fuchsia-400{ + -webkit-text-decoration-color: #e879f9; + text-decoration-color: #e879f9; +} +.decoration-fuchsia-500{ + -webkit-text-decoration-color: #d946ef; + text-decoration-color: #d946ef; +} +.decoration-fuchsia-600{ + -webkit-text-decoration-color: #c026d3; + text-decoration-color: #c026d3; +} +.decoration-fuchsia-700{ + -webkit-text-decoration-color: #a21caf; + text-decoration-color: #a21caf; +} +.decoration-fuchsia-800{ + -webkit-text-decoration-color: #86198f; + text-decoration-color: #86198f; +} +.decoration-fuchsia-900{ + -webkit-text-decoration-color: #701a75; + text-decoration-color: #701a75; +} +.decoration-pink-50{ + -webkit-text-decoration-color: #FDF2F8; + text-decoration-color: #FDF2F8; +} +.decoration-pink-100{ + -webkit-text-decoration-color: #FCE8F3; + text-decoration-color: #FCE8F3; +} +.decoration-pink-200{ + -webkit-text-decoration-color: #FAD1E8; + text-decoration-color: #FAD1E8; +} +.decoration-pink-300{ + -webkit-text-decoration-color: #F8B4D9; + text-decoration-color: #F8B4D9; +} +.decoration-pink-400{ + -webkit-text-decoration-color: #F17EB8; + text-decoration-color: #F17EB8; +} +.decoration-pink-500{ + -webkit-text-decoration-color: #E74694; + text-decoration-color: #E74694; +} +.decoration-pink-600{ + -webkit-text-decoration-color: #D61F69; + text-decoration-color: #D61F69; +} +.decoration-pink-700{ + -webkit-text-decoration-color: #BF125D; + text-decoration-color: #BF125D; +} +.decoration-pink-800{ + -webkit-text-decoration-color: #99154B; + text-decoration-color: #99154B; +} +.decoration-pink-900{ + -webkit-text-decoration-color: #751A3D; + text-decoration-color: #751A3D; +} +.decoration-rose-50{ + -webkit-text-decoration-color: #fff1f2; + text-decoration-color: #fff1f2; +} +.decoration-rose-100{ + -webkit-text-decoration-color: #ffe4e6; + text-decoration-color: #ffe4e6; +} +.decoration-rose-200{ + -webkit-text-decoration-color: #fecdd3; + text-decoration-color: #fecdd3; +} +.decoration-rose-300{ + -webkit-text-decoration-color: #fda4af; + text-decoration-color: #fda4af; +} +.decoration-rose-400{ + -webkit-text-decoration-color: #fb7185; + text-decoration-color: #fb7185; +} +.decoration-rose-500{ + -webkit-text-decoration-color: #f43f5e; + text-decoration-color: #f43f5e; +} +.decoration-rose-600{ + -webkit-text-decoration-color: #e11d48; + text-decoration-color: #e11d48; +} +.decoration-rose-700{ + -webkit-text-decoration-color: #be123c; + text-decoration-color: #be123c; +} +.decoration-rose-800{ + -webkit-text-decoration-color: #9f1239; + text-decoration-color: #9f1239; +} +.decoration-rose-900{ + -webkit-text-decoration-color: #881337; + text-decoration-color: #881337; +} +.decoration-rose{ + -webkit-text-decoration-color: #f43f5e; + text-decoration-color: #f43f5e; +} +.decoration-lilac-100{ + -webkit-text-decoration-color: #F5F7FA; + text-decoration-color: #F5F7FA; +} +.decoration-lilac-300{ + -webkit-text-decoration-color: #EDF0FC; + text-decoration-color: #EDF0FC; +} +.decoration-lilac-900{ + -webkit-text-decoration-color: #DCE2F9; + text-decoration-color: #DCE2F9; +} +.decoration-lilac{ + -webkit-text-decoration-color: #F8F9FE; + text-decoration-color: #F8F9FE; +} +.decoration-golden-900{ + -webkit-text-decoration-color: #BFB882; + text-decoration-color: #BFB882; +} +.decoration-golden{ + -webkit-text-decoration-color: #D1C989; + text-decoration-color: #D1C989; +} +.decoration-status-success{ + -webkit-text-decoration-color: #F1F6EE; + text-decoration-color: #F1F6EE; +} +.decoration-status-danger{ + -webkit-text-decoration-color: #fae6e6; + text-decoration-color: #fae6e6; +} +.decoration-status-sent{ + -webkit-text-decoration-color: #FEF5E7; + text-decoration-color: #FEF5E7; +} +.decoration-status-viewed{ + -webkit-text-decoration-color: #EEEEF3; + text-decoration-color: #EEEEF3; +} +.decoration-status-draft{ + -webkit-text-decoration-color: #ECECEC; + text-decoration-color: #ECECEC; +} +.decoration-status-partial{ + -webkit-text-decoration-color: #E6F1F6; + text-decoration-color: #E6F1F6; +} +.decoration-status-canceled{ + -webkit-text-decoration-color: #282828; + text-decoration-color: #282828; +} +.decoration-status-warning{ + -webkit-text-decoration-color: #FEF5E7; + text-decoration-color: #FEF5E7; +} +.decoration-text-status-success{ + -webkit-text-decoration-color: #63914A; + text-decoration-color: #63914A; +} +.decoration-text-status-danger{ + -webkit-text-decoration-color: #B80000; + text-decoration-color: #B80000; +} +.decoration-text-status-sent{ + -webkit-text-decoration-color: #DD8E0A; + text-decoration-color: #DD8E0A; +} +.decoration-text-status-viewed{ + -webkit-text-decoration-color: #4D4F7D; + text-decoration-color: #4D4F7D; +} +.decoration-text-status-draft{ + -webkit-text-decoration-color: #3B3B3B; + text-decoration-color: #3B3B3B; +} +.decoration-text-status-partial{ + -webkit-text-decoration-color: #006395; + text-decoration-color: #006395; +} +.decoration-text-status-canceled{ + -webkit-text-decoration-color: #ffffff; + text-decoration-color: #ffffff; +} +.decoration-text-status-warning{ + -webkit-text-decoration-color: #b87708; + text-decoration-color: #b87708; +} +.decoration-body{ + -webkit-text-decoration-color: #fcfcfc; + text-decoration-color: #fcfcfc; +} +.decoration-light-gray{ + -webkit-text-decoration-color: #C7C9D9; + text-decoration-color: #C7C9D9; +} +.decoration-dark-blue{ + -webkit-text-decoration-color: #15284B; + text-decoration-color: #15284B; +} +.decoration-lighter-gray{ + -webkit-text-decoration-color: #F2F2F5; + text-decoration-color: #F2F2F5; +} +.decoration-purple-lighter{ + -webkit-text-decoration-color: #F2F4FC; + text-decoration-color: #F2F4FC; +} +.decoration-modal-background{ + -webkit-text-decoration-color: rgba(0, 0, 0, 0.3); + text-decoration-color: rgba(0, 0, 0, 0.3); +} +.decoration-testing{ + -webkit-text-decoration-color: #935f07; + text-decoration-color: #935f07; +} +.decoration-solid{ + -webkit-text-decoration-style: solid; + text-decoration-style: solid; +} +.decoration-double{ + -webkit-text-decoration-style: double; + text-decoration-style: double; +} +.decoration-dotted{ + -webkit-text-decoration-style: dotted; + text-decoration-style: dotted; +} +.decoration-dashed{ + -webkit-text-decoration-style: dashed; + text-decoration-style: dashed; +} +.decoration-wavy{ + -webkit-text-decoration-style: wavy; + text-decoration-style: wavy; +} +.decoration-0{ + text-decoration-thickness: 0px; +} +.decoration-1{ + text-decoration-thickness: 1px; +} +.decoration-2{ + text-decoration-thickness: 2px; +} +.decoration-4{ + text-decoration-thickness: 4px; +} +.decoration-8{ + text-decoration-thickness: 8px; +} +.decoration-auto{ + text-decoration-thickness: auto; +} +.decoration-from-font{ + text-decoration-thickness: from-font; +} +.underline-offset-0{ + text-underline-offset: 0px; +} +.underline-offset-1{ + text-underline-offset: 1px; +} +.underline-offset-2{ + text-underline-offset: 2px; +} +.underline-offset-4{ + text-underline-offset: 4px; +} +.underline-offset-8{ + text-underline-offset: 8px; +} +.underline-offset-auto{ + text-underline-offset: auto; +} +.antialiased{ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.subpixel-antialiased{ + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} +.placeholder-inherit::-webkit-input-placeholder{ + color: inherit; +} +.placeholder-inherit::-moz-placeholder{ + color: inherit; +} +.placeholder-inherit:-ms-input-placeholder{ + color: inherit; +} +.placeholder-inherit::-ms-input-placeholder{ + color: inherit; +} +.placeholder-inherit::placeholder{ + color: inherit; +} +.placeholder-current::-webkit-input-placeholder{ + color: currentColor; +} +.placeholder-current::-moz-placeholder{ + color: currentColor; +} +.placeholder-current:-ms-input-placeholder{ + color: currentColor; +} +.placeholder-current::-ms-input-placeholder{ + color: currentColor; +} +.placeholder-current::placeholder{ + color: currentColor; +} +.placeholder-transparent::-webkit-input-placeholder{ + color: transparent; +} +.placeholder-transparent::-moz-placeholder{ + color: transparent; +} +.placeholder-transparent:-ms-input-placeholder{ + color: transparent; +} +.placeholder-transparent::-ms-input-placeholder{ + color: transparent; +} +.placeholder-transparent::placeholder{ + color: transparent; +} +.placeholder-black-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(246 246 246 / var(--tw-placeholder-opacity)); +} +.placeholder-black-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(246 246 246 / var(--tw-placeholder-opacity)); +} +.placeholder-black-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(246 246 246 / var(--tw-placeholder-opacity)); +} +.placeholder-black-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(246 246 246 / var(--tw-placeholder-opacity)); +} +.placeholder-black-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(246 246 246 / var(--tw-placeholder-opacity)); +} +.placeholder-black-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-black-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-black-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-black-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-black-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-black-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(208 208 208 / var(--tw-placeholder-opacity)); +} +.placeholder-black-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(208 208 208 / var(--tw-placeholder-opacity)); +} +.placeholder-black-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(208 208 208 / var(--tw-placeholder-opacity)); +} +.placeholder-black-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(208 208 208 / var(--tw-placeholder-opacity)); +} +.placeholder-black-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(208 208 208 / var(--tw-placeholder-opacity)); +} +.placeholder-black-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(179 179 179 / var(--tw-placeholder-opacity)); +} +.placeholder-black-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(179 179 179 / var(--tw-placeholder-opacity)); +} +.placeholder-black-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(179 179 179 / var(--tw-placeholder-opacity)); +} +.placeholder-black-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(179 179 179 / var(--tw-placeholder-opacity)); +} +.placeholder-black-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(179 179 179 / var(--tw-placeholder-opacity)); +} +.placeholder-black-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(123 123 123 / var(--tw-placeholder-opacity)); +} +.placeholder-black-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(123 123 123 / var(--tw-placeholder-opacity)); +} +.placeholder-black-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(123 123 123 / var(--tw-placeholder-opacity)); +} +.placeholder-black-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(123 123 123 / var(--tw-placeholder-opacity)); +} +.placeholder-black-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(123 123 123 / var(--tw-placeholder-opacity)); +} +.placeholder-black-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-black-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-black-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-black-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-black-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-black-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-black-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-black-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-black-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-black-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-black-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(50 50 50 / var(--tw-placeholder-opacity)); +} +.placeholder-black-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(50 50 50 / var(--tw-placeholder-opacity)); +} +.placeholder-black-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(50 50 50 / var(--tw-placeholder-opacity)); +} +.placeholder-black-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(50 50 50 / var(--tw-placeholder-opacity)); +} +.placeholder-black-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(50 50 50 / var(--tw-placeholder-opacity)); +} +.placeholder-black-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-black-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-black-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-black-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-black-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-black-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(32 32 32 / var(--tw-placeholder-opacity)); +} +.placeholder-black-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(32 32 32 / var(--tw-placeholder-opacity)); +} +.placeholder-black-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(32 32 32 / var(--tw-placeholder-opacity)); +} +.placeholder-black-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(32 32 32 / var(--tw-placeholder-opacity)); +} +.placeholder-black-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(32 32 32 / var(--tw-placeholder-opacity)); +} +.placeholder-black::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-black::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-black:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-black::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-black::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 66 66 / var(--tw-placeholder-opacity)); +} +.placeholder-white::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-white::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-white:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-white::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-white::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 252 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 252 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 252 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 252 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 252 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 245 249 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 245 249 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 245 249 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 245 249 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 245 249 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(226 232 240 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(226 232 240 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(226 232 240 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(226 232 240 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(226 232 240 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(203 213 225 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(203 213 225 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(203 213 225 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(203 213 225 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(203 213 225 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(148 163 184 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(148 163 184 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(148 163 184 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(148 163 184 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(148 163 184 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 116 139 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 116 139 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 116 139 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 116 139 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 116 139 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(71 85 105 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(71 85 105 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(71 85 105 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(71 85 105 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(71 85 105 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 65 85 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 65 85 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 65 85 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 65 85 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 65 85 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(30 41 59 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(30 41 59 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(30 41 59 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(30 41 59 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(30 41 59 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(15 23 42 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(15 23 42 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(15 23 42 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(15 23 42 / var(--tw-placeholder-opacity)); +} +.placeholder-slate-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(15 23 42 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(249 250 251 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(249 250 251 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(249 250 251 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(249 250 251 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(249 250 251 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(243 244 246 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(243 244 246 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(243 244 246 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(243 244 246 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(243 244 246 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 231 235 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 231 235 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 231 235 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 231 235 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 231 235 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 213 219 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 213 219 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 213 219 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 213 219 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 213 219 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(156 163 175 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(156 163 175 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(156 163 175 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(156 163 175 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(156 163 175 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(107 114 128 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(107 114 128 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(107 114 128 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(107 114 128 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(107 114 128 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(75 85 99 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(75 85 99 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(75 85 99 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(75 85 99 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(75 85 99 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(55 65 81 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(55 65 81 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(55 65 81 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(55 65 81 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(55 65 81 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(31 41 55 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(31 41 55 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(31 41 55 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(31 41 55 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(31 41 55 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(17 24 39 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(17 24 39 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(17 24 39 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(17 24 39 / var(--tw-placeholder-opacity)); +} +.placeholder-gray-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(17 24 39 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 244 245 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 244 245 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 244 245 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 244 245 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 244 245 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(228 228 231 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(228 228 231 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(228 228 231 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(228 228 231 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(228 228 231 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 216 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 216 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 216 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 216 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 216 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(161 161 170 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(161 161 170 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(161 161 170 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(161 161 170 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(161 161 170 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(113 113 122 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(113 113 122 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(113 113 122 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(113 113 122 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(113 113 122 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 91 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 91 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 91 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 91 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 91 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 63 70 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 63 70 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 63 70 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 63 70 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 63 70 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(39 39 42 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(39 39 42 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(39 39 42 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(39 39 42 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(39 39 42 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(24 24 27 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(24 24 27 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(24 24 27 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(24 24 27 / var(--tw-placeholder-opacity)); +} +.placeholder-zinc-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(24 24 27 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 245 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 245 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 245 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 245 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 245 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 229 229 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 229 229 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 229 229 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 229 229 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 229 229 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 212 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 212 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 212 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 212 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(212 212 212 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 163 163 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 163 163 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 163 163 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 163 163 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 163 163 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(115 115 115 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(115 115 115 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(115 115 115 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(115 115 115 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(115 115 115 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 82 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 82 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 82 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 82 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(82 82 82 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 64 64 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 64 64 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 64 64 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 64 64 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 64 64 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(38 38 38 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(38 38 38 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(38 38 38 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(38 38 38 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(38 38 38 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(23 23 23 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(23 23 23 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(23 23 23 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(23 23 23 / var(--tw-placeholder-opacity)); +} +.placeholder-neutral-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(23 23 23 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 249 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 249 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 249 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 249 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 250 249 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 244 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 244 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 244 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 244 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 245 244 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 229 228 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 229 228 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 229 228 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 229 228 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 229 228 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 211 209 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 211 209 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 211 209 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 211 209 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 211 209 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(168 162 158 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(168 162 158 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(168 162 158 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(168 162 158 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(168 162 158 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 113 108 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 113 108 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 113 108 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 113 108 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 113 108 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(87 83 78 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(87 83 78 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(87 83 78 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(87 83 78 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(87 83 78 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(68 64 60 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(68 64 60 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(68 64 60 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(68 64 60 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(68 64 60 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(41 37 36 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(41 37 36 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(41 37 36 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(41 37 36 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(41 37 36 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(28 25 23 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(28 25 23 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(28 25 23 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(28 25 23 / var(--tw-placeholder-opacity)); +} +.placeholder-stone-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(28 25 23 / var(--tw-placeholder-opacity)); +} +.placeholder-red-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 242 242 / var(--tw-placeholder-opacity)); +} +.placeholder-red-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 242 242 / var(--tw-placeholder-opacity)); +} +.placeholder-red-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 242 242 / var(--tw-placeholder-opacity)); +} +.placeholder-red-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 242 242 / var(--tw-placeholder-opacity)); +} +.placeholder-red-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 242 242 / var(--tw-placeholder-opacity)); +} +.placeholder-red-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-red-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-red-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-red-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-red-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-red-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 191 191 / var(--tw-placeholder-opacity)); +} +.placeholder-red-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 191 191 / var(--tw-placeholder-opacity)); +} +.placeholder-red-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 191 191 / var(--tw-placeholder-opacity)); +} +.placeholder-red-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 191 191 / var(--tw-placeholder-opacity)); +} +.placeholder-red-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 191 191 / var(--tw-placeholder-opacity)); +} +.placeholder-red-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(235 153 153 / var(--tw-placeholder-opacity)); +} +.placeholder-red-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(235 153 153 / var(--tw-placeholder-opacity)); +} +.placeholder-red-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(235 153 153 / var(--tw-placeholder-opacity)); +} +.placeholder-red-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(235 153 153 / var(--tw-placeholder-opacity)); +} +.placeholder-red-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(235 153 153 / var(--tw-placeholder-opacity)); +} +.placeholder-red-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 77 77 / var(--tw-placeholder-opacity)); +} +.placeholder-red-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 77 77 / var(--tw-placeholder-opacity)); +} +.placeholder-red-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 77 77 / var(--tw-placeholder-opacity)); +} +.placeholder-red-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 77 77 / var(--tw-placeholder-opacity)); +} +.placeholder-red-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 77 77 / var(--tw-placeholder-opacity)); +} +.placeholder-red-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(122 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(122 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(122 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(122 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(122 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(100 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-red::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(204 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 250 243 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 250 243 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 250 243 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 250 243 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 250 243 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 231 194 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 231 194 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 231 194 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 231 194 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 231 194 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 216 157 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 216 157 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 216 157 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 216 157 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 216 157 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 187 84 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 187 84 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 187 84 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 187 84 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 187 84 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 77 5 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 77 5 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 77 5 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 77 5 / var(--tw-placeholder-opacity)); +} +.placeholder-orange-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 77 5 / var(--tw-placeholder-opacity)); +} +.placeholder-orange::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-orange::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-orange:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-orange::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-orange::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 251 235 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 251 235 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 251 235 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 251 235 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 251 235 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 243 199 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 243 199 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 243 199 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 243 199 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 243 199 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 230 138 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 230 138 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 230 138 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 230 138 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 230 138 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 211 77 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 211 77 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 211 77 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 211 77 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 211 77 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 191 36 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 191 36 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 191 36 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 191 36 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 191 36 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 158 11 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 119 6 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 119 6 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 119 6 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 119 6 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 119 6 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 83 9 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 83 9 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 83 9 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 83 9 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 83 9 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(146 64 14 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(146 64 14 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(146 64 14 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(146 64 14 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(146 64 14 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 53 15 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 53 15 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 53 15 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 53 15 / var(--tw-placeholder-opacity)); +} +.placeholder-amber-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(120 53 15 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 253 234 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 253 234 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 253 234 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 253 234 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 253 234 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 246 178 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 246 178 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 246 178 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 246 178 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 246 178 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 233 106 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 233 106 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 233 106 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 233 106 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 233 106 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 202 21 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 202 21 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 202 21 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 202 21 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 202 21 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(227 160 8 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(227 160 8 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(227 160 8 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(227 160 8 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(227 160 8 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(194 120 3 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(194 120 3 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(194 120 3 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(194 120 3 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(194 120 3 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 88 10 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 88 10 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 88 10 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 88 10 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 88 10 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(142 75 16 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(142 75 16 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(142 75 16 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(142 75 16 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(142 75 16 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(114 59 19 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(114 59 19 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(114 59 19 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(114 59 19 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(114 59 19 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 49 18 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 49 18 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 49 18 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 49 18 / var(--tw-placeholder-opacity)); +} +.placeholder-yellow-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 49 18 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 254 231 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 254 231 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 254 231 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 254 231 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 254 231 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 252 203 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 252 203 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 252 203 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 252 203 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 252 203 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 249 157 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 249 157 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 249 157 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 249 157 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 249 157 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 242 100 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 242 100 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 242 100 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 242 100 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 242 100 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 230 53 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 230 53 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 230 53 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 230 53 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(163 230 53 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(132 204 22 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(132 204 22 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(132 204 22 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(132 204 22 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(132 204 22 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(101 163 13 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(101 163 13 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(101 163 13 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(101 163 13 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(101 163 13 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 124 15 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 124 15 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 124 15 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 124 15 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 124 15 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 98 18 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 98 18 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 98 18 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 98 18 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(63 98 18 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 83 20 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 83 20 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 83 20 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 83 20 / var(--tw-placeholder-opacity)); +} +.placeholder-lime-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 83 20 / var(--tw-placeholder-opacity)); +} +.placeholder-green-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 246 / var(--tw-placeholder-opacity)); +} +.placeholder-green-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 246 / var(--tw-placeholder-opacity)); +} +.placeholder-green-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 246 / var(--tw-placeholder-opacity)); +} +.placeholder-green-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 246 / var(--tw-placeholder-opacity)); +} +.placeholder-green-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 250 246 / var(--tw-placeholder-opacity)); +} +.placeholder-green-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-green-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-green-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-green-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-green-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-green-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 232 212 / var(--tw-placeholder-opacity)); +} +.placeholder-green-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 232 212 / var(--tw-placeholder-opacity)); +} +.placeholder-green-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 232 212 / var(--tw-placeholder-opacity)); +} +.placeholder-green-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 232 212 / var(--tw-placeholder-opacity)); +} +.placeholder-green-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(219 232 212 / var(--tw-placeholder-opacity)); +} +.placeholder-green-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(197 217 186 / var(--tw-placeholder-opacity)); +} +.placeholder-green-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(197 217 186 / var(--tw-placeholder-opacity)); +} +.placeholder-green-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(197 217 186 / var(--tw-placeholder-opacity)); +} +.placeholder-green-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(197 217 186 / var(--tw-placeholder-opacity)); +} +.placeholder-green-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(197 217 186 / var(--tw-placeholder-opacity)); +} +.placeholder-green-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(154 189 134 / var(--tw-placeholder-opacity)); +} +.placeholder-green-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(154 189 134 / var(--tw-placeholder-opacity)); +} +.placeholder-green-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(154 189 134 / var(--tw-placeholder-opacity)); +} +.placeholder-green-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(154 189 134 / var(--tw-placeholder-opacity)); +} +.placeholder-green-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(154 189 134 / var(--tw-placeholder-opacity)); +} +.placeholder-green-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-green-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-green-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-green-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-green-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-green-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-green-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-green-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-green-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-green-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-green-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(83 121 62 / var(--tw-placeholder-opacity)); +} +.placeholder-green-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(83 121 62 / var(--tw-placeholder-opacity)); +} +.placeholder-green-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(83 121 62 / var(--tw-placeholder-opacity)); +} +.placeholder-green-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(83 121 62 / var(--tw-placeholder-opacity)); +} +.placeholder-green-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(83 121 62 / var(--tw-placeholder-opacity)); +} +.placeholder-green-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 97 49 / var(--tw-placeholder-opacity)); +} +.placeholder-green-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 97 49 / var(--tw-placeholder-opacity)); +} +.placeholder-green-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 97 49 / var(--tw-placeholder-opacity)); +} +.placeholder-green-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 97 49 / var(--tw-placeholder-opacity)); +} +.placeholder-green-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 97 49 / var(--tw-placeholder-opacity)); +} +.placeholder-green-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 79 40 / var(--tw-placeholder-opacity)); +} +.placeholder-green-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 79 40 / var(--tw-placeholder-opacity)); +} +.placeholder-green-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 79 40 / var(--tw-placeholder-opacity)); +} +.placeholder-green-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 79 40 / var(--tw-placeholder-opacity)); +} +.placeholder-green-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 79 40 / var(--tw-placeholder-opacity)); +} +.placeholder-green::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-green::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-green:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-green::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-green::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 161 82 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 253 245 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 253 245 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 253 245 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 253 245 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 253 245 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 250 229 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 250 229 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 250 229 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 250 229 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 250 229 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 243 208 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 243 208 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 243 208 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 243 208 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 243 208 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 231 183 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 231 183 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 231 183 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 231 183 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(110 231 183 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(52 211 153 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(52 211 153 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(52 211 153 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(52 211 153 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(52 211 153 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(16 185 129 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(16 185 129 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(16 185 129 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(16 185 129 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(16 185 129 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 150 105 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 150 105 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 150 105 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 150 105 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 150 105 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 120 87 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 120 87 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 120 87 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 120 87 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 120 87 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 95 70 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 95 70 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 95 70 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 95 70 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 95 70 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 78 59 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 78 59 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 78 59 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 78 59 / var(--tw-placeholder-opacity)); +} +.placeholder-emerald-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 78 59 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 250 250 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 245 246 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 245 246 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 245 246 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 245 246 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 245 246 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(175 236 239 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(175 236 239 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(175 236 239 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(175 236 239 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(175 236 239 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(126 220 226 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(126 220 226 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(126 220 226 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(126 220 226 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(126 220 226 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 189 202 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 189 202 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 189 202 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 189 202 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 189 202 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 148 162 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 148 162 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 148 162 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 148 162 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 148 162 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 116 129 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 116 129 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 116 129 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 116 129 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(4 116 129 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 102 114 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 102 114 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 102 114 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 102 114 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 102 114 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 80 92 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 80 92 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 80 92 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 80 92 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(5 80 92 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(1 68 81 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(1 68 81 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(1 68 81 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(1 68 81 / var(--tw-placeholder-opacity)); +} +.placeholder-teal-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(1 68 81 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 254 255 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 254 255 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 254 255 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 254 255 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 254 255 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(207 250 254 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(207 250 254 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(207 250 254 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(207 250 254 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(207 250 254 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(165 243 252 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(165 243 252 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(165 243 252 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(165 243 252 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(165 243 252 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(103 232 249 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(103 232 249 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(103 232 249 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(103 232 249 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(103 232 249 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(34 211 238 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(34 211 238 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(34 211 238 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(34 211 238 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(34 211 238 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 182 212 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 182 212 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 182 212 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 182 212 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(6 182 212 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(8 145 178 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(8 145 178 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(8 145 178 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(8 145 178 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(8 145 178 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 116 144 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 116 144 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 116 144 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 116 144 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 116 144 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 94 117 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 94 117 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 94 117 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 94 117 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 94 117 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 78 99 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 78 99 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 78 99 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 78 99 / var(--tw-placeholder-opacity)); +} +.placeholder-cyan-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(22 78 99 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 249 255 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 249 255 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 249 255 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 249 255 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 249 255 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(224 242 254 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(224 242 254 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(224 242 254 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(224 242 254 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(224 242 254 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(186 230 253 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(186 230 253 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(186 230 253 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(186 230 253 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(186 230 253 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(125 211 252 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(125 211 252 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(125 211 252 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(125 211 252 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(125 211 252 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(56 189 248 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(56 189 248 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(56 189 248 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(56 189 248 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(56 189 248 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 165 233 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 165 233 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 165 233 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 165 233 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(14 165 233 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(2 132 199 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(2 132 199 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(2 132 199 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(2 132 199 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(2 132 199 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 105 161 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 105 161 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 105 161 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 105 161 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(3 105 161 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(7 89 133 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(7 89 133 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(7 89 133 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(7 89 133 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(7 89 133 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(12 74 110 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(12 74 110 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(12 74 110 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(12 74 110 / var(--tw-placeholder-opacity)); +} +.placeholder-sky-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(12 74 110 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 248 251 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 248 251 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 248 251 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 248 251 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 248 251 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 219 233 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 219 233 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 219 233 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 219 233 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 219 233 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 197 219 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 197 219 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 197 219 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 197 219 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 197 219 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 154 193 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 154 193 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 154 193 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 154 193 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 154 193 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 83 125 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 83 125 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 83 125 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 83 125 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 83 125 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 66 100 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 66 100 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 66 100 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 66 100 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 66 100 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 54 81 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 54 81 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 54 81 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 54 81 / var(--tw-placeholder-opacity)); +} +.placeholder-blue-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 54 81 / var(--tw-placeholder-opacity)); +} +.placeholder-blue::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-blue::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-blue:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-blue::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-blue::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 110 166 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 245 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 245 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 245 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 245 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 245 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 237 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 237 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 237 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 237 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(229 237 255 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(205 219 254 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(205 219 254 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(205 219 254 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(205 219 254 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(205 219 254 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 198 252 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 198 252 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 198 252 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 198 252 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(180 198 252 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(141 162 251 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(141 162 251 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(141 162 251 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(141 162 251 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(141 162 251 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(104 117 245 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(104 117 245 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(104 117 245 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(104 117 245 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(104 117 245 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(88 80 236 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(88 80 236 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(88 80 236 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(88 80 236 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(88 80 236 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(81 69 205 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(81 69 205 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(81 69 205 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(81 69 205 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(81 69 205 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 56 157 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 56 157 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 56 157 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 56 157 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(66 56 157 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 47 120 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 47 120 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 47 120 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 47 120 / var(--tw-placeholder-opacity)); +} +.placeholder-indigo-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(54 47 120 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 243 255 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 243 255 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 243 255 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 243 255 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 243 255 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 233 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 233 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 233 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 233 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 233 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 214 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 214 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 214 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 214 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 214 254 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(196 181 253 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(196 181 253 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(196 181 253 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(196 181 253 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(196 181 253 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 139 250 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 139 250 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 139 250 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 139 250 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(167 139 250 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(139 92 246 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(139 92 246 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(139 92 246 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(139 92 246 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(139 92 246 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(124 58 237 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(124 58 237 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(124 58 237 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(124 58 237 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(124 58 237 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(109 40 217 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(109 40 217 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(109 40 217 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(109 40 217 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(109 40 217 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(91 33 182 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(91 33 182 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(91 33 182 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(91 33 182 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(91 33 182 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(76 29 149 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(76 29 149 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(76 29 149 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(76 29 149 / var(--tw-placeholder-opacity)); +} +.placeholder-violet-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(76 29 149 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 247 249 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 247 249 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 247 249 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 247 249 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(247 247 249 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 213 226 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 213 226 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 213 226 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 213 226 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(213 213 226 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(187 188 209 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(187 188 209 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(187 188 209 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(187 188 209 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(187 188 209 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 138 174 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 138 174 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 138 174 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 138 174 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 138 174 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 66 104 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 66 104 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 66 104 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 66 104 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(64 66 104 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 53 83 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 53 83 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 53 83 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 53 83 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(51 53 83 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(42 43 68 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(42 43 68 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(42 43 68 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(42 43 68 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(42 43 68 / var(--tw-placeholder-opacity)); +} +.placeholder-purple::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-purple::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-purple:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-purple::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-purple::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(85 88 139 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 244 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 244 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 244 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 244 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 244 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 232 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 232 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 232 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 232 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 232 255 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 208 254 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 208 254 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 208 254 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 208 254 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 208 254 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 171 252 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 171 252 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 171 252 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 171 252 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(240 171 252 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(232 121 249 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(232 121 249 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(232 121 249 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(232 121 249 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(232 121 249 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 70 239 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 70 239 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 70 239 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 70 239 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(217 70 239 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(192 38 211 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(192 38 211 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(192 38 211 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(192 38 211 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(192 38 211 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(162 28 175 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(162 28 175 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(162 28 175 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(162 28 175 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(162 28 175 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(134 25 143 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(134 25 143 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(134 25 143 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(134 25 143 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(134 25 143 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(112 26 117 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(112 26 117 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(112 26 117 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(112 26 117 / var(--tw-placeholder-opacity)); +} +.placeholder-fuchsia-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(112 26 117 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 242 248 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 242 248 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 242 248 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 242 248 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 242 248 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 232 243 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 232 243 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 232 243 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 232 243 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 232 243 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 209 232 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 209 232 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 209 232 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 209 232 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 209 232 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 180 217 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 180 217 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 180 217 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 180 217 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 180 217 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 126 184 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 126 184 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 126 184 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 126 184 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 126 184 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 70 148 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 70 148 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 70 148 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 70 148 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(231 70 148 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 31 105 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 31 105 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 31 105 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 31 105 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(214 31 105 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 18 93 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 18 93 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 18 93 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 18 93 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 18 93 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 21 75 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 21 75 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 21 75 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 21 75 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(153 21 75 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(117 26 61 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(117 26 61 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(117 26 61 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(117 26 61 / var(--tw-placeholder-opacity)); +} +.placeholder-pink-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(117 26 61 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 241 242 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-50::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 241 242 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 241 242 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 241 242 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-50::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 241 242 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 228 230 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 228 230 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 228 230 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 228 230 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 228 230 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-200::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 205 211 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-200::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 205 211 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-200:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 205 211 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-200::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 205 211 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-200::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 205 211 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 164 175 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 164 175 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 164 175 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 164 175 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(253 164 175 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-400::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 113 133 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 113 133 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 113 133 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-400::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 113 133 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(251 113 133 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-500::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-500::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-500:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-500::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-500::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-600::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(225 29 72 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-600::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(225 29 72 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-600:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(225 29 72 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-600::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(225 29 72 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-600::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(225 29 72 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-700::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 18 60 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-700::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 18 60 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-700:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 18 60 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-700::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 18 60 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-700::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(190 18 60 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-800::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 18 57 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-800::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 18 57 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-800:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 18 57 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-800::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 18 57 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-800::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(159 18 57 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 19 55 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 19 55 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 19 55 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 19 55 / var(--tw-placeholder-opacity)); +} +.placeholder-rose-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(136 19 55 / var(--tw-placeholder-opacity)); +} +.placeholder-rose::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-rose::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-rose:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-rose::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-rose::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(244 63 94 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 247 250 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 247 250 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 247 250 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 247 250 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-100::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(245 247 250 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-300::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 240 252 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-300::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 240 252 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-300:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 240 252 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-300::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 240 252 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-300::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(237 240 252 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(220 226 249 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(220 226 249 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(220 226 249 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(220 226 249 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(220 226 249 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 249 254 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 249 254 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 249 254 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 249 254 / var(--tw-placeholder-opacity)); +} +.placeholder-lilac::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(248 249 254 / var(--tw-placeholder-opacity)); +} +.placeholder-golden-900::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 184 130 / var(--tw-placeholder-opacity)); +} +.placeholder-golden-900::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 184 130 / var(--tw-placeholder-opacity)); +} +.placeholder-golden-900:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 184 130 / var(--tw-placeholder-opacity)); +} +.placeholder-golden-900::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 184 130 / var(--tw-placeholder-opacity)); +} +.placeholder-golden-900::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(191 184 130 / var(--tw-placeholder-opacity)); +} +.placeholder-golden::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 201 137 / var(--tw-placeholder-opacity)); +} +.placeholder-golden::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 201 137 / var(--tw-placeholder-opacity)); +} +.placeholder-golden:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 201 137 / var(--tw-placeholder-opacity)); +} +.placeholder-golden::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 201 137 / var(--tw-placeholder-opacity)); +} +.placeholder-golden::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(209 201 137 / var(--tw-placeholder-opacity)); +} +.placeholder-status-success::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-status-success::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-status-success:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-status-success::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-status-success::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(241 246 238 / var(--tw-placeholder-opacity)); +} +.placeholder-status-danger::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-status-danger::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-status-danger:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-status-danger::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-status-danger::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(250 230 230 / var(--tw-placeholder-opacity)); +} +.placeholder-status-sent::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-status-sent::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-status-sent:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-status-sent::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-status-sent::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-status-viewed::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-status-viewed::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-status-viewed:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-status-viewed::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-status-viewed::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(238 238 243 / var(--tw-placeholder-opacity)); +} +.placeholder-status-draft::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-status-draft::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-status-draft:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-status-draft::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-status-draft::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(236 236 236 / var(--tw-placeholder-opacity)); +} +.placeholder-status-partial::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-status-partial::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-status-partial:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-status-partial::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-status-partial::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(230 241 246 / var(--tw-placeholder-opacity)); +} +.placeholder-status-canceled::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-status-canceled::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-status-canceled:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-status-canceled::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-status-canceled::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(40 40 40 / var(--tw-placeholder-opacity)); +} +.placeholder-status-warning::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-status-warning::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-status-warning:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-status-warning::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-status-warning::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(254 245 231 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-success::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-success::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-success:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-success::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-success::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(99 145 74 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-danger::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-danger::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-danger:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-danger::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-danger::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 0 0 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-sent::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-sent::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-sent:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-sent::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-sent::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(221 142 10 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-viewed::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-viewed::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-viewed:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-viewed::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-viewed::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(77 79 125 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-draft::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-draft::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-draft:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-draft::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-draft::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(59 59 59 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-partial::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-partial::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-partial:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-partial::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-partial::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(0 99 149 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-canceled::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-canceled::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-canceled:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-canceled::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-canceled::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(255 255 255 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-warning::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-warning::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-warning:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-warning::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-text-status-warning::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(184 119 8 / var(--tw-placeholder-opacity)); +} +.placeholder-body::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 252 252 / var(--tw-placeholder-opacity)); +} +.placeholder-body::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 252 252 / var(--tw-placeholder-opacity)); +} +.placeholder-body:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 252 252 / var(--tw-placeholder-opacity)); +} +.placeholder-body::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 252 252 / var(--tw-placeholder-opacity)); +} +.placeholder-body::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(252 252 252 / var(--tw-placeholder-opacity)); +} +.placeholder-light-gray::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} +.placeholder-light-gray::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} +.placeholder-light-gray:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} +.placeholder-light-gray::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} +.placeholder-light-gray::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} +.placeholder-dark-blue::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 40 75 / var(--tw-placeholder-opacity)); +} +.placeholder-dark-blue::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 40 75 / var(--tw-placeholder-opacity)); +} +.placeholder-dark-blue:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 40 75 / var(--tw-placeholder-opacity)); +} +.placeholder-dark-blue::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 40 75 / var(--tw-placeholder-opacity)); +} +.placeholder-dark-blue::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(21 40 75 / var(--tw-placeholder-opacity)); +} +.placeholder-lighter-gray::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 242 245 / var(--tw-placeholder-opacity)); +} +.placeholder-lighter-gray::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 242 245 / var(--tw-placeholder-opacity)); +} +.placeholder-lighter-gray:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 242 245 / var(--tw-placeholder-opacity)); +} +.placeholder-lighter-gray::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 242 245 / var(--tw-placeholder-opacity)); +} +.placeholder-lighter-gray::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 242 245 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-lighter::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 244 252 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-lighter::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 244 252 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-lighter:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 244 252 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-lighter::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 244 252 / var(--tw-placeholder-opacity)); +} +.placeholder-purple-lighter::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(242 244 252 / var(--tw-placeholder-opacity)); +} +.placeholder-modal-background::-webkit-input-placeholder{ + color: rgba(0, 0, 0, 0.3); +} +.placeholder-modal-background::-moz-placeholder{ + color: rgba(0, 0, 0, 0.3); +} +.placeholder-modal-background:-ms-input-placeholder{ + color: rgba(0, 0, 0, 0.3); +} +.placeholder-modal-background::-ms-input-placeholder{ + color: rgba(0, 0, 0, 0.3); +} +.placeholder-modal-background::placeholder{ + color: rgba(0, 0, 0, 0.3); +} +.placeholder-testing::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-testing::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-testing:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-testing::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-testing::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(147 95 7 / var(--tw-placeholder-opacity)); +} +.placeholder-opacity-0::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0; +} +.placeholder-opacity-0::-moz-placeholder{ + --tw-placeholder-opacity: 0; +} +.placeholder-opacity-0:-ms-input-placeholder{ + --tw-placeholder-opacity: 0; +} +.placeholder-opacity-0::-ms-input-placeholder{ + --tw-placeholder-opacity: 0; +} +.placeholder-opacity-0::placeholder{ + --tw-placeholder-opacity: 0; +} +.placeholder-opacity-5::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.05; +} +.placeholder-opacity-5::-moz-placeholder{ + --tw-placeholder-opacity: 0.05; +} +.placeholder-opacity-5:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.05; +} +.placeholder-opacity-5::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.05; +} +.placeholder-opacity-5::placeholder{ + --tw-placeholder-opacity: 0.05; +} +.placeholder-opacity-10::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.1; +} +.placeholder-opacity-10::-moz-placeholder{ + --tw-placeholder-opacity: 0.1; +} +.placeholder-opacity-10:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.1; +} +.placeholder-opacity-10::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.1; +} +.placeholder-opacity-10::placeholder{ + --tw-placeholder-opacity: 0.1; +} +.placeholder-opacity-20::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.2; +} +.placeholder-opacity-20::-moz-placeholder{ + --tw-placeholder-opacity: 0.2; +} +.placeholder-opacity-20:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.2; +} +.placeholder-opacity-20::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.2; +} +.placeholder-opacity-20::placeholder{ + --tw-placeholder-opacity: 0.2; +} +.placeholder-opacity-25::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.25; +} +.placeholder-opacity-25::-moz-placeholder{ + --tw-placeholder-opacity: 0.25; +} +.placeholder-opacity-25:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.25; +} +.placeholder-opacity-25::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.25; +} +.placeholder-opacity-25::placeholder{ + --tw-placeholder-opacity: 0.25; +} +.placeholder-opacity-30::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.3; +} +.placeholder-opacity-30::-moz-placeholder{ + --tw-placeholder-opacity: 0.3; +} +.placeholder-opacity-30:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.3; +} +.placeholder-opacity-30::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.3; +} +.placeholder-opacity-30::placeholder{ + --tw-placeholder-opacity: 0.3; +} +.placeholder-opacity-40::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.4; +} +.placeholder-opacity-40::-moz-placeholder{ + --tw-placeholder-opacity: 0.4; +} +.placeholder-opacity-40:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.4; +} +.placeholder-opacity-40::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.4; +} +.placeholder-opacity-40::placeholder{ + --tw-placeholder-opacity: 0.4; +} +.placeholder-opacity-50::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.5; +} +.placeholder-opacity-50::-moz-placeholder{ + --tw-placeholder-opacity: 0.5; +} +.placeholder-opacity-50:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.5; +} +.placeholder-opacity-50::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.5; +} +.placeholder-opacity-50::placeholder{ + --tw-placeholder-opacity: 0.5; +} +.placeholder-opacity-60::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.6; +} +.placeholder-opacity-60::-moz-placeholder{ + --tw-placeholder-opacity: 0.6; +} +.placeholder-opacity-60:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.6; +} +.placeholder-opacity-60::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.6; +} +.placeholder-opacity-60::placeholder{ + --tw-placeholder-opacity: 0.6; +} +.placeholder-opacity-70::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.7; +} +.placeholder-opacity-70::-moz-placeholder{ + --tw-placeholder-opacity: 0.7; +} +.placeholder-opacity-70:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.7; +} +.placeholder-opacity-70::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.7; +} +.placeholder-opacity-70::placeholder{ + --tw-placeholder-opacity: 0.7; +} +.placeholder-opacity-75::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.75; +} +.placeholder-opacity-75::-moz-placeholder{ + --tw-placeholder-opacity: 0.75; +} +.placeholder-opacity-75:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.75; +} +.placeholder-opacity-75::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.75; +} +.placeholder-opacity-75::placeholder{ + --tw-placeholder-opacity: 0.75; +} +.placeholder-opacity-80::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.8; +} +.placeholder-opacity-80::-moz-placeholder{ + --tw-placeholder-opacity: 0.8; +} +.placeholder-opacity-80:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.8; +} +.placeholder-opacity-80::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.8; +} +.placeholder-opacity-80::placeholder{ + --tw-placeholder-opacity: 0.8; +} +.placeholder-opacity-90::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.9; +} +.placeholder-opacity-90::-moz-placeholder{ + --tw-placeholder-opacity: 0.9; +} +.placeholder-opacity-90:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.9; +} +.placeholder-opacity-90::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.9; +} +.placeholder-opacity-90::placeholder{ + --tw-placeholder-opacity: 0.9; +} +.placeholder-opacity-95::-webkit-input-placeholder{ + --tw-placeholder-opacity: 0.95; +} +.placeholder-opacity-95::-moz-placeholder{ + --tw-placeholder-opacity: 0.95; +} +.placeholder-opacity-95:-ms-input-placeholder{ + --tw-placeholder-opacity: 0.95; +} +.placeholder-opacity-95::-ms-input-placeholder{ + --tw-placeholder-opacity: 0.95; +} +.placeholder-opacity-95::placeholder{ + --tw-placeholder-opacity: 0.95; +} +.placeholder-opacity-100::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; +} +.placeholder-opacity-100::-moz-placeholder{ + --tw-placeholder-opacity: 1; +} +.placeholder-opacity-100:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; +} +.placeholder-opacity-100::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; +} +.placeholder-opacity-100::placeholder{ + --tw-placeholder-opacity: 1; +} +.caret-inherit{ + caret-color: inherit; +} +.caret-current{ + caret-color: currentColor; +} +.caret-transparent{ + caret-color: transparent; +} +.caret-black-50{ + caret-color: #f6f6f6; +} +.caret-black-100{ + caret-color: #ececec; +} +.caret-black-200{ + caret-color: #d0d0d0; +} +.caret-black-300{ + caret-color: #b3b3b3; +} +.caret-black-400{ + caret-color: #7b7b7b; +} +.caret-black-500{ + caret-color: #424242; +} +.caret-black-600{ + caret-color: #3b3b3b; +} +.caret-black-700{ + caret-color: #323232; +} +.caret-black-800{ + caret-color: #282828; +} +.caret-black-900{ + caret-color: #202020; +} +.caret-black{ + caret-color: #424242; +} +.caret-white{ + caret-color: #ffffff; +} +.caret-slate-50{ + caret-color: #f8fafc; +} +.caret-slate-100{ + caret-color: #f1f5f9; +} +.caret-slate-200{ + caret-color: #e2e8f0; +} +.caret-slate-300{ + caret-color: #cbd5e1; +} +.caret-slate-400{ + caret-color: #94a3b8; +} +.caret-slate-500{ + caret-color: #64748b; +} +.caret-slate-600{ + caret-color: #475569; +} +.caret-slate-700{ + caret-color: #334155; +} +.caret-slate-800{ + caret-color: #1e293b; +} +.caret-slate-900{ + caret-color: #0f172a; +} +.caret-gray-50{ + caret-color: #F9FAFB; +} +.caret-gray-100{ + caret-color: #F3F4F6; +} +.caret-gray-200{ + caret-color: #E5E7EB; +} +.caret-gray-300{ + caret-color: #D1D5DB; +} +.caret-gray-400{ + caret-color: #9CA3AF; +} +.caret-gray-500{ + caret-color: #6B7280; +} +.caret-gray-600{ + caret-color: #4B5563; +} +.caret-gray-700{ + caret-color: #374151; +} +.caret-gray-800{ + caret-color: #1F2937; +} +.caret-gray-900{ + caret-color: #111827; +} +.caret-zinc-50{ + caret-color: #fafafa; +} +.caret-zinc-100{ + caret-color: #f4f4f5; +} +.caret-zinc-200{ + caret-color: #e4e4e7; +} +.caret-zinc-300{ + caret-color: #d4d4d8; +} +.caret-zinc-400{ + caret-color: #a1a1aa; +} +.caret-zinc-500{ + caret-color: #71717a; +} +.caret-zinc-600{ + caret-color: #52525b; +} +.caret-zinc-700{ + caret-color: #3f3f46; +} +.caret-zinc-800{ + caret-color: #27272a; +} +.caret-zinc-900{ + caret-color: #18181b; +} +.caret-neutral-50{ + caret-color: #fafafa; +} +.caret-neutral-100{ + caret-color: #f5f5f5; +} +.caret-neutral-200{ + caret-color: #e5e5e5; +} +.caret-neutral-300{ + caret-color: #d4d4d4; +} +.caret-neutral-400{ + caret-color: #a3a3a3; +} +.caret-neutral-500{ + caret-color: #737373; +} +.caret-neutral-600{ + caret-color: #525252; +} +.caret-neutral-700{ + caret-color: #404040; +} +.caret-neutral-800{ + caret-color: #262626; +} +.caret-neutral-900{ + caret-color: #171717; +} +.caret-stone-50{ + caret-color: #fafaf9; +} +.caret-stone-100{ + caret-color: #f5f5f4; +} +.caret-stone-200{ + caret-color: #e7e5e4; +} +.caret-stone-300{ + caret-color: #d6d3d1; +} +.caret-stone-400{ + caret-color: #a8a29e; +} +.caret-stone-500{ + caret-color: #78716c; +} +.caret-stone-600{ + caret-color: #57534e; +} +.caret-stone-700{ + caret-color: #44403c; +} +.caret-stone-800{ + caret-color: #292524; +} +.caret-stone-900{ + caret-color: #1c1917; +} +.caret-red-50{ + caret-color: #fcf2f2; +} +.caret-red-100{ + caret-color: #fae6e6; +} +.caret-red-200{ + caret-color: #f2bfbf; +} +.caret-red-300{ + caret-color: #eb9999; +} +.caret-red-400{ + caret-color: #db4d4d; +} +.caret-red-500{ + caret-color: #cc0000; +} +.caret-red-600{ + caret-color: #b80000; +} +.caret-red-700{ + caret-color: #990000; +} +.caret-red-800{ + caret-color: #7a0000; +} +.caret-red-900{ + caret-color: #640000; +} +.caret-red{ + caret-color: #cc0000; +} +.caret-orange-50{ + caret-color: #fffaf3; +} +.caret-orange-100{ + caret-color: #fef5e7; +} +.caret-orange-200{ + caret-color: #fde7c2; +} +.caret-orange-300{ + caret-color: #fbd89d; +} +.caret-orange-400{ + caret-color: #f8bb54; +} +.caret-orange-500{ + caret-color: #f59e0b; +} +.caret-orange-600{ + caret-color: #dd8e0a; +} +.caret-orange-700{ + caret-color: #b87708; +} +.caret-orange-800{ + caret-color: #935f07; +} +.caret-orange-900{ + caret-color: #784d05; +} +.caret-orange{ + caret-color: #f59e0b; +} +.caret-amber-50{ + caret-color: #fffbeb; +} +.caret-amber-100{ + caret-color: #fef3c7; +} +.caret-amber-200{ + caret-color: #fde68a; +} +.caret-amber-300{ + caret-color: #fcd34d; +} +.caret-amber-400{ + caret-color: #fbbf24; +} +.caret-amber-500{ + caret-color: #f59e0b; +} +.caret-amber-600{ + caret-color: #d97706; +} +.caret-amber-700{ + caret-color: #b45309; +} +.caret-amber-800{ + caret-color: #92400e; +} +.caret-amber-900{ + caret-color: #78350f; +} +.caret-yellow-50{ + caret-color: #FDFDEA; +} +.caret-yellow-100{ + caret-color: #FDF6B2; +} +.caret-yellow-200{ + caret-color: #FCE96A; +} +.caret-yellow-300{ + caret-color: #FACA15; +} +.caret-yellow-400{ + caret-color: #E3A008; +} +.caret-yellow-500{ + caret-color: #C27803; +} +.caret-yellow-600{ + caret-color: #9F580A; +} +.caret-yellow-700{ + caret-color: #8E4B10; +} +.caret-yellow-800{ + caret-color: #723B13; +} +.caret-yellow-900{ + caret-color: #633112; +} +.caret-lime-50{ + caret-color: #f7fee7; +} +.caret-lime-100{ + caret-color: #ecfccb; +} +.caret-lime-200{ + caret-color: #d9f99d; +} +.caret-lime-300{ + caret-color: #bef264; +} +.caret-lime-400{ + caret-color: #a3e635; +} +.caret-lime-500{ + caret-color: #84cc16; +} +.caret-lime-600{ + caret-color: #65a30d; +} +.caret-lime-700{ + caret-color: #4d7c0f; +} +.caret-lime-800{ + caret-color: #3f6212; +} +.caret-lime-900{ + caret-color: #365314; +} +.caret-green-50{ + caret-color: #f8faf6; +} +.caret-green-100{ + caret-color: #f1f6ee; +} +.caret-green-200{ + caret-color: #dbe8d4; +} +.caret-green-300{ + caret-color: #c5d9ba; +} +.caret-green-400{ + caret-color: #9abd86; +} +.caret-green-500{ + caret-color: #6ea152; +} +.caret-green-600{ + caret-color: #63914a; +} +.caret-green-700{ + caret-color: #53793e; +} +.caret-green-800{ + caret-color: #426131; +} +.caret-green-900{ + caret-color: #364f28; +} +.caret-green{ + caret-color: #6ea152; +} +.caret-emerald-50{ + caret-color: #ecfdf5; +} +.caret-emerald-100{ + caret-color: #d1fae5; +} +.caret-emerald-200{ + caret-color: #a7f3d0; +} +.caret-emerald-300{ + caret-color: #6ee7b7; +} +.caret-emerald-400{ + caret-color: #34d399; +} +.caret-emerald-500{ + caret-color: #10b981; +} +.caret-emerald-600{ + caret-color: #059669; +} +.caret-emerald-700{ + caret-color: #047857; +} +.caret-emerald-800{ + caret-color: #065f46; +} +.caret-emerald-900{ + caret-color: #064e3b; +} +.caret-teal-50{ + caret-color: #EDFAFA; +} +.caret-teal-100{ + caret-color: #D5F5F6; +} +.caret-teal-200{ + caret-color: #AFECEF; +} +.caret-teal-300{ + caret-color: #7EDCE2; +} +.caret-teal-400{ + caret-color: #16BDCA; +} +.caret-teal-500{ + caret-color: #0694A2; +} +.caret-teal-600{ + caret-color: #047481; +} +.caret-teal-700{ + caret-color: #036672; +} +.caret-teal-800{ + caret-color: #05505C; +} +.caret-teal-900{ + caret-color: #014451; +} +.caret-cyan-50{ + caret-color: #ecfeff; +} +.caret-cyan-100{ + caret-color: #cffafe; +} +.caret-cyan-200{ + caret-color: #a5f3fc; +} +.caret-cyan-300{ + caret-color: #67e8f9; +} +.caret-cyan-400{ + caret-color: #22d3ee; +} +.caret-cyan-500{ + caret-color: #06b6d4; +} +.caret-cyan-600{ + caret-color: #0891b2; +} +.caret-cyan-700{ + caret-color: #0e7490; +} +.caret-cyan-800{ + caret-color: #155e75; +} +.caret-cyan-900{ + caret-color: #164e63; +} +.caret-sky-50{ + caret-color: #f0f9ff; +} +.caret-sky-100{ + caret-color: #e0f2fe; +} +.caret-sky-200{ + caret-color: #bae6fd; +} +.caret-sky-300{ + caret-color: #7dd3fc; +} +.caret-sky-400{ + caret-color: #38bdf8; +} +.caret-sky-500{ + caret-color: #0ea5e9; +} +.caret-sky-600{ + caret-color: #0284c7; +} +.caret-sky-700{ + caret-color: #0369a1; +} +.caret-sky-800{ + caret-color: #075985; +} +.caret-sky-900{ + caret-color: #0c4a6e; +} +.caret-blue-50{ + caret-color: #f2f8fb; +} +.caret-blue-100{ + caret-color: #e6f1f6; +} +.caret-blue-200{ + caret-color: #bfdbe9; +} +.caret-blue-300{ + caret-color: #99c5db; +} +.caret-blue-400{ + caret-color: #4d9ac1; +} +.caret-blue-500{ + caret-color: #006ea6; +} +.caret-blue-600{ + caret-color: #006395; +} +.caret-blue-700{ + caret-color: #00537d; +} +.caret-blue-800{ + caret-color: #004264; +} +.caret-blue-900{ + caret-color: #003651; +} +.caret-blue{ + caret-color: #006ea6; +} +.caret-indigo-50{ + caret-color: #F0F5FF; +} +.caret-indigo-100{ + caret-color: #E5EDFF; +} +.caret-indigo-200{ + caret-color: #CDDBFE; +} +.caret-indigo-300{ + caret-color: #B4C6FC; +} +.caret-indigo-400{ + caret-color: #8DA2FB; +} +.caret-indigo-500{ + caret-color: #6875F5; +} +.caret-indigo-600{ + caret-color: #5850EC; +} +.caret-indigo-700{ + caret-color: #5145CD; +} +.caret-indigo-800{ + caret-color: #42389D; +} +.caret-indigo-900{ + caret-color: #362F78; +} +.caret-violet-50{ + caret-color: #f5f3ff; +} +.caret-violet-100{ + caret-color: #ede9fe; +} +.caret-violet-200{ + caret-color: #ddd6fe; +} +.caret-violet-300{ + caret-color: #c4b5fd; +} +.caret-violet-400{ + caret-color: #a78bfa; +} +.caret-violet-500{ + caret-color: #8b5cf6; +} +.caret-violet-600{ + caret-color: #7c3aed; +} +.caret-violet-700{ + caret-color: #6d28d9; +} +.caret-violet-800{ + caret-color: #5b21b6; +} +.caret-violet-900{ + caret-color: #4c1d95; +} +.caret-purple-50{ + caret-color: #f7f7f9; +} +.caret-purple-100{ + caret-color: #eeeef3; +} +.caret-purple-200{ + caret-color: #d5d5e2; +} +.caret-purple-300{ + caret-color: #bbbcd1; +} +.caret-purple-400{ + caret-color: #888aae; +} +.caret-purple-500{ + caret-color: #55588b; +} +.caret-purple-600{ + caret-color: #4d4f7d; +} +.caret-purple-700{ + caret-color: #404268; +} +.caret-purple-800{ + caret-color: #333553; +} +.caret-purple-900{ + caret-color: #2a2b44; +} +.caret-purple{ + caret-color: #55588b; +} +.caret-fuchsia-50{ + caret-color: #fdf4ff; +} +.caret-fuchsia-100{ + caret-color: #fae8ff; +} +.caret-fuchsia-200{ + caret-color: #f5d0fe; +} +.caret-fuchsia-300{ + caret-color: #f0abfc; +} +.caret-fuchsia-400{ + caret-color: #e879f9; +} +.caret-fuchsia-500{ + caret-color: #d946ef; +} +.caret-fuchsia-600{ + caret-color: #c026d3; +} +.caret-fuchsia-700{ + caret-color: #a21caf; +} +.caret-fuchsia-800{ + caret-color: #86198f; +} +.caret-fuchsia-900{ + caret-color: #701a75; +} +.caret-pink-50{ + caret-color: #FDF2F8; +} +.caret-pink-100{ + caret-color: #FCE8F3; +} +.caret-pink-200{ + caret-color: #FAD1E8; +} +.caret-pink-300{ + caret-color: #F8B4D9; +} +.caret-pink-400{ + caret-color: #F17EB8; +} +.caret-pink-500{ + caret-color: #E74694; +} +.caret-pink-600{ + caret-color: #D61F69; +} +.caret-pink-700{ + caret-color: #BF125D; +} +.caret-pink-800{ + caret-color: #99154B; +} +.caret-pink-900{ + caret-color: #751A3D; +} +.caret-rose-50{ + caret-color: #fff1f2; +} +.caret-rose-100{ + caret-color: #ffe4e6; +} +.caret-rose-200{ + caret-color: #fecdd3; +} +.caret-rose-300{ + caret-color: #fda4af; +} +.caret-rose-400{ + caret-color: #fb7185; +} +.caret-rose-500{ + caret-color: #f43f5e; +} +.caret-rose-600{ + caret-color: #e11d48; +} +.caret-rose-700{ + caret-color: #be123c; +} +.caret-rose-800{ + caret-color: #9f1239; +} +.caret-rose-900{ + caret-color: #881337; +} +.caret-rose{ + caret-color: #f43f5e; +} +.caret-lilac-100{ + caret-color: #F5F7FA; +} +.caret-lilac-300{ + caret-color: #EDF0FC; +} +.caret-lilac-900{ + caret-color: #DCE2F9; +} +.caret-lilac{ + caret-color: #F8F9FE; +} +.caret-golden-900{ + caret-color: #BFB882; +} +.caret-golden{ + caret-color: #D1C989; +} +.caret-status-success{ + caret-color: #F1F6EE; +} +.caret-status-danger{ + caret-color: #fae6e6; +} +.caret-status-sent{ + caret-color: #FEF5E7; +} +.caret-status-viewed{ + caret-color: #EEEEF3; +} +.caret-status-draft{ + caret-color: #ECECEC; +} +.caret-status-partial{ + caret-color: #E6F1F6; +} +.caret-status-canceled{ + caret-color: #282828; +} +.caret-status-warning{ + caret-color: #FEF5E7; +} +.caret-text-status-success{ + caret-color: #63914A; +} +.caret-text-status-danger{ + caret-color: #B80000; +} +.caret-text-status-sent{ + caret-color: #DD8E0A; +} +.caret-text-status-viewed{ + caret-color: #4D4F7D; +} +.caret-text-status-draft{ + caret-color: #3B3B3B; +} +.caret-text-status-partial{ + caret-color: #006395; +} +.caret-text-status-canceled{ + caret-color: #ffffff; +} +.caret-text-status-warning{ + caret-color: #b87708; +} +.caret-body{ + caret-color: #fcfcfc; +} +.caret-light-gray{ + caret-color: #C7C9D9; +} +.caret-dark-blue{ + caret-color: #15284B; +} +.caret-lighter-gray{ + caret-color: #F2F2F5; +} +.caret-purple-lighter{ + caret-color: #F2F4FC; +} +.caret-modal-background{ + caret-color: rgba(0, 0, 0, 0.3); +} +.caret-testing{ + caret-color: #935f07; +} +.accent-inherit{ + accent-color: inherit; +} +.accent-current{ + accent-color: currentColor; +} +.accent-transparent{ + accent-color: transparent; +} +.accent-black-50{ + accent-color: #f6f6f6; +} +.accent-black-100{ + accent-color: #ececec; +} +.accent-black-200{ + accent-color: #d0d0d0; +} +.accent-black-300{ + accent-color: #b3b3b3; +} +.accent-black-400{ + accent-color: #7b7b7b; +} +.accent-black-500{ + accent-color: #424242; +} +.accent-black-600{ + accent-color: #3b3b3b; +} +.accent-black-700{ + accent-color: #323232; +} +.accent-black-800{ + accent-color: #282828; +} +.accent-black-900{ + accent-color: #202020; +} +.accent-black{ + accent-color: #424242; +} +.accent-white{ + accent-color: #ffffff; +} +.accent-slate-50{ + accent-color: #f8fafc; +} +.accent-slate-100{ + accent-color: #f1f5f9; +} +.accent-slate-200{ + accent-color: #e2e8f0; +} +.accent-slate-300{ + accent-color: #cbd5e1; +} +.accent-slate-400{ + accent-color: #94a3b8; +} +.accent-slate-500{ + accent-color: #64748b; +} +.accent-slate-600{ + accent-color: #475569; +} +.accent-slate-700{ + accent-color: #334155; +} +.accent-slate-800{ + accent-color: #1e293b; +} +.accent-slate-900{ + accent-color: #0f172a; +} +.accent-gray-50{ + accent-color: #F9FAFB; +} +.accent-gray-100{ + accent-color: #F3F4F6; +} +.accent-gray-200{ + accent-color: #E5E7EB; +} +.accent-gray-300{ + accent-color: #D1D5DB; +} +.accent-gray-400{ + accent-color: #9CA3AF; +} +.accent-gray-500{ + accent-color: #6B7280; +} +.accent-gray-600{ + accent-color: #4B5563; +} +.accent-gray-700{ + accent-color: #374151; +} +.accent-gray-800{ + accent-color: #1F2937; +} +.accent-gray-900{ + accent-color: #111827; +} +.accent-zinc-50{ + accent-color: #fafafa; +} +.accent-zinc-100{ + accent-color: #f4f4f5; +} +.accent-zinc-200{ + accent-color: #e4e4e7; +} +.accent-zinc-300{ + accent-color: #d4d4d8; +} +.accent-zinc-400{ + accent-color: #a1a1aa; +} +.accent-zinc-500{ + accent-color: #71717a; +} +.accent-zinc-600{ + accent-color: #52525b; +} +.accent-zinc-700{ + accent-color: #3f3f46; +} +.accent-zinc-800{ + accent-color: #27272a; +} +.accent-zinc-900{ + accent-color: #18181b; +} +.accent-neutral-50{ + accent-color: #fafafa; +} +.accent-neutral-100{ + accent-color: #f5f5f5; +} +.accent-neutral-200{ + accent-color: #e5e5e5; +} +.accent-neutral-300{ + accent-color: #d4d4d4; +} +.accent-neutral-400{ + accent-color: #a3a3a3; +} +.accent-neutral-500{ + accent-color: #737373; +} +.accent-neutral-600{ + accent-color: #525252; +} +.accent-neutral-700{ + accent-color: #404040; +} +.accent-neutral-800{ + accent-color: #262626; +} +.accent-neutral-900{ + accent-color: #171717; +} +.accent-stone-50{ + accent-color: #fafaf9; +} +.accent-stone-100{ + accent-color: #f5f5f4; +} +.accent-stone-200{ + accent-color: #e7e5e4; +} +.accent-stone-300{ + accent-color: #d6d3d1; +} +.accent-stone-400{ + accent-color: #a8a29e; +} +.accent-stone-500{ + accent-color: #78716c; +} +.accent-stone-600{ + accent-color: #57534e; +} +.accent-stone-700{ + accent-color: #44403c; +} +.accent-stone-800{ + accent-color: #292524; +} +.accent-stone-900{ + accent-color: #1c1917; +} +.accent-red-50{ + accent-color: #fcf2f2; +} +.accent-red-100{ + accent-color: #fae6e6; +} +.accent-red-200{ + accent-color: #f2bfbf; +} +.accent-red-300{ + accent-color: #eb9999; +} +.accent-red-400{ + accent-color: #db4d4d; +} +.accent-red-500{ + accent-color: #cc0000; +} +.accent-red-600{ + accent-color: #b80000; +} +.accent-red-700{ + accent-color: #990000; +} +.accent-red-800{ + accent-color: #7a0000; +} +.accent-red-900{ + accent-color: #640000; +} +.accent-red{ + accent-color: #cc0000; +} +.accent-orange-50{ + accent-color: #fffaf3; +} +.accent-orange-100{ + accent-color: #fef5e7; +} +.accent-orange-200{ + accent-color: #fde7c2; +} +.accent-orange-300{ + accent-color: #fbd89d; +} +.accent-orange-400{ + accent-color: #f8bb54; +} +.accent-orange-500{ + accent-color: #f59e0b; +} +.accent-orange-600{ + accent-color: #dd8e0a; +} +.accent-orange-700{ + accent-color: #b87708; +} +.accent-orange-800{ + accent-color: #935f07; +} +.accent-orange-900{ + accent-color: #784d05; +} +.accent-orange{ + accent-color: #f59e0b; +} +.accent-amber-50{ + accent-color: #fffbeb; +} +.accent-amber-100{ + accent-color: #fef3c7; +} +.accent-amber-200{ + accent-color: #fde68a; +} +.accent-amber-300{ + accent-color: #fcd34d; +} +.accent-amber-400{ + accent-color: #fbbf24; +} +.accent-amber-500{ + accent-color: #f59e0b; +} +.accent-amber-600{ + accent-color: #d97706; +} +.accent-amber-700{ + accent-color: #b45309; +} +.accent-amber-800{ + accent-color: #92400e; +} +.accent-amber-900{ + accent-color: #78350f; +} +.accent-yellow-50{ + accent-color: #FDFDEA; +} +.accent-yellow-100{ + accent-color: #FDF6B2; +} +.accent-yellow-200{ + accent-color: #FCE96A; +} +.accent-yellow-300{ + accent-color: #FACA15; +} +.accent-yellow-400{ + accent-color: #E3A008; +} +.accent-yellow-500{ + accent-color: #C27803; +} +.accent-yellow-600{ + accent-color: #9F580A; +} +.accent-yellow-700{ + accent-color: #8E4B10; +} +.accent-yellow-800{ + accent-color: #723B13; +} +.accent-yellow-900{ + accent-color: #633112; +} +.accent-lime-50{ + accent-color: #f7fee7; +} +.accent-lime-100{ + accent-color: #ecfccb; +} +.accent-lime-200{ + accent-color: #d9f99d; +} +.accent-lime-300{ + accent-color: #bef264; +} +.accent-lime-400{ + accent-color: #a3e635; +} +.accent-lime-500{ + accent-color: #84cc16; +} +.accent-lime-600{ + accent-color: #65a30d; +} +.accent-lime-700{ + accent-color: #4d7c0f; +} +.accent-lime-800{ + accent-color: #3f6212; +} +.accent-lime-900{ + accent-color: #365314; +} +.accent-green-50{ + accent-color: #f8faf6; +} +.accent-green-100{ + accent-color: #f1f6ee; +} +.accent-green-200{ + accent-color: #dbe8d4; +} +.accent-green-300{ + accent-color: #c5d9ba; +} +.accent-green-400{ + accent-color: #9abd86; +} +.accent-green-500{ + accent-color: #6ea152; +} +.accent-green-600{ + accent-color: #63914a; +} +.accent-green-700{ + accent-color: #53793e; +} +.accent-green-800{ + accent-color: #426131; +} +.accent-green-900{ + accent-color: #364f28; +} +.accent-green{ + accent-color: #6ea152; +} +.accent-emerald-50{ + accent-color: #ecfdf5; +} +.accent-emerald-100{ + accent-color: #d1fae5; +} +.accent-emerald-200{ + accent-color: #a7f3d0; +} +.accent-emerald-300{ + accent-color: #6ee7b7; +} +.accent-emerald-400{ + accent-color: #34d399; +} +.accent-emerald-500{ + accent-color: #10b981; +} +.accent-emerald-600{ + accent-color: #059669; +} +.accent-emerald-700{ + accent-color: #047857; +} +.accent-emerald-800{ + accent-color: #065f46; +} +.accent-emerald-900{ + accent-color: #064e3b; +} +.accent-teal-50{ + accent-color: #EDFAFA; +} +.accent-teal-100{ + accent-color: #D5F5F6; +} +.accent-teal-200{ + accent-color: #AFECEF; +} +.accent-teal-300{ + accent-color: #7EDCE2; +} +.accent-teal-400{ + accent-color: #16BDCA; +} +.accent-teal-500{ + accent-color: #0694A2; +} +.accent-teal-600{ + accent-color: #047481; +} +.accent-teal-700{ + accent-color: #036672; +} +.accent-teal-800{ + accent-color: #05505C; +} +.accent-teal-900{ + accent-color: #014451; +} +.accent-cyan-50{ + accent-color: #ecfeff; +} +.accent-cyan-100{ + accent-color: #cffafe; +} +.accent-cyan-200{ + accent-color: #a5f3fc; +} +.accent-cyan-300{ + accent-color: #67e8f9; +} +.accent-cyan-400{ + accent-color: #22d3ee; +} +.accent-cyan-500{ + accent-color: #06b6d4; +} +.accent-cyan-600{ + accent-color: #0891b2; +} +.accent-cyan-700{ + accent-color: #0e7490; +} +.accent-cyan-800{ + accent-color: #155e75; +} +.accent-cyan-900{ + accent-color: #164e63; +} +.accent-sky-50{ + accent-color: #f0f9ff; +} +.accent-sky-100{ + accent-color: #e0f2fe; +} +.accent-sky-200{ + accent-color: #bae6fd; +} +.accent-sky-300{ + accent-color: #7dd3fc; +} +.accent-sky-400{ + accent-color: #38bdf8; +} +.accent-sky-500{ + accent-color: #0ea5e9; +} +.accent-sky-600{ + accent-color: #0284c7; +} +.accent-sky-700{ + accent-color: #0369a1; +} +.accent-sky-800{ + accent-color: #075985; +} +.accent-sky-900{ + accent-color: #0c4a6e; +} +.accent-blue-50{ + accent-color: #f2f8fb; +} +.accent-blue-100{ + accent-color: #e6f1f6; +} +.accent-blue-200{ + accent-color: #bfdbe9; +} +.accent-blue-300{ + accent-color: #99c5db; +} +.accent-blue-400{ + accent-color: #4d9ac1; +} +.accent-blue-500{ + accent-color: #006ea6; +} +.accent-blue-600{ + accent-color: #006395; +} +.accent-blue-700{ + accent-color: #00537d; +} +.accent-blue-800{ + accent-color: #004264; +} +.accent-blue-900{ + accent-color: #003651; +} +.accent-blue{ + accent-color: #006ea6; +} +.accent-indigo-50{ + accent-color: #F0F5FF; +} +.accent-indigo-100{ + accent-color: #E5EDFF; +} +.accent-indigo-200{ + accent-color: #CDDBFE; +} +.accent-indigo-300{ + accent-color: #B4C6FC; +} +.accent-indigo-400{ + accent-color: #8DA2FB; +} +.accent-indigo-500{ + accent-color: #6875F5; +} +.accent-indigo-600{ + accent-color: #5850EC; +} +.accent-indigo-700{ + accent-color: #5145CD; +} +.accent-indigo-800{ + accent-color: #42389D; +} +.accent-indigo-900{ + accent-color: #362F78; +} +.accent-violet-50{ + accent-color: #f5f3ff; +} +.accent-violet-100{ + accent-color: #ede9fe; +} +.accent-violet-200{ + accent-color: #ddd6fe; +} +.accent-violet-300{ + accent-color: #c4b5fd; +} +.accent-violet-400{ + accent-color: #a78bfa; +} +.accent-violet-500{ + accent-color: #8b5cf6; +} +.accent-violet-600{ + accent-color: #7c3aed; +} +.accent-violet-700{ + accent-color: #6d28d9; +} +.accent-violet-800{ + accent-color: #5b21b6; +} +.accent-violet-900{ + accent-color: #4c1d95; +} +.accent-purple-50{ + accent-color: #f7f7f9; +} +.accent-purple-100{ + accent-color: #eeeef3; +} +.accent-purple-200{ + accent-color: #d5d5e2; +} +.accent-purple-300{ + accent-color: #bbbcd1; +} +.accent-purple-400{ + accent-color: #888aae; +} +.accent-purple-500{ + accent-color: #55588b; +} +.accent-purple-600{ + accent-color: #4d4f7d; +} +.accent-purple-700{ + accent-color: #404268; +} +.accent-purple-800{ + accent-color: #333553; +} +.accent-purple-900{ + accent-color: #2a2b44; +} +.accent-purple{ + accent-color: #55588b; +} +.accent-fuchsia-50{ + accent-color: #fdf4ff; +} +.accent-fuchsia-100{ + accent-color: #fae8ff; +} +.accent-fuchsia-200{ + accent-color: #f5d0fe; +} +.accent-fuchsia-300{ + accent-color: #f0abfc; +} +.accent-fuchsia-400{ + accent-color: #e879f9; +} +.accent-fuchsia-500{ + accent-color: #d946ef; +} +.accent-fuchsia-600{ + accent-color: #c026d3; +} +.accent-fuchsia-700{ + accent-color: #a21caf; +} +.accent-fuchsia-800{ + accent-color: #86198f; +} +.accent-fuchsia-900{ + accent-color: #701a75; +} +.accent-pink-50{ + accent-color: #FDF2F8; +} +.accent-pink-100{ + accent-color: #FCE8F3; +} +.accent-pink-200{ + accent-color: #FAD1E8; +} +.accent-pink-300{ + accent-color: #F8B4D9; +} +.accent-pink-400{ + accent-color: #F17EB8; +} +.accent-pink-500{ + accent-color: #E74694; +} +.accent-pink-600{ + accent-color: #D61F69; +} +.accent-pink-700{ + accent-color: #BF125D; +} +.accent-pink-800{ + accent-color: #99154B; +} +.accent-pink-900{ + accent-color: #751A3D; +} +.accent-rose-50{ + accent-color: #fff1f2; +} +.accent-rose-100{ + accent-color: #ffe4e6; +} +.accent-rose-200{ + accent-color: #fecdd3; +} +.accent-rose-300{ + accent-color: #fda4af; +} +.accent-rose-400{ + accent-color: #fb7185; +} +.accent-rose-500{ + accent-color: #f43f5e; +} +.accent-rose-600{ + accent-color: #e11d48; +} +.accent-rose-700{ + accent-color: #be123c; +} +.accent-rose-800{ + accent-color: #9f1239; +} +.accent-rose-900{ + accent-color: #881337; +} +.accent-rose{ + accent-color: #f43f5e; +} +.accent-lilac-100{ + accent-color: #F5F7FA; +} +.accent-lilac-300{ + accent-color: #EDF0FC; +} +.accent-lilac-900{ + accent-color: #DCE2F9; +} +.accent-lilac{ + accent-color: #F8F9FE; +} +.accent-golden-900{ + accent-color: #BFB882; +} +.accent-golden{ + accent-color: #D1C989; +} +.accent-status-success{ + accent-color: #F1F6EE; +} +.accent-status-danger{ + accent-color: #fae6e6; +} +.accent-status-sent{ + accent-color: #FEF5E7; +} +.accent-status-viewed{ + accent-color: #EEEEF3; +} +.accent-status-draft{ + accent-color: #ECECEC; +} +.accent-status-partial{ + accent-color: #E6F1F6; +} +.accent-status-canceled{ + accent-color: #282828; +} +.accent-status-warning{ + accent-color: #FEF5E7; +} +.accent-text-status-success{ + accent-color: #63914A; +} +.accent-text-status-danger{ + accent-color: #B80000; +} +.accent-text-status-sent{ + accent-color: #DD8E0A; +} +.accent-text-status-viewed{ + accent-color: #4D4F7D; +} +.accent-text-status-draft{ + accent-color: #3B3B3B; +} +.accent-text-status-partial{ + accent-color: #006395; +} +.accent-text-status-canceled{ + accent-color: #ffffff; +} +.accent-text-status-warning{ + accent-color: #b87708; +} +.accent-body{ + accent-color: #fcfcfc; +} +.accent-light-gray{ + accent-color: #C7C9D9; +} +.accent-dark-blue{ + accent-color: #15284B; +} +.accent-lighter-gray{ + accent-color: #F2F2F5; +} +.accent-purple-lighter{ + accent-color: #F2F4FC; +} +.accent-modal-background{ + accent-color: rgba(0, 0, 0, 0.3); +} +.accent-testing{ + accent-color: #935f07; +} +.accent-auto{ + accent-color: auto; +} +.opacity-0{ + opacity: 0; +} +.opacity-5{ + opacity: 0.05; +} +.opacity-10{ + opacity: 0.1; +} +.opacity-20{ + opacity: 0.2; +} +.opacity-25{ + opacity: 0.25; +} +.opacity-30{ + opacity: 0.3; +} +.opacity-40{ + opacity: 0.4; +} +.opacity-50{ + opacity: 0.5; +} +.opacity-60{ + opacity: 0.6; +} +.opacity-70{ + opacity: 0.7; +} +.opacity-75{ + opacity: 0.75; +} +.opacity-80{ + opacity: 0.8; +} +.opacity-90{ + opacity: 0.9; +} +.opacity-95{ + opacity: 0.95; +} +.opacity-100{ + opacity: 1; +} +.bg-blend-normal{ + background-blend-mode: normal; +} +.bg-blend-multiply{ + background-blend-mode: multiply; +} +.bg-blend-screen{ + background-blend-mode: screen; +} +.bg-blend-overlay{ + background-blend-mode: overlay; +} +.bg-blend-darken{ + background-blend-mode: darken; +} +.bg-blend-lighten{ + background-blend-mode: lighten; +} +.bg-blend-color-dodge{ + background-blend-mode: color-dodge; +} +.bg-blend-color-burn{ + background-blend-mode: color-burn; +} +.bg-blend-hard-light{ + background-blend-mode: hard-light; +} +.bg-blend-soft-light{ + background-blend-mode: soft-light; +} +.bg-blend-difference{ + background-blend-mode: difference; +} +.bg-blend-exclusion{ + background-blend-mode: exclusion; +} +.bg-blend-hue{ + background-blend-mode: hue; +} +.bg-blend-saturation{ + background-blend-mode: saturation; +} +.bg-blend-color{ + background-blend-mode: color; +} +.bg-blend-luminosity{ + background-blend-mode: luminosity; +} +.mix-blend-normal{ + mix-blend-mode: normal; +} +.mix-blend-multiply{ + mix-blend-mode: multiply; +} +.mix-blend-screen{ + mix-blend-mode: screen; +} +.mix-blend-overlay{ + mix-blend-mode: overlay; +} +.mix-blend-darken{ + mix-blend-mode: darken; +} +.mix-blend-lighten{ + mix-blend-mode: lighten; +} +.mix-blend-color-dodge{ + mix-blend-mode: color-dodge; +} +.mix-blend-color-burn{ + mix-blend-mode: color-burn; +} +.mix-blend-hard-light{ + mix-blend-mode: hard-light; +} +.mix-blend-soft-light{ + mix-blend-mode: soft-light; +} +.mix-blend-difference{ + mix-blend-mode: difference; +} +.mix-blend-exclusion{ + mix-blend-mode: exclusion; +} +.mix-blend-hue{ + mix-blend-mode: hue; +} +.mix-blend-saturation{ + mix-blend-mode: saturation; +} +.mix-blend-color{ + mix-blend-mode: color; +} +.mix-blend-luminosity{ + mix-blend-mode: luminosity; +} +.shadow-sm{ + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow{ + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-md{ + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-lg{ + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-xl{ + --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-2xl{ + --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-inner{ + --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-none{ + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-sm-light{ + --tw-shadow: 0 2px 5px 0px rgba(255, 255, 255, 0.08); + --tw-shadow-colored: 0 2px 5px 0px var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-inherit{ + --tw-shadow-color: inherit; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-current{ + --tw-shadow-color: currentColor; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-transparent{ + --tw-shadow-color: transparent; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-50{ + --tw-shadow-color: #f6f6f6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-100{ + --tw-shadow-color: #ececec; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-200{ + --tw-shadow-color: #d0d0d0; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-300{ + --tw-shadow-color: #b3b3b3; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-400{ + --tw-shadow-color: #7b7b7b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-500{ + --tw-shadow-color: #424242; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-600{ + --tw-shadow-color: #3b3b3b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-700{ + --tw-shadow-color: #323232; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-800{ + --tw-shadow-color: #282828; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black-900{ + --tw-shadow-color: #202020; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-black{ + --tw-shadow-color: #424242; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-white{ + --tw-shadow-color: #ffffff; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-50{ + --tw-shadow-color: #f8fafc; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-100{ + --tw-shadow-color: #f1f5f9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-200{ + --tw-shadow-color: #e2e8f0; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-300{ + --tw-shadow-color: #cbd5e1; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-400{ + --tw-shadow-color: #94a3b8; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-500{ + --tw-shadow-color: #64748b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-600{ + --tw-shadow-color: #475569; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-700{ + --tw-shadow-color: #334155; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-800{ + --tw-shadow-color: #1e293b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-slate-900{ + --tw-shadow-color: #0f172a; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-50{ + --tw-shadow-color: #F9FAFB; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-100{ + --tw-shadow-color: #F3F4F6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-200{ + --tw-shadow-color: #E5E7EB; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-300{ + --tw-shadow-color: #D1D5DB; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-400{ + --tw-shadow-color: #9CA3AF; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-500{ + --tw-shadow-color: #6B7280; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-600{ + --tw-shadow-color: #4B5563; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-700{ + --tw-shadow-color: #374151; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-800{ + --tw-shadow-color: #1F2937; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-gray-900{ + --tw-shadow-color: #111827; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-50{ + --tw-shadow-color: #fafafa; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-100{ + --tw-shadow-color: #f4f4f5; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-200{ + --tw-shadow-color: #e4e4e7; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-300{ + --tw-shadow-color: #d4d4d8; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-400{ + --tw-shadow-color: #a1a1aa; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-500{ + --tw-shadow-color: #71717a; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-600{ + --tw-shadow-color: #52525b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-700{ + --tw-shadow-color: #3f3f46; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-800{ + --tw-shadow-color: #27272a; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-zinc-900{ + --tw-shadow-color: #18181b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-50{ + --tw-shadow-color: #fafafa; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-100{ + --tw-shadow-color: #f5f5f5; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-200{ + --tw-shadow-color: #e5e5e5; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-300{ + --tw-shadow-color: #d4d4d4; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-400{ + --tw-shadow-color: #a3a3a3; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-500{ + --tw-shadow-color: #737373; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-600{ + --tw-shadow-color: #525252; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-700{ + --tw-shadow-color: #404040; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-800{ + --tw-shadow-color: #262626; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-neutral-900{ + --tw-shadow-color: #171717; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-50{ + --tw-shadow-color: #fafaf9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-100{ + --tw-shadow-color: #f5f5f4; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-200{ + --tw-shadow-color: #e7e5e4; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-300{ + --tw-shadow-color: #d6d3d1; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-400{ + --tw-shadow-color: #a8a29e; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-500{ + --tw-shadow-color: #78716c; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-600{ + --tw-shadow-color: #57534e; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-700{ + --tw-shadow-color: #44403c; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-800{ + --tw-shadow-color: #292524; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-stone-900{ + --tw-shadow-color: #1c1917; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-50{ + --tw-shadow-color: #fcf2f2; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-100{ + --tw-shadow-color: #fae6e6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-200{ + --tw-shadow-color: #f2bfbf; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-300{ + --tw-shadow-color: #eb9999; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-400{ + --tw-shadow-color: #db4d4d; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-500{ + --tw-shadow-color: #cc0000; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-600{ + --tw-shadow-color: #b80000; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-700{ + --tw-shadow-color: #990000; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-800{ + --tw-shadow-color: #7a0000; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red-900{ + --tw-shadow-color: #640000; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-red{ + --tw-shadow-color: #cc0000; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-50{ + --tw-shadow-color: #fffaf3; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-100{ + --tw-shadow-color: #fef5e7; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-200{ + --tw-shadow-color: #fde7c2; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-300{ + --tw-shadow-color: #fbd89d; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-400{ + --tw-shadow-color: #f8bb54; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-500{ + --tw-shadow-color: #f59e0b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-600{ + --tw-shadow-color: #dd8e0a; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-700{ + --tw-shadow-color: #b87708; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-800{ + --tw-shadow-color: #935f07; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange-900{ + --tw-shadow-color: #784d05; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-orange{ + --tw-shadow-color: #f59e0b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-50{ + --tw-shadow-color: #fffbeb; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-100{ + --tw-shadow-color: #fef3c7; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-200{ + --tw-shadow-color: #fde68a; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-300{ + --tw-shadow-color: #fcd34d; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-400{ + --tw-shadow-color: #fbbf24; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-500{ + --tw-shadow-color: #f59e0b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-600{ + --tw-shadow-color: #d97706; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-700{ + --tw-shadow-color: #b45309; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-800{ + --tw-shadow-color: #92400e; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-amber-900{ + --tw-shadow-color: #78350f; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-50{ + --tw-shadow-color: #FDFDEA; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-100{ + --tw-shadow-color: #FDF6B2; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-200{ + --tw-shadow-color: #FCE96A; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-300{ + --tw-shadow-color: #FACA15; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-400{ + --tw-shadow-color: #E3A008; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-500{ + --tw-shadow-color: #C27803; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-600{ + --tw-shadow-color: #9F580A; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-700{ + --tw-shadow-color: #8E4B10; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-800{ + --tw-shadow-color: #723B13; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-yellow-900{ + --tw-shadow-color: #633112; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-50{ + --tw-shadow-color: #f7fee7; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-100{ + --tw-shadow-color: #ecfccb; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-200{ + --tw-shadow-color: #d9f99d; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-300{ + --tw-shadow-color: #bef264; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-400{ + --tw-shadow-color: #a3e635; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-500{ + --tw-shadow-color: #84cc16; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-600{ + --tw-shadow-color: #65a30d; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-700{ + --tw-shadow-color: #4d7c0f; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-800{ + --tw-shadow-color: #3f6212; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lime-900{ + --tw-shadow-color: #365314; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-50{ + --tw-shadow-color: #f8faf6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-100{ + --tw-shadow-color: #f1f6ee; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-200{ + --tw-shadow-color: #dbe8d4; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-300{ + --tw-shadow-color: #c5d9ba; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-400{ + --tw-shadow-color: #9abd86; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-500{ + --tw-shadow-color: #6ea152; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-600{ + --tw-shadow-color: #63914a; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-700{ + --tw-shadow-color: #53793e; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-800{ + --tw-shadow-color: #426131; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green-900{ + --tw-shadow-color: #364f28; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-green{ + --tw-shadow-color: #6ea152; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-50{ + --tw-shadow-color: #ecfdf5; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-100{ + --tw-shadow-color: #d1fae5; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-200{ + --tw-shadow-color: #a7f3d0; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-300{ + --tw-shadow-color: #6ee7b7; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-400{ + --tw-shadow-color: #34d399; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-500{ + --tw-shadow-color: #10b981; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-600{ + --tw-shadow-color: #059669; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-700{ + --tw-shadow-color: #047857; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-800{ + --tw-shadow-color: #065f46; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-emerald-900{ + --tw-shadow-color: #064e3b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-50{ + --tw-shadow-color: #EDFAFA; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-100{ + --tw-shadow-color: #D5F5F6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-200{ + --tw-shadow-color: #AFECEF; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-300{ + --tw-shadow-color: #7EDCE2; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-400{ + --tw-shadow-color: #16BDCA; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-500{ + --tw-shadow-color: #0694A2; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-600{ + --tw-shadow-color: #047481; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-700{ + --tw-shadow-color: #036672; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-800{ + --tw-shadow-color: #05505C; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-teal-900{ + --tw-shadow-color: #014451; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-50{ + --tw-shadow-color: #ecfeff; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-100{ + --tw-shadow-color: #cffafe; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-200{ + --tw-shadow-color: #a5f3fc; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-300{ + --tw-shadow-color: #67e8f9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-400{ + --tw-shadow-color: #22d3ee; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-500{ + --tw-shadow-color: #06b6d4; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-600{ + --tw-shadow-color: #0891b2; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-700{ + --tw-shadow-color: #0e7490; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-800{ + --tw-shadow-color: #155e75; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-cyan-900{ + --tw-shadow-color: #164e63; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-50{ + --tw-shadow-color: #f0f9ff; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-100{ + --tw-shadow-color: #e0f2fe; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-200{ + --tw-shadow-color: #bae6fd; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-300{ + --tw-shadow-color: #7dd3fc; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-400{ + --tw-shadow-color: #38bdf8; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-500{ + --tw-shadow-color: #0ea5e9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-600{ + --tw-shadow-color: #0284c7; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-700{ + --tw-shadow-color: #0369a1; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-800{ + --tw-shadow-color: #075985; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-sky-900{ + --tw-shadow-color: #0c4a6e; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-50{ + --tw-shadow-color: #f2f8fb; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-100{ + --tw-shadow-color: #e6f1f6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-200{ + --tw-shadow-color: #bfdbe9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-300{ + --tw-shadow-color: #99c5db; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-400{ + --tw-shadow-color: #4d9ac1; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-500{ + --tw-shadow-color: #006ea6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-600{ + --tw-shadow-color: #006395; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-700{ + --tw-shadow-color: #00537d; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-800{ + --tw-shadow-color: #004264; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue-900{ + --tw-shadow-color: #003651; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-blue{ + --tw-shadow-color: #006ea6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-50{ + --tw-shadow-color: #F0F5FF; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-100{ + --tw-shadow-color: #E5EDFF; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-200{ + --tw-shadow-color: #CDDBFE; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-300{ + --tw-shadow-color: #B4C6FC; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-400{ + --tw-shadow-color: #8DA2FB; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-500{ + --tw-shadow-color: #6875F5; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-600{ + --tw-shadow-color: #5850EC; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-700{ + --tw-shadow-color: #5145CD; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-800{ + --tw-shadow-color: #42389D; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-indigo-900{ + --tw-shadow-color: #362F78; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-50{ + --tw-shadow-color: #f5f3ff; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-100{ + --tw-shadow-color: #ede9fe; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-200{ + --tw-shadow-color: #ddd6fe; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-300{ + --tw-shadow-color: #c4b5fd; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-400{ + --tw-shadow-color: #a78bfa; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-500{ + --tw-shadow-color: #8b5cf6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-600{ + --tw-shadow-color: #7c3aed; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-700{ + --tw-shadow-color: #6d28d9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-800{ + --tw-shadow-color: #5b21b6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-violet-900{ + --tw-shadow-color: #4c1d95; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-50{ + --tw-shadow-color: #f7f7f9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-100{ + --tw-shadow-color: #eeeef3; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-200{ + --tw-shadow-color: #d5d5e2; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-300{ + --tw-shadow-color: #bbbcd1; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-400{ + --tw-shadow-color: #888aae; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-500{ + --tw-shadow-color: #55588b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-600{ + --tw-shadow-color: #4d4f7d; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-700{ + --tw-shadow-color: #404268; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-800{ + --tw-shadow-color: #333553; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-900{ + --tw-shadow-color: #2a2b44; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple{ + --tw-shadow-color: #55588b; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-50{ + --tw-shadow-color: #fdf4ff; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-100{ + --tw-shadow-color: #fae8ff; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-200{ + --tw-shadow-color: #f5d0fe; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-300{ + --tw-shadow-color: #f0abfc; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-400{ + --tw-shadow-color: #e879f9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-500{ + --tw-shadow-color: #d946ef; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-600{ + --tw-shadow-color: #c026d3; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-700{ + --tw-shadow-color: #a21caf; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-800{ + --tw-shadow-color: #86198f; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-fuchsia-900{ + --tw-shadow-color: #701a75; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-50{ + --tw-shadow-color: #FDF2F8; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-100{ + --tw-shadow-color: #FCE8F3; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-200{ + --tw-shadow-color: #FAD1E8; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-300{ + --tw-shadow-color: #F8B4D9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-400{ + --tw-shadow-color: #F17EB8; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-500{ + --tw-shadow-color: #E74694; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-600{ + --tw-shadow-color: #D61F69; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-700{ + --tw-shadow-color: #BF125D; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-800{ + --tw-shadow-color: #99154B; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-pink-900{ + --tw-shadow-color: #751A3D; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-50{ + --tw-shadow-color: #fff1f2; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-100{ + --tw-shadow-color: #ffe4e6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-200{ + --tw-shadow-color: #fecdd3; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-300{ + --tw-shadow-color: #fda4af; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-400{ + --tw-shadow-color: #fb7185; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-500{ + --tw-shadow-color: #f43f5e; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-600{ + --tw-shadow-color: #e11d48; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-700{ + --tw-shadow-color: #be123c; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-800{ + --tw-shadow-color: #9f1239; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose-900{ + --tw-shadow-color: #881337; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-rose{ + --tw-shadow-color: #f43f5e; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lilac-100{ + --tw-shadow-color: #F5F7FA; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lilac-300{ + --tw-shadow-color: #EDF0FC; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lilac-900{ + --tw-shadow-color: #DCE2F9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lilac{ + --tw-shadow-color: #F8F9FE; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-golden-900{ + --tw-shadow-color: #BFB882; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-golden{ + --tw-shadow-color: #D1C989; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-status-success{ + --tw-shadow-color: #F1F6EE; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-status-danger{ + --tw-shadow-color: #fae6e6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-status-sent{ + --tw-shadow-color: #FEF5E7; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-status-viewed{ + --tw-shadow-color: #EEEEF3; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-status-draft{ + --tw-shadow-color: #ECECEC; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-status-partial{ + --tw-shadow-color: #E6F1F6; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-status-canceled{ + --tw-shadow-color: #282828; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-status-warning{ + --tw-shadow-color: #FEF5E7; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-text-status-success{ + --tw-shadow-color: #63914A; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-text-status-danger{ + --tw-shadow-color: #B80000; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-text-status-sent{ + --tw-shadow-color: #DD8E0A; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-text-status-viewed{ + --tw-shadow-color: #4D4F7D; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-text-status-draft{ + --tw-shadow-color: #3B3B3B; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-text-status-partial{ + --tw-shadow-color: #006395; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-text-status-canceled{ + --tw-shadow-color: #ffffff; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-text-status-warning{ + --tw-shadow-color: #b87708; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-body{ + --tw-shadow-color: #fcfcfc; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-light-gray{ + --tw-shadow-color: #C7C9D9; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-dark-blue{ + --tw-shadow-color: #15284B; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-lighter-gray{ + --tw-shadow-color: #F2F2F5; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-purple-lighter{ + --tw-shadow-color: #F2F4FC; + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-modal-background{ + --tw-shadow-color: rgba(0, 0, 0, 0.3); + --tw-shadow: var(--tw-shadow-colored); +} +.shadow-testing{ + --tw-shadow-color: #935f07; + --tw-shadow: var(--tw-shadow-colored); +} +.outline-none{ + outline: 2px solid transparent; + outline-offset: 2px; +} +.outline{ + outline-style: solid; +} +.\!outline{ + outline-style: solid !important; +} +.outline-dashed{ + outline-style: dashed; +} +.outline-dotted{ + outline-style: dotted; +} +.outline-double{ + outline-style: double; +} +.outline-hidden{ + outline-style: hidden; +} +.outline-0{ + outline-width: 0px; +} +.outline-1{ + outline-width: 1px; +} +.outline-2{ + outline-width: 2px; +} +.outline-4{ + outline-width: 4px; +} +.outline-8{ + outline-width: 8px; +} +.outline-offset-0{ + outline-offset: 0px; +} +.outline-offset-1{ + outline-offset: 1px; +} +.outline-offset-2{ + outline-offset: 2px; +} +.outline-offset-4{ + outline-offset: 4px; +} +.outline-offset-8{ + outline-offset: 8px; +} +.outline-inherit{ + outline-color: inherit; +} +.outline-current{ + outline-color: currentColor; +} +.outline-transparent{ + outline-color: transparent; +} +.outline-black-50{ + outline-color: #f6f6f6; +} +.outline-black-100{ + outline-color: #ececec; +} +.outline-black-200{ + outline-color: #d0d0d0; +} +.outline-black-300{ + outline-color: #b3b3b3; +} +.outline-black-400{ + outline-color: #7b7b7b; +} +.outline-black-500{ + outline-color: #424242; +} +.outline-black-600{ + outline-color: #3b3b3b; +} +.outline-black-700{ + outline-color: #323232; +} +.outline-black-800{ + outline-color: #282828; +} +.outline-black-900{ + outline-color: #202020; +} +.outline-black{ + outline-color: #424242; +} +.outline-white{ + outline-color: #ffffff; +} +.outline-slate-50{ + outline-color: #f8fafc; +} +.outline-slate-100{ + outline-color: #f1f5f9; +} +.outline-slate-200{ + outline-color: #e2e8f0; +} +.outline-slate-300{ + outline-color: #cbd5e1; +} +.outline-slate-400{ + outline-color: #94a3b8; +} +.outline-slate-500{ + outline-color: #64748b; +} +.outline-slate-600{ + outline-color: #475569; +} +.outline-slate-700{ + outline-color: #334155; +} +.outline-slate-800{ + outline-color: #1e293b; +} +.outline-slate-900{ + outline-color: #0f172a; +} +.outline-gray-50{ + outline-color: #F9FAFB; +} +.outline-gray-100{ + outline-color: #F3F4F6; +} +.outline-gray-200{ + outline-color: #E5E7EB; +} +.outline-gray-300{ + outline-color: #D1D5DB; +} +.outline-gray-400{ + outline-color: #9CA3AF; +} +.outline-gray-500{ + outline-color: #6B7280; +} +.outline-gray-600{ + outline-color: #4B5563; +} +.outline-gray-700{ + outline-color: #374151; +} +.outline-gray-800{ + outline-color: #1F2937; +} +.outline-gray-900{ + outline-color: #111827; +} +.outline-zinc-50{ + outline-color: #fafafa; +} +.outline-zinc-100{ + outline-color: #f4f4f5; +} +.outline-zinc-200{ + outline-color: #e4e4e7; +} +.outline-zinc-300{ + outline-color: #d4d4d8; +} +.outline-zinc-400{ + outline-color: #a1a1aa; +} +.outline-zinc-500{ + outline-color: #71717a; +} +.outline-zinc-600{ + outline-color: #52525b; +} +.outline-zinc-700{ + outline-color: #3f3f46; +} +.outline-zinc-800{ + outline-color: #27272a; +} +.outline-zinc-900{ + outline-color: #18181b; +} +.outline-neutral-50{ + outline-color: #fafafa; +} +.outline-neutral-100{ + outline-color: #f5f5f5; +} +.outline-neutral-200{ + outline-color: #e5e5e5; +} +.outline-neutral-300{ + outline-color: #d4d4d4; +} +.outline-neutral-400{ + outline-color: #a3a3a3; +} +.outline-neutral-500{ + outline-color: #737373; +} +.outline-neutral-600{ + outline-color: #525252; +} +.outline-neutral-700{ + outline-color: #404040; +} +.outline-neutral-800{ + outline-color: #262626; +} +.outline-neutral-900{ + outline-color: #171717; +} +.outline-stone-50{ + outline-color: #fafaf9; +} +.outline-stone-100{ + outline-color: #f5f5f4; +} +.outline-stone-200{ + outline-color: #e7e5e4; +} +.outline-stone-300{ + outline-color: #d6d3d1; +} +.outline-stone-400{ + outline-color: #a8a29e; +} +.outline-stone-500{ + outline-color: #78716c; +} +.outline-stone-600{ + outline-color: #57534e; +} +.outline-stone-700{ + outline-color: #44403c; +} +.outline-stone-800{ + outline-color: #292524; +} +.outline-stone-900{ + outline-color: #1c1917; +} +.outline-red-50{ + outline-color: #fcf2f2; +} +.outline-red-100{ + outline-color: #fae6e6; +} +.outline-red-200{ + outline-color: #f2bfbf; +} +.outline-red-300{ + outline-color: #eb9999; +} +.outline-red-400{ + outline-color: #db4d4d; +} +.outline-red-500{ + outline-color: #cc0000; +} +.outline-red-600{ + outline-color: #b80000; +} +.outline-red-700{ + outline-color: #990000; +} +.outline-red-800{ + outline-color: #7a0000; +} +.outline-red-900{ + outline-color: #640000; +} +.outline-red{ + outline-color: #cc0000; +} +.outline-orange-50{ + outline-color: #fffaf3; +} +.outline-orange-100{ + outline-color: #fef5e7; +} +.outline-orange-200{ + outline-color: #fde7c2; +} +.outline-orange-300{ + outline-color: #fbd89d; +} +.outline-orange-400{ + outline-color: #f8bb54; +} +.outline-orange-500{ + outline-color: #f59e0b; +} +.outline-orange-600{ + outline-color: #dd8e0a; +} +.outline-orange-700{ + outline-color: #b87708; +} +.outline-orange-800{ + outline-color: #935f07; +} +.outline-orange-900{ + outline-color: #784d05; +} +.outline-orange{ + outline-color: #f59e0b; +} +.outline-amber-50{ + outline-color: #fffbeb; +} +.outline-amber-100{ + outline-color: #fef3c7; +} +.outline-amber-200{ + outline-color: #fde68a; +} +.outline-amber-300{ + outline-color: #fcd34d; +} +.outline-amber-400{ + outline-color: #fbbf24; +} +.outline-amber-500{ + outline-color: #f59e0b; +} +.outline-amber-600{ + outline-color: #d97706; +} +.outline-amber-700{ + outline-color: #b45309; +} +.outline-amber-800{ + outline-color: #92400e; +} +.outline-amber-900{ + outline-color: #78350f; +} +.outline-yellow-50{ + outline-color: #FDFDEA; +} +.outline-yellow-100{ + outline-color: #FDF6B2; +} +.outline-yellow-200{ + outline-color: #FCE96A; +} +.outline-yellow-300{ + outline-color: #FACA15; +} +.outline-yellow-400{ + outline-color: #E3A008; +} +.outline-yellow-500{ + outline-color: #C27803; +} +.outline-yellow-600{ + outline-color: #9F580A; +} +.outline-yellow-700{ + outline-color: #8E4B10; +} +.outline-yellow-800{ + outline-color: #723B13; +} +.outline-yellow-900{ + outline-color: #633112; +} +.outline-lime-50{ + outline-color: #f7fee7; +} +.outline-lime-100{ + outline-color: #ecfccb; +} +.outline-lime-200{ + outline-color: #d9f99d; +} +.outline-lime-300{ + outline-color: #bef264; +} +.outline-lime-400{ + outline-color: #a3e635; +} +.outline-lime-500{ + outline-color: #84cc16; +} +.outline-lime-600{ + outline-color: #65a30d; +} +.outline-lime-700{ + outline-color: #4d7c0f; +} +.outline-lime-800{ + outline-color: #3f6212; +} +.outline-lime-900{ + outline-color: #365314; +} +.outline-green-50{ + outline-color: #f8faf6; +} +.outline-green-100{ + outline-color: #f1f6ee; +} +.outline-green-200{ + outline-color: #dbe8d4; +} +.outline-green-300{ + outline-color: #c5d9ba; +} +.outline-green-400{ + outline-color: #9abd86; +} +.outline-green-500{ + outline-color: #6ea152; +} +.outline-green-600{ + outline-color: #63914a; +} +.outline-green-700{ + outline-color: #53793e; +} +.outline-green-800{ + outline-color: #426131; +} +.outline-green-900{ + outline-color: #364f28; +} +.outline-green{ + outline-color: #6ea152; +} +.outline-emerald-50{ + outline-color: #ecfdf5; +} +.outline-emerald-100{ + outline-color: #d1fae5; +} +.outline-emerald-200{ + outline-color: #a7f3d0; +} +.outline-emerald-300{ + outline-color: #6ee7b7; +} +.outline-emerald-400{ + outline-color: #34d399; +} +.outline-emerald-500{ + outline-color: #10b981; +} +.outline-emerald-600{ + outline-color: #059669; +} +.outline-emerald-700{ + outline-color: #047857; +} +.outline-emerald-800{ + outline-color: #065f46; +} +.outline-emerald-900{ + outline-color: #064e3b; +} +.outline-teal-50{ + outline-color: #EDFAFA; +} +.outline-teal-100{ + outline-color: #D5F5F6; +} +.outline-teal-200{ + outline-color: #AFECEF; +} +.outline-teal-300{ + outline-color: #7EDCE2; +} +.outline-teal-400{ + outline-color: #16BDCA; +} +.outline-teal-500{ + outline-color: #0694A2; +} +.outline-teal-600{ + outline-color: #047481; +} +.outline-teal-700{ + outline-color: #036672; +} +.outline-teal-800{ + outline-color: #05505C; +} +.outline-teal-900{ + outline-color: #014451; +} +.outline-cyan-50{ + outline-color: #ecfeff; +} +.outline-cyan-100{ + outline-color: #cffafe; +} +.outline-cyan-200{ + outline-color: #a5f3fc; +} +.outline-cyan-300{ + outline-color: #67e8f9; +} +.outline-cyan-400{ + outline-color: #22d3ee; +} +.outline-cyan-500{ + outline-color: #06b6d4; +} +.outline-cyan-600{ + outline-color: #0891b2; +} +.outline-cyan-700{ + outline-color: #0e7490; +} +.outline-cyan-800{ + outline-color: #155e75; +} +.outline-cyan-900{ + outline-color: #164e63; +} +.outline-sky-50{ + outline-color: #f0f9ff; +} +.outline-sky-100{ + outline-color: #e0f2fe; +} +.outline-sky-200{ + outline-color: #bae6fd; +} +.outline-sky-300{ + outline-color: #7dd3fc; +} +.outline-sky-400{ + outline-color: #38bdf8; +} +.outline-sky-500{ + outline-color: #0ea5e9; +} +.outline-sky-600{ + outline-color: #0284c7; +} +.outline-sky-700{ + outline-color: #0369a1; +} +.outline-sky-800{ + outline-color: #075985; +} +.outline-sky-900{ + outline-color: #0c4a6e; +} +.outline-blue-50{ + outline-color: #f2f8fb; +} +.outline-blue-100{ + outline-color: #e6f1f6; +} +.outline-blue-200{ + outline-color: #bfdbe9; +} +.outline-blue-300{ + outline-color: #99c5db; +} +.outline-blue-400{ + outline-color: #4d9ac1; +} +.outline-blue-500{ + outline-color: #006ea6; +} +.outline-blue-600{ + outline-color: #006395; +} +.outline-blue-700{ + outline-color: #00537d; +} +.outline-blue-800{ + outline-color: #004264; +} +.outline-blue-900{ + outline-color: #003651; +} +.outline-blue{ + outline-color: #006ea6; +} +.outline-indigo-50{ + outline-color: #F0F5FF; +} +.outline-indigo-100{ + outline-color: #E5EDFF; +} +.outline-indigo-200{ + outline-color: #CDDBFE; +} +.outline-indigo-300{ + outline-color: #B4C6FC; +} +.outline-indigo-400{ + outline-color: #8DA2FB; +} +.outline-indigo-500{ + outline-color: #6875F5; +} +.outline-indigo-600{ + outline-color: #5850EC; +} +.outline-indigo-700{ + outline-color: #5145CD; +} +.outline-indigo-800{ + outline-color: #42389D; +} +.outline-indigo-900{ + outline-color: #362F78; +} +.outline-violet-50{ + outline-color: #f5f3ff; +} +.outline-violet-100{ + outline-color: #ede9fe; +} +.outline-violet-200{ + outline-color: #ddd6fe; +} +.outline-violet-300{ + outline-color: #c4b5fd; +} +.outline-violet-400{ + outline-color: #a78bfa; +} +.outline-violet-500{ + outline-color: #8b5cf6; +} +.outline-violet-600{ + outline-color: #7c3aed; +} +.outline-violet-700{ + outline-color: #6d28d9; +} +.outline-violet-800{ + outline-color: #5b21b6; +} +.outline-violet-900{ + outline-color: #4c1d95; +} +.outline-purple-50{ + outline-color: #f7f7f9; +} +.outline-purple-100{ + outline-color: #eeeef3; +} +.outline-purple-200{ + outline-color: #d5d5e2; +} +.outline-purple-300{ + outline-color: #bbbcd1; +} +.outline-purple-400{ + outline-color: #888aae; +} +.outline-purple-500{ + outline-color: #55588b; +} +.outline-purple-600{ + outline-color: #4d4f7d; +} +.outline-purple-700{ + outline-color: #404268; +} +.outline-purple-800{ + outline-color: #333553; +} +.outline-purple-900{ + outline-color: #2a2b44; +} +.outline-purple{ + outline-color: #55588b; +} +.outline-fuchsia-50{ + outline-color: #fdf4ff; +} +.outline-fuchsia-100{ + outline-color: #fae8ff; +} +.outline-fuchsia-200{ + outline-color: #f5d0fe; +} +.outline-fuchsia-300{ + outline-color: #f0abfc; +} +.outline-fuchsia-400{ + outline-color: #e879f9; +} +.outline-fuchsia-500{ + outline-color: #d946ef; +} +.outline-fuchsia-600{ + outline-color: #c026d3; +} +.outline-fuchsia-700{ + outline-color: #a21caf; +} +.outline-fuchsia-800{ + outline-color: #86198f; +} +.outline-fuchsia-900{ + outline-color: #701a75; +} +.outline-pink-50{ + outline-color: #FDF2F8; +} +.outline-pink-100{ + outline-color: #FCE8F3; +} +.outline-pink-200{ + outline-color: #FAD1E8; +} +.outline-pink-300{ + outline-color: #F8B4D9; +} +.outline-pink-400{ + outline-color: #F17EB8; +} +.outline-pink-500{ + outline-color: #E74694; +} +.outline-pink-600{ + outline-color: #D61F69; +} +.outline-pink-700{ + outline-color: #BF125D; +} +.outline-pink-800{ + outline-color: #99154B; +} +.outline-pink-900{ + outline-color: #751A3D; +} +.outline-rose-50{ + outline-color: #fff1f2; +} +.outline-rose-100{ + outline-color: #ffe4e6; +} +.outline-rose-200{ + outline-color: #fecdd3; +} +.outline-rose-300{ + outline-color: #fda4af; +} +.outline-rose-400{ + outline-color: #fb7185; +} +.outline-rose-500{ + outline-color: #f43f5e; +} +.outline-rose-600{ + outline-color: #e11d48; +} +.outline-rose-700{ + outline-color: #be123c; +} +.outline-rose-800{ + outline-color: #9f1239; +} +.outline-rose-900{ + outline-color: #881337; +} +.outline-rose{ + outline-color: #f43f5e; +} +.outline-lilac-100{ + outline-color: #F5F7FA; +} +.outline-lilac-300{ + outline-color: #EDF0FC; +} +.outline-lilac-900{ + outline-color: #DCE2F9; +} +.outline-lilac{ + outline-color: #F8F9FE; +} +.outline-golden-900{ + outline-color: #BFB882; +} +.outline-golden{ + outline-color: #D1C989; +} +.outline-status-success{ + outline-color: #F1F6EE; +} +.outline-status-danger{ + outline-color: #fae6e6; +} +.outline-status-sent{ + outline-color: #FEF5E7; +} +.outline-status-viewed{ + outline-color: #EEEEF3; +} +.outline-status-draft{ + outline-color: #ECECEC; +} +.outline-status-partial{ + outline-color: #E6F1F6; +} +.outline-status-canceled{ + outline-color: #282828; +} +.outline-status-warning{ + outline-color: #FEF5E7; +} +.outline-text-status-success{ + outline-color: #63914A; +} +.outline-text-status-danger{ + outline-color: #B80000; +} +.outline-text-status-sent{ + outline-color: #DD8E0A; +} +.outline-text-status-viewed{ + outline-color: #4D4F7D; +} +.outline-text-status-draft{ + outline-color: #3B3B3B; +} +.outline-text-status-partial{ + outline-color: #006395; +} +.outline-text-status-canceled{ + outline-color: #ffffff; +} +.outline-text-status-warning{ + outline-color: #b87708; +} +.outline-body{ + outline-color: #fcfcfc; +} +.outline-light-gray{ + outline-color: #C7C9D9; +} +.outline-dark-blue{ + outline-color: #15284B; +} +.outline-lighter-gray{ + outline-color: #F2F2F5; +} +.outline-purple-lighter{ + outline-color: #F2F4FC; +} +.outline-modal-background{ + outline-color: rgba(0, 0, 0, 0.3); +} +.outline-testing{ + outline-color: #935f07; +} +.ring-0{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.ring-1{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.ring-2{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.ring-4{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.ring-8{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.ring{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.ring-inset{ + --tw-ring-inset: inset; +} +.ring-inherit{ + --tw-ring-color: inherit; +} +.ring-current{ + --tw-ring-color: currentColor; +} +.ring-transparent{ + --tw-ring-color: transparent; +} +.ring-black-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(246 246 246 / var(--tw-ring-opacity)); +} +.ring-black-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(236 236 236 / var(--tw-ring-opacity)); +} +.ring-black-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(208 208 208 / var(--tw-ring-opacity)); +} +.ring-black-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(179 179 179 / var(--tw-ring-opacity)); +} +.ring-black-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(123 123 123 / var(--tw-ring-opacity)); +} +.ring-black-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(66 66 66 / var(--tw-ring-opacity)); +} +.ring-black-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(59 59 59 / var(--tw-ring-opacity)); +} +.ring-black-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(50 50 50 / var(--tw-ring-opacity)); +} +.ring-black-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(40 40 40 / var(--tw-ring-opacity)); +} +.ring-black-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(32 32 32 / var(--tw-ring-opacity)); +} +.ring-black{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(66 66 66 / var(--tw-ring-opacity)); +} +.ring-white{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity)); +} +.ring-slate-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(248 250 252 / var(--tw-ring-opacity)); +} +.ring-slate-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(241 245 249 / var(--tw-ring-opacity)); +} +.ring-slate-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity)); +} +.ring-slate-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity)); +} +.ring-slate-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity)); +} +.ring-slate-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity)); +} +.ring-slate-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(71 85 105 / var(--tw-ring-opacity)); +} +.ring-slate-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(51 65 85 / var(--tw-ring-opacity)); +} +.ring-slate-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(30 41 59 / var(--tw-ring-opacity)); +} +.ring-slate-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(15 23 42 / var(--tw-ring-opacity)); +} +.ring-gray-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(249 250 251 / var(--tw-ring-opacity)); +} +.ring-gray-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(243 244 246 / var(--tw-ring-opacity)); +} +.ring-gray-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity)); +} +.ring-gray-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity)); +} +.ring-gray-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity)); +} +.ring-gray-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity)); +} +.ring-gray-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity)); +} +.ring-gray-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity)); +} +.ring-gray-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity)); +} +.ring-gray-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(17 24 39 / var(--tw-ring-opacity)); +} +.ring-zinc-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(250 250 250 / var(--tw-ring-opacity)); +} +.ring-zinc-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(244 244 245 / var(--tw-ring-opacity)); +} +.ring-zinc-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(228 228 231 / var(--tw-ring-opacity)); +} +.ring-zinc-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(212 212 216 / var(--tw-ring-opacity)); +} +.ring-zinc-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(161 161 170 / var(--tw-ring-opacity)); +} +.ring-zinc-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(113 113 122 / var(--tw-ring-opacity)); +} +.ring-zinc-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(82 82 91 / var(--tw-ring-opacity)); +} +.ring-zinc-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(63 63 70 / var(--tw-ring-opacity)); +} +.ring-zinc-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(39 39 42 / var(--tw-ring-opacity)); +} +.ring-zinc-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(24 24 27 / var(--tw-ring-opacity)); +} +.ring-neutral-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(250 250 250 / var(--tw-ring-opacity)); +} +.ring-neutral-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(245 245 245 / var(--tw-ring-opacity)); +} +.ring-neutral-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(229 229 229 / var(--tw-ring-opacity)); +} +.ring-neutral-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(212 212 212 / var(--tw-ring-opacity)); +} +.ring-neutral-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(163 163 163 / var(--tw-ring-opacity)); +} +.ring-neutral-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(115 115 115 / var(--tw-ring-opacity)); +} +.ring-neutral-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(82 82 82 / var(--tw-ring-opacity)); +} +.ring-neutral-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(64 64 64 / var(--tw-ring-opacity)); +} +.ring-neutral-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(38 38 38 / var(--tw-ring-opacity)); +} +.ring-neutral-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(23 23 23 / var(--tw-ring-opacity)); +} +.ring-stone-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(250 250 249 / var(--tw-ring-opacity)); +} +.ring-stone-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(245 245 244 / var(--tw-ring-opacity)); +} +.ring-stone-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(231 229 228 / var(--tw-ring-opacity)); +} +.ring-stone-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(214 211 209 / var(--tw-ring-opacity)); +} +.ring-stone-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(168 162 158 / var(--tw-ring-opacity)); +} +.ring-stone-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(120 113 108 / var(--tw-ring-opacity)); +} +.ring-stone-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(87 83 78 / var(--tw-ring-opacity)); +} +.ring-stone-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(68 64 60 / var(--tw-ring-opacity)); +} +.ring-stone-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(41 37 36 / var(--tw-ring-opacity)); +} +.ring-stone-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(28 25 23 / var(--tw-ring-opacity)); +} +.ring-red-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(252 242 242 / var(--tw-ring-opacity)); +} +.ring-red-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(250 230 230 / var(--tw-ring-opacity)); +} +.ring-red-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(242 191 191 / var(--tw-ring-opacity)); +} +.ring-red-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(235 153 153 / var(--tw-ring-opacity)); +} +.ring-red-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(219 77 77 / var(--tw-ring-opacity)); +} +.ring-red-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(204 0 0 / var(--tw-ring-opacity)); +} +.ring-red-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(184 0 0 / var(--tw-ring-opacity)); +} +.ring-red-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(153 0 0 / var(--tw-ring-opacity)); +} +.ring-red-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(122 0 0 / var(--tw-ring-opacity)); +} +.ring-red-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(100 0 0 / var(--tw-ring-opacity)); +} +.ring-red{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(204 0 0 / var(--tw-ring-opacity)); +} +.ring-orange-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(255 250 243 / var(--tw-ring-opacity)); +} +.ring-orange-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(254 245 231 / var(--tw-ring-opacity)); +} +.ring-orange-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(253 231 194 / var(--tw-ring-opacity)); +} +.ring-orange-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(251 216 157 / var(--tw-ring-opacity)); +} +.ring-orange-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(248 187 84 / var(--tw-ring-opacity)); +} +.ring-orange-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity)); +} +.ring-orange-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(221 142 10 / var(--tw-ring-opacity)); +} +.ring-orange-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(184 119 8 / var(--tw-ring-opacity)); +} +.ring-orange-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(147 95 7 / var(--tw-ring-opacity)); +} +.ring-orange-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(120 77 5 / var(--tw-ring-opacity)); +} +.ring-orange{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity)); +} +.ring-amber-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(255 251 235 / var(--tw-ring-opacity)); +} +.ring-amber-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity)); +} +.ring-amber-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(253 230 138 / var(--tw-ring-opacity)); +} +.ring-amber-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity)); +} +.ring-amber-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity)); +} +.ring-amber-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity)); +} +.ring-amber-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(217 119 6 / var(--tw-ring-opacity)); +} +.ring-amber-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(180 83 9 / var(--tw-ring-opacity)); +} +.ring-amber-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(146 64 14 / var(--tw-ring-opacity)); +} +.ring-amber-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(120 53 15 / var(--tw-ring-opacity)); +} +.ring-yellow-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(253 253 234 / var(--tw-ring-opacity)); +} +.ring-yellow-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(253 246 178 / var(--tw-ring-opacity)); +} +.ring-yellow-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(252 233 106 / var(--tw-ring-opacity)); +} +.ring-yellow-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(250 202 21 / var(--tw-ring-opacity)); +} +.ring-yellow-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(227 160 8 / var(--tw-ring-opacity)); +} +.ring-yellow-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(194 120 3 / var(--tw-ring-opacity)); +} +.ring-yellow-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(159 88 10 / var(--tw-ring-opacity)); +} +.ring-yellow-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(142 75 16 / var(--tw-ring-opacity)); +} +.ring-yellow-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(114 59 19 / var(--tw-ring-opacity)); +} +.ring-yellow-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(99 49 18 / var(--tw-ring-opacity)); +} +.ring-lime-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(247 254 231 / var(--tw-ring-opacity)); +} +.ring-lime-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(236 252 203 / var(--tw-ring-opacity)); +} +.ring-lime-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(217 249 157 / var(--tw-ring-opacity)); +} +.ring-lime-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(190 242 100 / var(--tw-ring-opacity)); +} +.ring-lime-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(163 230 53 / var(--tw-ring-opacity)); +} +.ring-lime-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(132 204 22 / var(--tw-ring-opacity)); +} +.ring-lime-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(101 163 13 / var(--tw-ring-opacity)); +} +.ring-lime-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(77 124 15 / var(--tw-ring-opacity)); +} +.ring-lime-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(63 98 18 / var(--tw-ring-opacity)); +} +.ring-lime-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(54 83 20 / var(--tw-ring-opacity)); +} +.ring-green-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(248 250 246 / var(--tw-ring-opacity)); +} +.ring-green-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(241 246 238 / var(--tw-ring-opacity)); +} +.ring-green-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(219 232 212 / var(--tw-ring-opacity)); +} +.ring-green-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(197 217 186 / var(--tw-ring-opacity)); +} +.ring-green-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(154 189 134 / var(--tw-ring-opacity)); +} +.ring-green-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(110 161 82 / var(--tw-ring-opacity)); +} +.ring-green-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(99 145 74 / var(--tw-ring-opacity)); +} +.ring-green-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(83 121 62 / var(--tw-ring-opacity)); +} +.ring-green-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(66 97 49 / var(--tw-ring-opacity)); +} +.ring-green-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(54 79 40 / var(--tw-ring-opacity)); +} +.ring-green{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(110 161 82 / var(--tw-ring-opacity)); +} +.ring-emerald-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(236 253 245 / var(--tw-ring-opacity)); +} +.ring-emerald-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity)); +} +.ring-emerald-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity)); +} +.ring-emerald-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity)); +} +.ring-emerald-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(52 211 153 / var(--tw-ring-opacity)); +} +.ring-emerald-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity)); +} +.ring-emerald-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(5 150 105 / var(--tw-ring-opacity)); +} +.ring-emerald-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(4 120 87 / var(--tw-ring-opacity)); +} +.ring-emerald-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(6 95 70 / var(--tw-ring-opacity)); +} +.ring-emerald-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(6 78 59 / var(--tw-ring-opacity)); +} +.ring-teal-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(237 250 250 / var(--tw-ring-opacity)); +} +.ring-teal-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(213 245 246 / var(--tw-ring-opacity)); +} +.ring-teal-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(175 236 239 / var(--tw-ring-opacity)); +} +.ring-teal-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(126 220 226 / var(--tw-ring-opacity)); +} +.ring-teal-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(22 189 202 / var(--tw-ring-opacity)); +} +.ring-teal-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(6 148 162 / var(--tw-ring-opacity)); +} +.ring-teal-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(4 116 129 / var(--tw-ring-opacity)); +} +.ring-teal-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(3 102 114 / var(--tw-ring-opacity)); +} +.ring-teal-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(5 80 92 / var(--tw-ring-opacity)); +} +.ring-teal-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(1 68 81 / var(--tw-ring-opacity)); +} +.ring-cyan-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(236 254 255 / var(--tw-ring-opacity)); +} +.ring-cyan-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(207 250 254 / var(--tw-ring-opacity)); +} +.ring-cyan-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity)); +} +.ring-cyan-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity)); +} +.ring-cyan-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(34 211 238 / var(--tw-ring-opacity)); +} +.ring-cyan-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity)); +} +.ring-cyan-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(8 145 178 / var(--tw-ring-opacity)); +} +.ring-cyan-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(14 116 144 / var(--tw-ring-opacity)); +} +.ring-cyan-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity)); +} +.ring-cyan-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(22 78 99 / var(--tw-ring-opacity)); +} +.ring-sky-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(240 249 255 / var(--tw-ring-opacity)); +} +.ring-sky-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(224 242 254 / var(--tw-ring-opacity)); +} +.ring-sky-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(186 230 253 / var(--tw-ring-opacity)); +} +.ring-sky-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(125 211 252 / var(--tw-ring-opacity)); +} +.ring-sky-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(56 189 248 / var(--tw-ring-opacity)); +} +.ring-sky-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity)); +} +.ring-sky-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(2 132 199 / var(--tw-ring-opacity)); +} +.ring-sky-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(3 105 161 / var(--tw-ring-opacity)); +} +.ring-sky-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(7 89 133 / var(--tw-ring-opacity)); +} +.ring-sky-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(12 74 110 / var(--tw-ring-opacity)); +} +.ring-blue-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(242 248 251 / var(--tw-ring-opacity)); +} +.ring-blue-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(230 241 246 / var(--tw-ring-opacity)); +} +.ring-blue-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(191 219 233 / var(--tw-ring-opacity)); +} +.ring-blue-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(153 197 219 / var(--tw-ring-opacity)); +} +.ring-blue-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(77 154 193 / var(--tw-ring-opacity)); +} +.ring-blue-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(0 110 166 / var(--tw-ring-opacity)); +} +.ring-blue-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(0 99 149 / var(--tw-ring-opacity)); +} +.ring-blue-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(0 83 125 / var(--tw-ring-opacity)); +} +.ring-blue-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(0 66 100 / var(--tw-ring-opacity)); +} +.ring-blue-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(0 54 81 / var(--tw-ring-opacity)); +} +.ring-blue{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(0 110 166 / var(--tw-ring-opacity)); +} +.ring-indigo-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(240 245 255 / var(--tw-ring-opacity)); +} +.ring-indigo-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(229 237 255 / var(--tw-ring-opacity)); +} +.ring-indigo-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(205 219 254 / var(--tw-ring-opacity)); +} +.ring-indigo-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(180 198 252 / var(--tw-ring-opacity)); +} +.ring-indigo-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(141 162 251 / var(--tw-ring-opacity)); +} +.ring-indigo-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(104 117 245 / var(--tw-ring-opacity)); +} +.ring-indigo-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(88 80 236 / var(--tw-ring-opacity)); +} +.ring-indigo-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(81 69 205 / var(--tw-ring-opacity)); +} +.ring-indigo-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(66 56 157 / var(--tw-ring-opacity)); +} +.ring-indigo-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(54 47 120 / var(--tw-ring-opacity)); +} +.ring-violet-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(245 243 255 / var(--tw-ring-opacity)); +} +.ring-violet-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(237 233 254 / var(--tw-ring-opacity)); +} +.ring-violet-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(221 214 254 / var(--tw-ring-opacity)); +} +.ring-violet-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity)); +} +.ring-violet-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(167 139 250 / var(--tw-ring-opacity)); +} +.ring-violet-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(139 92 246 / var(--tw-ring-opacity)); +} +.ring-violet-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(124 58 237 / var(--tw-ring-opacity)); +} +.ring-violet-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(109 40 217 / var(--tw-ring-opacity)); +} +.ring-violet-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(91 33 182 / var(--tw-ring-opacity)); +} +.ring-violet-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(76 29 149 / var(--tw-ring-opacity)); +} +.ring-purple-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(247 247 249 / var(--tw-ring-opacity)); +} +.ring-purple-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(238 238 243 / var(--tw-ring-opacity)); +} +.ring-purple-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(213 213 226 / var(--tw-ring-opacity)); +} +.ring-purple-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(187 188 209 / var(--tw-ring-opacity)); +} +.ring-purple-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(136 138 174 / var(--tw-ring-opacity)); +} +.ring-purple-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(85 88 139 / var(--tw-ring-opacity)); +} +.ring-purple-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(77 79 125 / var(--tw-ring-opacity)); +} +.ring-purple-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(64 66 104 / var(--tw-ring-opacity)); +} +.ring-purple-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(51 53 83 / var(--tw-ring-opacity)); +} +.ring-purple-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(42 43 68 / var(--tw-ring-opacity)); +} +.ring-purple{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(85 88 139 / var(--tw-ring-opacity)); +} +.ring-fuchsia-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(253 244 255 / var(--tw-ring-opacity)); +} +.ring-fuchsia-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(250 232 255 / var(--tw-ring-opacity)); +} +.ring-fuchsia-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(245 208 254 / var(--tw-ring-opacity)); +} +.ring-fuchsia-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(240 171 252 / var(--tw-ring-opacity)); +} +.ring-fuchsia-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(232 121 249 / var(--tw-ring-opacity)); +} +.ring-fuchsia-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(217 70 239 / var(--tw-ring-opacity)); +} +.ring-fuchsia-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(192 38 211 / var(--tw-ring-opacity)); +} +.ring-fuchsia-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(162 28 175 / var(--tw-ring-opacity)); +} +.ring-fuchsia-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(134 25 143 / var(--tw-ring-opacity)); +} +.ring-fuchsia-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(112 26 117 / var(--tw-ring-opacity)); +} +.ring-pink-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(253 242 248 / var(--tw-ring-opacity)); +} +.ring-pink-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(252 232 243 / var(--tw-ring-opacity)); +} +.ring-pink-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(250 209 232 / var(--tw-ring-opacity)); +} +.ring-pink-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(248 180 217 / var(--tw-ring-opacity)); +} +.ring-pink-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(241 126 184 / var(--tw-ring-opacity)); +} +.ring-pink-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(231 70 148 / var(--tw-ring-opacity)); +} +.ring-pink-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(214 31 105 / var(--tw-ring-opacity)); +} +.ring-pink-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(191 18 93 / var(--tw-ring-opacity)); +} +.ring-pink-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity)); +} +.ring-pink-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity)); +} +.ring-rose-50{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(255 241 242 / var(--tw-ring-opacity)); +} +.ring-rose-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(255 228 230 / var(--tw-ring-opacity)); +} +.ring-rose-200{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(254 205 211 / var(--tw-ring-opacity)); +} +.ring-rose-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(253 164 175 / var(--tw-ring-opacity)); +} +.ring-rose-400{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(251 113 133 / var(--tw-ring-opacity)); +} +.ring-rose-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(244 63 94 / var(--tw-ring-opacity)); +} +.ring-rose-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(225 29 72 / var(--tw-ring-opacity)); +} +.ring-rose-700{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(190 18 60 / var(--tw-ring-opacity)); +} +.ring-rose-800{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(159 18 57 / var(--tw-ring-opacity)); +} +.ring-rose-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(136 19 55 / var(--tw-ring-opacity)); +} +.ring-rose{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(244 63 94 / var(--tw-ring-opacity)); +} +.ring-lilac-100{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(245 247 250 / var(--tw-ring-opacity)); +} +.ring-lilac-300{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(237 240 252 / var(--tw-ring-opacity)); +} +.ring-lilac-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(220 226 249 / var(--tw-ring-opacity)); +} +.ring-lilac{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(248 249 254 / var(--tw-ring-opacity)); +} +.ring-golden-900{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(191 184 130 / var(--tw-ring-opacity)); +} +.ring-golden{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(209 201 137 / var(--tw-ring-opacity)); +} +.ring-status-success{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(241 246 238 / var(--tw-ring-opacity)); +} +.ring-status-danger{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(250 230 230 / var(--tw-ring-opacity)); +} +.ring-status-sent{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(254 245 231 / var(--tw-ring-opacity)); +} +.ring-status-viewed{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(238 238 243 / var(--tw-ring-opacity)); +} +.ring-status-draft{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(236 236 236 / var(--tw-ring-opacity)); +} +.ring-status-partial{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(230 241 246 / var(--tw-ring-opacity)); +} +.ring-status-canceled{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(40 40 40 / var(--tw-ring-opacity)); +} +.ring-status-warning{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(254 245 231 / var(--tw-ring-opacity)); +} +.ring-text-status-success{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(99 145 74 / var(--tw-ring-opacity)); +} +.ring-text-status-danger{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(184 0 0 / var(--tw-ring-opacity)); +} +.ring-text-status-sent{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(221 142 10 / var(--tw-ring-opacity)); +} +.ring-text-status-viewed{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(77 79 125 / var(--tw-ring-opacity)); +} +.ring-text-status-draft{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(59 59 59 / var(--tw-ring-opacity)); +} +.ring-text-status-partial{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(0 99 149 / var(--tw-ring-opacity)); +} +.ring-text-status-canceled{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity)); +} +.ring-text-status-warning{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(184 119 8 / var(--tw-ring-opacity)); +} +.ring-body{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(252 252 252 / var(--tw-ring-opacity)); +} +.ring-light-gray{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(199 201 217 / var(--tw-ring-opacity)); +} +.ring-dark-blue{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(21 40 75 / var(--tw-ring-opacity)); +} +.ring-lighter-gray{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(242 242 245 / var(--tw-ring-opacity)); +} +.ring-purple-lighter{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(242 244 252 / var(--tw-ring-opacity)); +} +.ring-modal-background{ + --tw-ring-color: rgba(0, 0, 0, 0.3); +} +.ring-testing{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(147 95 7 / var(--tw-ring-opacity)); +} +.ring-opacity-0{ + --tw-ring-opacity: 0; +} +.ring-opacity-5{ + --tw-ring-opacity: 0.05; +} +.ring-opacity-10{ + --tw-ring-opacity: 0.1; +} +.ring-opacity-20{ + --tw-ring-opacity: 0.2; +} +.ring-opacity-25{ + --tw-ring-opacity: 0.25; +} +.ring-opacity-30{ + --tw-ring-opacity: 0.3; +} +.ring-opacity-40{ + --tw-ring-opacity: 0.4; +} +.ring-opacity-50{ + --tw-ring-opacity: 0.5; +} +.ring-opacity-60{ + --tw-ring-opacity: 0.6; +} +.ring-opacity-70{ + --tw-ring-opacity: 0.7; +} +.ring-opacity-75{ + --tw-ring-opacity: 0.75; +} +.ring-opacity-80{ + --tw-ring-opacity: 0.8; +} +.ring-opacity-90{ + --tw-ring-opacity: 0.9; +} +.ring-opacity-95{ + --tw-ring-opacity: 0.95; +} +.ring-opacity-100{ + --tw-ring-opacity: 1; +} +.ring-offset-0{ + --tw-ring-offset-width: 0px; +} +.ring-offset-1{ + --tw-ring-offset-width: 1px; +} +.ring-offset-2{ + --tw-ring-offset-width: 2px; +} +.ring-offset-4{ + --tw-ring-offset-width: 4px; +} +.ring-offset-8{ + --tw-ring-offset-width: 8px; +} +.ring-offset-inherit{ + --tw-ring-offset-color: inherit; +} +.ring-offset-current{ + --tw-ring-offset-color: currentColor; +} +.ring-offset-transparent{ + --tw-ring-offset-color: transparent; +} +.ring-offset-black-50{ + --tw-ring-offset-color: #f6f6f6; +} +.ring-offset-black-100{ + --tw-ring-offset-color: #ececec; +} +.ring-offset-black-200{ + --tw-ring-offset-color: #d0d0d0; +} +.ring-offset-black-300{ + --tw-ring-offset-color: #b3b3b3; +} +.ring-offset-black-400{ + --tw-ring-offset-color: #7b7b7b; +} +.ring-offset-black-500{ + --tw-ring-offset-color: #424242; +} +.ring-offset-black-600{ + --tw-ring-offset-color: #3b3b3b; +} +.ring-offset-black-700{ + --tw-ring-offset-color: #323232; +} +.ring-offset-black-800{ + --tw-ring-offset-color: #282828; +} +.ring-offset-black-900{ + --tw-ring-offset-color: #202020; +} +.ring-offset-black{ + --tw-ring-offset-color: #424242; +} +.ring-offset-white{ + --tw-ring-offset-color: #ffffff; +} +.ring-offset-slate-50{ + --tw-ring-offset-color: #f8fafc; +} +.ring-offset-slate-100{ + --tw-ring-offset-color: #f1f5f9; +} +.ring-offset-slate-200{ + --tw-ring-offset-color: #e2e8f0; +} +.ring-offset-slate-300{ + --tw-ring-offset-color: #cbd5e1; +} +.ring-offset-slate-400{ + --tw-ring-offset-color: #94a3b8; +} +.ring-offset-slate-500{ + --tw-ring-offset-color: #64748b; +} +.ring-offset-slate-600{ + --tw-ring-offset-color: #475569; +} +.ring-offset-slate-700{ + --tw-ring-offset-color: #334155; +} +.ring-offset-slate-800{ + --tw-ring-offset-color: #1e293b; +} +.ring-offset-slate-900{ + --tw-ring-offset-color: #0f172a; +} +.ring-offset-gray-50{ + --tw-ring-offset-color: #F9FAFB; +} +.ring-offset-gray-100{ + --tw-ring-offset-color: #F3F4F6; +} +.ring-offset-gray-200{ + --tw-ring-offset-color: #E5E7EB; +} +.ring-offset-gray-300{ + --tw-ring-offset-color: #D1D5DB; +} +.ring-offset-gray-400{ + --tw-ring-offset-color: #9CA3AF; +} +.ring-offset-gray-500{ + --tw-ring-offset-color: #6B7280; +} +.ring-offset-gray-600{ + --tw-ring-offset-color: #4B5563; +} +.ring-offset-gray-700{ + --tw-ring-offset-color: #374151; +} +.ring-offset-gray-800{ + --tw-ring-offset-color: #1F2937; +} +.ring-offset-gray-900{ + --tw-ring-offset-color: #111827; +} +.ring-offset-zinc-50{ + --tw-ring-offset-color: #fafafa; +} +.ring-offset-zinc-100{ + --tw-ring-offset-color: #f4f4f5; +} +.ring-offset-zinc-200{ + --tw-ring-offset-color: #e4e4e7; +} +.ring-offset-zinc-300{ + --tw-ring-offset-color: #d4d4d8; +} +.ring-offset-zinc-400{ + --tw-ring-offset-color: #a1a1aa; +} +.ring-offset-zinc-500{ + --tw-ring-offset-color: #71717a; +} +.ring-offset-zinc-600{ + --tw-ring-offset-color: #52525b; +} +.ring-offset-zinc-700{ + --tw-ring-offset-color: #3f3f46; +} +.ring-offset-zinc-800{ + --tw-ring-offset-color: #27272a; +} +.ring-offset-zinc-900{ + --tw-ring-offset-color: #18181b; +} +.ring-offset-neutral-50{ + --tw-ring-offset-color: #fafafa; +} +.ring-offset-neutral-100{ + --tw-ring-offset-color: #f5f5f5; +} +.ring-offset-neutral-200{ + --tw-ring-offset-color: #e5e5e5; +} +.ring-offset-neutral-300{ + --tw-ring-offset-color: #d4d4d4; +} +.ring-offset-neutral-400{ + --tw-ring-offset-color: #a3a3a3; +} +.ring-offset-neutral-500{ + --tw-ring-offset-color: #737373; +} +.ring-offset-neutral-600{ + --tw-ring-offset-color: #525252; +} +.ring-offset-neutral-700{ + --tw-ring-offset-color: #404040; +} +.ring-offset-neutral-800{ + --tw-ring-offset-color: #262626; +} +.ring-offset-neutral-900{ + --tw-ring-offset-color: #171717; +} +.ring-offset-stone-50{ + --tw-ring-offset-color: #fafaf9; +} +.ring-offset-stone-100{ + --tw-ring-offset-color: #f5f5f4; +} +.ring-offset-stone-200{ + --tw-ring-offset-color: #e7e5e4; +} +.ring-offset-stone-300{ + --tw-ring-offset-color: #d6d3d1; +} +.ring-offset-stone-400{ + --tw-ring-offset-color: #a8a29e; +} +.ring-offset-stone-500{ + --tw-ring-offset-color: #78716c; +} +.ring-offset-stone-600{ + --tw-ring-offset-color: #57534e; +} +.ring-offset-stone-700{ + --tw-ring-offset-color: #44403c; +} +.ring-offset-stone-800{ + --tw-ring-offset-color: #292524; +} +.ring-offset-stone-900{ + --tw-ring-offset-color: #1c1917; +} +.ring-offset-red-50{ + --tw-ring-offset-color: #fcf2f2; +} +.ring-offset-red-100{ + --tw-ring-offset-color: #fae6e6; +} +.ring-offset-red-200{ + --tw-ring-offset-color: #f2bfbf; +} +.ring-offset-red-300{ + --tw-ring-offset-color: #eb9999; +} +.ring-offset-red-400{ + --tw-ring-offset-color: #db4d4d; +} +.ring-offset-red-500{ + --tw-ring-offset-color: #cc0000; +} +.ring-offset-red-600{ + --tw-ring-offset-color: #b80000; +} +.ring-offset-red-700{ + --tw-ring-offset-color: #990000; +} +.ring-offset-red-800{ + --tw-ring-offset-color: #7a0000; +} +.ring-offset-red-900{ + --tw-ring-offset-color: #640000; +} +.ring-offset-red{ + --tw-ring-offset-color: #cc0000; +} +.ring-offset-orange-50{ + --tw-ring-offset-color: #fffaf3; +} +.ring-offset-orange-100{ + --tw-ring-offset-color: #fef5e7; +} +.ring-offset-orange-200{ + --tw-ring-offset-color: #fde7c2; +} +.ring-offset-orange-300{ + --tw-ring-offset-color: #fbd89d; +} +.ring-offset-orange-400{ + --tw-ring-offset-color: #f8bb54; +} +.ring-offset-orange-500{ + --tw-ring-offset-color: #f59e0b; +} +.ring-offset-orange-600{ + --tw-ring-offset-color: #dd8e0a; +} +.ring-offset-orange-700{ + --tw-ring-offset-color: #b87708; +} +.ring-offset-orange-800{ + --tw-ring-offset-color: #935f07; +} +.ring-offset-orange-900{ + --tw-ring-offset-color: #784d05; +} +.ring-offset-orange{ + --tw-ring-offset-color: #f59e0b; +} +.ring-offset-amber-50{ + --tw-ring-offset-color: #fffbeb; +} +.ring-offset-amber-100{ + --tw-ring-offset-color: #fef3c7; +} +.ring-offset-amber-200{ + --tw-ring-offset-color: #fde68a; +} +.ring-offset-amber-300{ + --tw-ring-offset-color: #fcd34d; +} +.ring-offset-amber-400{ + --tw-ring-offset-color: #fbbf24; +} +.ring-offset-amber-500{ + --tw-ring-offset-color: #f59e0b; +} +.ring-offset-amber-600{ + --tw-ring-offset-color: #d97706; +} +.ring-offset-amber-700{ + --tw-ring-offset-color: #b45309; +} +.ring-offset-amber-800{ + --tw-ring-offset-color: #92400e; +} +.ring-offset-amber-900{ + --tw-ring-offset-color: #78350f; +} +.ring-offset-yellow-50{ + --tw-ring-offset-color: #FDFDEA; +} +.ring-offset-yellow-100{ + --tw-ring-offset-color: #FDF6B2; +} +.ring-offset-yellow-200{ + --tw-ring-offset-color: #FCE96A; +} +.ring-offset-yellow-300{ + --tw-ring-offset-color: #FACA15; +} +.ring-offset-yellow-400{ + --tw-ring-offset-color: #E3A008; +} +.ring-offset-yellow-500{ + --tw-ring-offset-color: #C27803; +} +.ring-offset-yellow-600{ + --tw-ring-offset-color: #9F580A; +} +.ring-offset-yellow-700{ + --tw-ring-offset-color: #8E4B10; +} +.ring-offset-yellow-800{ + --tw-ring-offset-color: #723B13; +} +.ring-offset-yellow-900{ + --tw-ring-offset-color: #633112; +} +.ring-offset-lime-50{ + --tw-ring-offset-color: #f7fee7; +} +.ring-offset-lime-100{ + --tw-ring-offset-color: #ecfccb; +} +.ring-offset-lime-200{ + --tw-ring-offset-color: #d9f99d; +} +.ring-offset-lime-300{ + --tw-ring-offset-color: #bef264; +} +.ring-offset-lime-400{ + --tw-ring-offset-color: #a3e635; +} +.ring-offset-lime-500{ + --tw-ring-offset-color: #84cc16; +} +.ring-offset-lime-600{ + --tw-ring-offset-color: #65a30d; +} +.ring-offset-lime-700{ + --tw-ring-offset-color: #4d7c0f; +} +.ring-offset-lime-800{ + --tw-ring-offset-color: #3f6212; +} +.ring-offset-lime-900{ + --tw-ring-offset-color: #365314; +} +.ring-offset-green-50{ + --tw-ring-offset-color: #f8faf6; +} +.ring-offset-green-100{ + --tw-ring-offset-color: #f1f6ee; +} +.ring-offset-green-200{ + --tw-ring-offset-color: #dbe8d4; +} +.ring-offset-green-300{ + --tw-ring-offset-color: #c5d9ba; +} +.ring-offset-green-400{ + --tw-ring-offset-color: #9abd86; +} +.ring-offset-green-500{ + --tw-ring-offset-color: #6ea152; +} +.ring-offset-green-600{ + --tw-ring-offset-color: #63914a; +} +.ring-offset-green-700{ + --tw-ring-offset-color: #53793e; +} +.ring-offset-green-800{ + --tw-ring-offset-color: #426131; +} +.ring-offset-green-900{ + --tw-ring-offset-color: #364f28; +} +.ring-offset-green{ + --tw-ring-offset-color: #6ea152; +} +.ring-offset-emerald-50{ + --tw-ring-offset-color: #ecfdf5; +} +.ring-offset-emerald-100{ + --tw-ring-offset-color: #d1fae5; +} +.ring-offset-emerald-200{ + --tw-ring-offset-color: #a7f3d0; +} +.ring-offset-emerald-300{ + --tw-ring-offset-color: #6ee7b7; +} +.ring-offset-emerald-400{ + --tw-ring-offset-color: #34d399; +} +.ring-offset-emerald-500{ + --tw-ring-offset-color: #10b981; +} +.ring-offset-emerald-600{ + --tw-ring-offset-color: #059669; +} +.ring-offset-emerald-700{ + --tw-ring-offset-color: #047857; +} +.ring-offset-emerald-800{ + --tw-ring-offset-color: #065f46; +} +.ring-offset-emerald-900{ + --tw-ring-offset-color: #064e3b; +} +.ring-offset-teal-50{ + --tw-ring-offset-color: #EDFAFA; +} +.ring-offset-teal-100{ + --tw-ring-offset-color: #D5F5F6; +} +.ring-offset-teal-200{ + --tw-ring-offset-color: #AFECEF; +} +.ring-offset-teal-300{ + --tw-ring-offset-color: #7EDCE2; +} +.ring-offset-teal-400{ + --tw-ring-offset-color: #16BDCA; +} +.ring-offset-teal-500{ + --tw-ring-offset-color: #0694A2; +} +.ring-offset-teal-600{ + --tw-ring-offset-color: #047481; +} +.ring-offset-teal-700{ + --tw-ring-offset-color: #036672; +} +.ring-offset-teal-800{ + --tw-ring-offset-color: #05505C; +} +.ring-offset-teal-900{ + --tw-ring-offset-color: #014451; +} +.ring-offset-cyan-50{ + --tw-ring-offset-color: #ecfeff; +} +.ring-offset-cyan-100{ + --tw-ring-offset-color: #cffafe; +} +.ring-offset-cyan-200{ + --tw-ring-offset-color: #a5f3fc; +} +.ring-offset-cyan-300{ + --tw-ring-offset-color: #67e8f9; +} +.ring-offset-cyan-400{ + --tw-ring-offset-color: #22d3ee; +} +.ring-offset-cyan-500{ + --tw-ring-offset-color: #06b6d4; +} +.ring-offset-cyan-600{ + --tw-ring-offset-color: #0891b2; +} +.ring-offset-cyan-700{ + --tw-ring-offset-color: #0e7490; +} +.ring-offset-cyan-800{ + --tw-ring-offset-color: #155e75; +} +.ring-offset-cyan-900{ + --tw-ring-offset-color: #164e63; +} +.ring-offset-sky-50{ + --tw-ring-offset-color: #f0f9ff; +} +.ring-offset-sky-100{ + --tw-ring-offset-color: #e0f2fe; +} +.ring-offset-sky-200{ + --tw-ring-offset-color: #bae6fd; +} +.ring-offset-sky-300{ + --tw-ring-offset-color: #7dd3fc; +} +.ring-offset-sky-400{ + --tw-ring-offset-color: #38bdf8; +} +.ring-offset-sky-500{ + --tw-ring-offset-color: #0ea5e9; +} +.ring-offset-sky-600{ + --tw-ring-offset-color: #0284c7; +} +.ring-offset-sky-700{ + --tw-ring-offset-color: #0369a1; +} +.ring-offset-sky-800{ + --tw-ring-offset-color: #075985; +} +.ring-offset-sky-900{ + --tw-ring-offset-color: #0c4a6e; +} +.ring-offset-blue-50{ + --tw-ring-offset-color: #f2f8fb; +} +.ring-offset-blue-100{ + --tw-ring-offset-color: #e6f1f6; +} +.ring-offset-blue-200{ + --tw-ring-offset-color: #bfdbe9; +} +.ring-offset-blue-300{ + --tw-ring-offset-color: #99c5db; +} +.ring-offset-blue-400{ + --tw-ring-offset-color: #4d9ac1; +} +.ring-offset-blue-500{ + --tw-ring-offset-color: #006ea6; +} +.ring-offset-blue-600{ + --tw-ring-offset-color: #006395; +} +.ring-offset-blue-700{ + --tw-ring-offset-color: #00537d; +} +.ring-offset-blue-800{ + --tw-ring-offset-color: #004264; +} +.ring-offset-blue-900{ + --tw-ring-offset-color: #003651; +} +.ring-offset-blue{ + --tw-ring-offset-color: #006ea6; +} +.ring-offset-indigo-50{ + --tw-ring-offset-color: #F0F5FF; +} +.ring-offset-indigo-100{ + --tw-ring-offset-color: #E5EDFF; +} +.ring-offset-indigo-200{ + --tw-ring-offset-color: #CDDBFE; +} +.ring-offset-indigo-300{ + --tw-ring-offset-color: #B4C6FC; +} +.ring-offset-indigo-400{ + --tw-ring-offset-color: #8DA2FB; +} +.ring-offset-indigo-500{ + --tw-ring-offset-color: #6875F5; +} +.ring-offset-indigo-600{ + --tw-ring-offset-color: #5850EC; +} +.ring-offset-indigo-700{ + --tw-ring-offset-color: #5145CD; +} +.ring-offset-indigo-800{ + --tw-ring-offset-color: #42389D; +} +.ring-offset-indigo-900{ + --tw-ring-offset-color: #362F78; +} +.ring-offset-violet-50{ + --tw-ring-offset-color: #f5f3ff; +} +.ring-offset-violet-100{ + --tw-ring-offset-color: #ede9fe; +} +.ring-offset-violet-200{ + --tw-ring-offset-color: #ddd6fe; +} +.ring-offset-violet-300{ + --tw-ring-offset-color: #c4b5fd; +} +.ring-offset-violet-400{ + --tw-ring-offset-color: #a78bfa; +} +.ring-offset-violet-500{ + --tw-ring-offset-color: #8b5cf6; +} +.ring-offset-violet-600{ + --tw-ring-offset-color: #7c3aed; +} +.ring-offset-violet-700{ + --tw-ring-offset-color: #6d28d9; +} +.ring-offset-violet-800{ + --tw-ring-offset-color: #5b21b6; +} +.ring-offset-violet-900{ + --tw-ring-offset-color: #4c1d95; +} +.ring-offset-purple-50{ + --tw-ring-offset-color: #f7f7f9; +} +.ring-offset-purple-100{ + --tw-ring-offset-color: #eeeef3; +} +.ring-offset-purple-200{ + --tw-ring-offset-color: #d5d5e2; +} +.ring-offset-purple-300{ + --tw-ring-offset-color: #bbbcd1; +} +.ring-offset-purple-400{ + --tw-ring-offset-color: #888aae; +} +.ring-offset-purple-500{ + --tw-ring-offset-color: #55588b; +} +.ring-offset-purple-600{ + --tw-ring-offset-color: #4d4f7d; +} +.ring-offset-purple-700{ + --tw-ring-offset-color: #404268; +} +.ring-offset-purple-800{ + --tw-ring-offset-color: #333553; +} +.ring-offset-purple-900{ + --tw-ring-offset-color: #2a2b44; +} +.ring-offset-purple{ + --tw-ring-offset-color: #55588b; +} +.ring-offset-fuchsia-50{ + --tw-ring-offset-color: #fdf4ff; +} +.ring-offset-fuchsia-100{ + --tw-ring-offset-color: #fae8ff; +} +.ring-offset-fuchsia-200{ + --tw-ring-offset-color: #f5d0fe; +} +.ring-offset-fuchsia-300{ + --tw-ring-offset-color: #f0abfc; +} +.ring-offset-fuchsia-400{ + --tw-ring-offset-color: #e879f9; +} +.ring-offset-fuchsia-500{ + --tw-ring-offset-color: #d946ef; +} +.ring-offset-fuchsia-600{ + --tw-ring-offset-color: #c026d3; +} +.ring-offset-fuchsia-700{ + --tw-ring-offset-color: #a21caf; +} +.ring-offset-fuchsia-800{ + --tw-ring-offset-color: #86198f; +} +.ring-offset-fuchsia-900{ + --tw-ring-offset-color: #701a75; +} +.ring-offset-pink-50{ + --tw-ring-offset-color: #FDF2F8; +} +.ring-offset-pink-100{ + --tw-ring-offset-color: #FCE8F3; +} +.ring-offset-pink-200{ + --tw-ring-offset-color: #FAD1E8; +} +.ring-offset-pink-300{ + --tw-ring-offset-color: #F8B4D9; +} +.ring-offset-pink-400{ + --tw-ring-offset-color: #F17EB8; +} +.ring-offset-pink-500{ + --tw-ring-offset-color: #E74694; +} +.ring-offset-pink-600{ + --tw-ring-offset-color: #D61F69; +} +.ring-offset-pink-700{ + --tw-ring-offset-color: #BF125D; +} +.ring-offset-pink-800{ + --tw-ring-offset-color: #99154B; +} +.ring-offset-pink-900{ + --tw-ring-offset-color: #751A3D; +} +.ring-offset-rose-50{ + --tw-ring-offset-color: #fff1f2; +} +.ring-offset-rose-100{ + --tw-ring-offset-color: #ffe4e6; +} +.ring-offset-rose-200{ + --tw-ring-offset-color: #fecdd3; +} +.ring-offset-rose-300{ + --tw-ring-offset-color: #fda4af; +} +.ring-offset-rose-400{ + --tw-ring-offset-color: #fb7185; +} +.ring-offset-rose-500{ + --tw-ring-offset-color: #f43f5e; +} +.ring-offset-rose-600{ + --tw-ring-offset-color: #e11d48; +} +.ring-offset-rose-700{ + --tw-ring-offset-color: #be123c; +} +.ring-offset-rose-800{ + --tw-ring-offset-color: #9f1239; +} +.ring-offset-rose-900{ + --tw-ring-offset-color: #881337; +} +.ring-offset-rose{ + --tw-ring-offset-color: #f43f5e; +} +.ring-offset-lilac-100{ + --tw-ring-offset-color: #F5F7FA; +} +.ring-offset-lilac-300{ + --tw-ring-offset-color: #EDF0FC; +} +.ring-offset-lilac-900{ + --tw-ring-offset-color: #DCE2F9; +} +.ring-offset-lilac{ + --tw-ring-offset-color: #F8F9FE; +} +.ring-offset-golden-900{ + --tw-ring-offset-color: #BFB882; +} +.ring-offset-golden{ + --tw-ring-offset-color: #D1C989; +} +.ring-offset-status-success{ + --tw-ring-offset-color: #F1F6EE; +} +.ring-offset-status-danger{ + --tw-ring-offset-color: #fae6e6; +} +.ring-offset-status-sent{ + --tw-ring-offset-color: #FEF5E7; +} +.ring-offset-status-viewed{ + --tw-ring-offset-color: #EEEEF3; +} +.ring-offset-status-draft{ + --tw-ring-offset-color: #ECECEC; +} +.ring-offset-status-partial{ + --tw-ring-offset-color: #E6F1F6; +} +.ring-offset-status-canceled{ + --tw-ring-offset-color: #282828; +} +.ring-offset-status-warning{ + --tw-ring-offset-color: #FEF5E7; +} +.ring-offset-text-status-success{ + --tw-ring-offset-color: #63914A; +} +.ring-offset-text-status-danger{ + --tw-ring-offset-color: #B80000; +} +.ring-offset-text-status-sent{ + --tw-ring-offset-color: #DD8E0A; +} +.ring-offset-text-status-viewed{ + --tw-ring-offset-color: #4D4F7D; +} +.ring-offset-text-status-draft{ + --tw-ring-offset-color: #3B3B3B; +} +.ring-offset-text-status-partial{ + --tw-ring-offset-color: #006395; +} +.ring-offset-text-status-canceled{ + --tw-ring-offset-color: #ffffff; +} +.ring-offset-text-status-warning{ + --tw-ring-offset-color: #b87708; +} +.ring-offset-body{ + --tw-ring-offset-color: #fcfcfc; +} +.ring-offset-light-gray{ + --tw-ring-offset-color: #C7C9D9; +} +.ring-offset-dark-blue{ + --tw-ring-offset-color: #15284B; +} +.ring-offset-lighter-gray{ + --tw-ring-offset-color: #F2F2F5; +} +.ring-offset-purple-lighter{ + --tw-ring-offset-color: #F2F4FC; +} +.ring-offset-modal-background{ + --tw-ring-offset-color: rgba(0, 0, 0, 0.3); +} +.ring-offset-testing{ + --tw-ring-offset-color: #935f07; +} +.blur-0{ + --tw-blur: blur(0); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.blur-none{ + --tw-blur: blur(0); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.blur-sm{ + --tw-blur: blur(4px); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.blur{ + --tw-blur: blur(8px); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.blur-md{ + --tw-blur: blur(12px); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.blur-lg{ + --tw-blur: blur(16px); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.blur-xl{ + --tw-blur: blur(24px); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.blur-2xl{ + --tw-blur: blur(40px); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.blur-3xl{ + --tw-blur: blur(64px); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-0{ + --tw-brightness: brightness(0); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-50{ + --tw-brightness: brightness(.5); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-75{ + --tw-brightness: brightness(.75); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-90{ + --tw-brightness: brightness(.9); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-95{ + --tw-brightness: brightness(.95); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-100{ + --tw-brightness: brightness(1); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-105{ + --tw-brightness: brightness(1.05); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-110{ + --tw-brightness: brightness(1.1); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-125{ + --tw-brightness: brightness(1.25); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-150{ + --tw-brightness: brightness(1.5); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.brightness-200{ + --tw-brightness: brightness(2); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.contrast-0{ + --tw-contrast: contrast(0); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.contrast-50{ + --tw-contrast: contrast(.5); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.contrast-75{ + --tw-contrast: contrast(.75); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.contrast-100{ + --tw-contrast: contrast(1); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.contrast-125{ + --tw-contrast: contrast(1.25); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.contrast-150{ + --tw-contrast: contrast(1.5); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.contrast-200{ + --tw-contrast: contrast(2); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.drop-shadow-sm{ + --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05)); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.drop-shadow{ + --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06)); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.drop-shadow-md{ + --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06)); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.drop-shadow-lg{ + --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1)); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.drop-shadow-xl{ + --tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08)); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.drop-shadow-2xl{ + --tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / 0.15)); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.drop-shadow-none{ + --tw-drop-shadow: drop-shadow(0 0 #0000); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.grayscale-0{ + --tw-grayscale: grayscale(0); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.grayscale{ + --tw-grayscale: grayscale(100%); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.hue-rotate-0{ + --tw-hue-rotate: hue-rotate(0deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.hue-rotate-15{ + --tw-hue-rotate: hue-rotate(15deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.hue-rotate-30{ + --tw-hue-rotate: hue-rotate(30deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.hue-rotate-60{ + --tw-hue-rotate: hue-rotate(60deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.hue-rotate-90{ + --tw-hue-rotate: hue-rotate(90deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.hue-rotate-180{ + --tw-hue-rotate: hue-rotate(180deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.-hue-rotate-0{ + --tw-hue-rotate: hue-rotate(-0deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.-hue-rotate-15{ + --tw-hue-rotate: hue-rotate(-15deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.-hue-rotate-30{ + --tw-hue-rotate: hue-rotate(-30deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.-hue-rotate-60{ + --tw-hue-rotate: hue-rotate(-60deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.-hue-rotate-90{ + --tw-hue-rotate: hue-rotate(-90deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.-hue-rotate-180{ + --tw-hue-rotate: hue-rotate(-180deg); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.invert-0{ + --tw-invert: invert(0); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.invert{ + --tw-invert: invert(100%); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.saturate-0{ + --tw-saturate: saturate(0); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.saturate-50{ + --tw-saturate: saturate(.5); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.saturate-100{ + --tw-saturate: saturate(1); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.saturate-150{ + --tw-saturate: saturate(1.5); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.saturate-200{ + --tw-saturate: saturate(2); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.sepia-0{ + --tw-sepia: sepia(0); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.sepia{ + --tw-sepia: sepia(100%); + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.filter{ + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} +.\!filter{ + -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important; + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important; +} +.filter-none{ + -webkit-filter: none; + filter: none; +} +.backdrop-blur-0{ + --tw-backdrop-blur: blur(0); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-blur-none{ + --tw-backdrop-blur: blur(0); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-blur-sm{ + --tw-backdrop-blur: blur(4px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-blur{ + --tw-backdrop-blur: blur(8px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-blur-md{ + --tw-backdrop-blur: blur(12px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-blur-lg{ + --tw-backdrop-blur: blur(16px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-blur-xl{ + --tw-backdrop-blur: blur(24px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-blur-2xl{ + --tw-backdrop-blur: blur(40px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-blur-3xl{ + --tw-backdrop-blur: blur(64px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-0{ + --tw-backdrop-brightness: brightness(0); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-50{ + --tw-backdrop-brightness: brightness(.5); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-75{ + --tw-backdrop-brightness: brightness(.75); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-90{ + --tw-backdrop-brightness: brightness(.9); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-95{ + --tw-backdrop-brightness: brightness(.95); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-100{ + --tw-backdrop-brightness: brightness(1); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-105{ + --tw-backdrop-brightness: brightness(1.05); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-110{ + --tw-backdrop-brightness: brightness(1.1); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-125{ + --tw-backdrop-brightness: brightness(1.25); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-150{ + --tw-backdrop-brightness: brightness(1.5); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-brightness-200{ + --tw-backdrop-brightness: brightness(2); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-contrast-0{ + --tw-backdrop-contrast: contrast(0); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-contrast-50{ + --tw-backdrop-contrast: contrast(.5); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-contrast-75{ + --tw-backdrop-contrast: contrast(.75); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-contrast-100{ + --tw-backdrop-contrast: contrast(1); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-contrast-125{ + --tw-backdrop-contrast: contrast(1.25); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-contrast-150{ + --tw-backdrop-contrast: contrast(1.5); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-contrast-200{ + --tw-backdrop-contrast: contrast(2); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-grayscale-0{ + --tw-backdrop-grayscale: grayscale(0); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-grayscale{ + --tw-backdrop-grayscale: grayscale(100%); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-hue-rotate-0{ + --tw-backdrop-hue-rotate: hue-rotate(0deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-hue-rotate-15{ + --tw-backdrop-hue-rotate: hue-rotate(15deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-hue-rotate-30{ + --tw-backdrop-hue-rotate: hue-rotate(30deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-hue-rotate-60{ + --tw-backdrop-hue-rotate: hue-rotate(60deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-hue-rotate-90{ + --tw-backdrop-hue-rotate: hue-rotate(90deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-hue-rotate-180{ + --tw-backdrop-hue-rotate: hue-rotate(180deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.-backdrop-hue-rotate-0{ + --tw-backdrop-hue-rotate: hue-rotate(-0deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.-backdrop-hue-rotate-15{ + --tw-backdrop-hue-rotate: hue-rotate(-15deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.-backdrop-hue-rotate-30{ + --tw-backdrop-hue-rotate: hue-rotate(-30deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.-backdrop-hue-rotate-60{ + --tw-backdrop-hue-rotate: hue-rotate(-60deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.-backdrop-hue-rotate-90{ + --tw-backdrop-hue-rotate: hue-rotate(-90deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.-backdrop-hue-rotate-180{ + --tw-backdrop-hue-rotate: hue-rotate(-180deg); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-invert-0{ + --tw-backdrop-invert: invert(0); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-invert{ + --tw-backdrop-invert: invert(100%); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-0{ + --tw-backdrop-opacity: opacity(0); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-5{ + --tw-backdrop-opacity: opacity(0.05); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-10{ + --tw-backdrop-opacity: opacity(0.1); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-20{ + --tw-backdrop-opacity: opacity(0.2); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-25{ + --tw-backdrop-opacity: opacity(0.25); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-30{ + --tw-backdrop-opacity: opacity(0.3); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-40{ + --tw-backdrop-opacity: opacity(0.4); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-50{ + --tw-backdrop-opacity: opacity(0.5); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-60{ + --tw-backdrop-opacity: opacity(0.6); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-70{ + --tw-backdrop-opacity: opacity(0.7); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-75{ + --tw-backdrop-opacity: opacity(0.75); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-80{ + --tw-backdrop-opacity: opacity(0.8); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-90{ + --tw-backdrop-opacity: opacity(0.9); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-95{ + --tw-backdrop-opacity: opacity(0.95); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-opacity-100{ + --tw-backdrop-opacity: opacity(1); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-saturate-0{ + --tw-backdrop-saturate: saturate(0); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-saturate-50{ + --tw-backdrop-saturate: saturate(.5); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-saturate-100{ + --tw-backdrop-saturate: saturate(1); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-saturate-150{ + --tw-backdrop-saturate: saturate(1.5); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-saturate-200{ + --tw-backdrop-saturate: saturate(2); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-sepia-0{ + --tw-backdrop-sepia: sepia(0); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-sepia{ + --tw-backdrop-sepia: sepia(100%); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-filter{ + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-filter-none{ + -webkit-backdrop-filter: none; + backdrop-filter: none; +} +.transition-none{ + -webkit-transition-property: none; + transition-property: none; +} +.transition-all{ + -webkit-transition-property: all; + transition-property: all; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.transition{ + -webkit-transition-property: color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.transition-colors{ + -webkit-transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color; + transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.transition-opacity{ + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.transition-shadow{ + -webkit-transition-property: -webkit-box-shadow; + transition-property: -webkit-box-shadow; + transition-property: box-shadow; + transition-property: box-shadow, -webkit-box-shadow; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.transition-transform{ + -webkit-transition-property: -webkit-transform; + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.transition-height{ + -webkit-transition-property: height; + transition-property: height; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.transition-spacing{ + -webkit-transition-property: margin, padding; + transition-property: margin, padding; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.transition-visible{ + -webkit-transition-property: visible, opacity; + transition-property: visible, opacity; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.delay-75{ + -webkit-transition-delay: 75ms; + transition-delay: 75ms; +} +.delay-100{ + -webkit-transition-delay: 100ms; + transition-delay: 100ms; +} +.delay-150{ + -webkit-transition-delay: 150ms; + transition-delay: 150ms; +} +.delay-200{ + -webkit-transition-delay: 200ms; + transition-delay: 200ms; +} +.delay-300{ + -webkit-transition-delay: 300ms; + transition-delay: 300ms; +} +.delay-500{ + -webkit-transition-delay: 500ms; + transition-delay: 500ms; +} +.delay-700{ + -webkit-transition-delay: 700ms; + transition-delay: 700ms; +} +.delay-1000{ + -webkit-transition-delay: 1000ms; + transition-delay: 1000ms; +} +.delay-\[0\.28s\]{ + -webkit-transition-delay: 0.28s; + transition-delay: 0.28s; +} +.duration-75{ + -webkit-transition-duration: 75ms; + transition-duration: 75ms; +} +.duration-100{ + -webkit-transition-duration: 100ms; + transition-duration: 100ms; +} +.duration-150{ + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +.duration-200{ + -webkit-transition-duration: 200ms; + transition-duration: 200ms; +} +.duration-300{ + -webkit-transition-duration: 300ms; + transition-duration: 300ms; +} +.duration-500{ + -webkit-transition-duration: 500ms; + transition-duration: 500ms; +} +.duration-700{ + -webkit-transition-duration: 700ms; + transition-duration: 700ms; +} +.duration-1000{ + -webkit-transition-duration: 1000ms; + transition-duration: 1000ms; +} +.ease-linear{ + -webkit-transition-timing-function: linear; + transition-timing-function: linear; +} +.ease-in{ + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1); + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); +} +.ease-out{ + -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); +} +.ease-in-out{ + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.will-change-auto{ + will-change: auto; +} +.will-change-scroll{ + will-change: scroll-position; +} +.will-change-contents{ + will-change: contents; +} +.will-change-transform{ + will-change: transform; +} +.content-none{ + --tw-content: none; + content: var(--tw-content); +} + +/* menu */ +.menu-list::-webkit-scrollbar { + width: 6px; + } +.menu-list::-webkit-scrollbar-track { + border-radius: 10px; + background-color: #fcfcfc; + } +.menu-list::-webkit-scrollbar-thumb { + border-radius: 10px; + background-color: #DCE2F9; + } +.menu-list{ + width: 16rem; + overflow-y: auto; + overflow-x: hidden; + --tw-bg-opacity: 1; + background-color: rgb(242 244 252 / var(--tw-bg-opacity)); + padding-top: 1.75rem; + padding-bottom: 1.75rem; + padding-left: 1.25rem; + padding-right: 1.25rem; + -webkit-transition-property: all; + transition-property: all; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 150ms; + transition-duration: 150ms; +} +@media (min-width: 1024px){ + + .menu-list{ + width: 14rem; + } +} + +.menu-list-hidden{ + width: 0px; + padding: 0px; + opacity: 0; +} + +.menu__submenu li::before{ + position: absolute; + left: -1rem; + height: 100%; + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); + content: ''; + width: 1px; +} + +.menu__submenu li:last-child::before { + height: 20px; +} +/* menu */ + +/* element-ui */ +.el-select{ + display: block; +} + +.el-select .el-select__input{ + cursor: pointer; + background-color: transparent; +} + +.el-select .el-select__input:focus{ + border-color: transparent; + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-color: transparent; +} + +.el-select .el-input .el-input__inner{ + margin-top: 0.25rem; + width: 100%; + border-radius: 0.5rem; + border-width: 1px; + --tw-border-opacity: 1; + border-color: rgb(199 201 217 / var(--tw-border-opacity)); + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); + padding-left: 0.75rem; + padding-right: 0.75rem; + padding-top: 0.625rem; + padding-bottom: 0.625rem; + font-size: 0.875rem; + line-height: 1.25rem; + --tw-text-opacity: 1; + color: rgb(66 66 66 / var(--tw-text-opacity)); +} + +.el-select .el-input .el-input__inner::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-select .el-input .el-input__inner::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-select .el-input .el-input__inner:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-select .el-input .el-input__inner::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-select .el-input .el-input__inner::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-select .el-input .el-input__inner:focus{ + --tw-border-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-border-opacity)); + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-color: transparent; +} + +.el-select .el-input .el-input__inner:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); +} + +.has-error .el-select .el-input .el-input__inner{ + --tw-border-opacity: 1; + border-color: rgb(204 0 0 / var(--tw-border-opacity)); +} + +.prepend-input-icon .el-select .el-input .el-input__inner{ + padding-left: 2.5rem; + padding-right: 2.5rem; +} + +.el-select .el-input .el-input__inner{ + height: auto; + color:#595959 !important; +} + +.el-select-dropdown .popper__arrow::after { + display: none; +} + +.el-color-picker--mini { + padding-right: unset !important; +} + +.el-color-picker--mini .el-color-picker__trigger { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.el-select-dropdown__item { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 36px; + line-height: 36px; + padding: 0 8px; +} + +.el-select-dropdown__item span{ + width: 100%; + border-radius: 0.5rem; + padding-left: 8px !important; + padding-right: 8px !important; +} + +.el-select-dropdown__item .material-icons { + padding-right: 0 !important; + padding-left: 0 !important; + width: auto; +} + +.el-select-dropdown__item .badge-success{ + position: absolute; + margin: 0px; + border-radius: 0.375rem; + --tw-bg-opacity: 1; + background-color: rgb(110 161 82 / var(--tw-bg-opacity)); + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + text-align: right; + font-size: 0.75rem; + line-height: 1rem; + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +[dir="ltr"] .el-select-dropdown__item .badge-success{ + right: 1rem; +} + +[dir="rtl"] .el-select-dropdown__item .badge-success{ + left: 1rem; +} + +.el-select-dropdown__item .badge-success { + width: auto; +} + +.el-select-dropdown__item .badge-success:hover { + background-color: #6ea152; +} + +.el-select-dropdown__item span:hover { + background-color: #F5F7FA; + } + + .el-select-dropdown__item.hover, .el-select-dropdown__item:hover { + background-color: transparent; + } + +.el-select__footer { + background-color: transparent !important; + border-top: 1px solid #D9D9D9; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + cursor: pointer !important; + margin-top: 8px; + margin-bottom: 0 !important; +} + +.el-select__footer:hover { + background-color: #55588b !important; +} + +.el-select__footer:hover span { + color: white !important; +} + +.el-select__footer span { + width: auto; + padding: 0 !important +} + +.el-select__footer span:hover { + background-color: transparent; +} + +.el-select-dropdown__list { + padding: 8px 0 0 0; +} + +.el-select-dropdown__item:last-child { + margin-bottom: 8px; +} + +.el-select .el-select__tags { + top: 54%; +} + +.el-select .el-select__tags .el-tag{ + --tw-bg-opacity: 1; + background-color: rgb(85 88 139 / var(--tw-bg-opacity)); + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.el-select .el-tag__close.el-icon-close{ + background-color: transparent; + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.el-tag.el-tag--info .el-tag__close:hover{ + background-color: transparent; +} + +.is-focus .el-select__caret { + -webkit-transform: rotateZ(0) !important; + transform: rotateZ(0) !important; +} + +.el-input.el-input--prefix.el-input--suffix .el-select__caret.el-input__icon.el-icon-:before { + content: "\e6e1"; +} + +.el-input .el-icon-circle-close { + -webkit-transform: unset !important; + transform: unset !important; + -webkit-transition: unset !important; + transition: unset !important; + margin-top: 3px; +} + +.el-date-editor input{ + margin-top: 0.25rem; + width: 100%; + border-radius: 0.5rem; + border-width: 1px; + --tw-border-opacity: 1; + border-color: rgb(199 201 217 / var(--tw-border-opacity)); + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); + padding-left: 0.75rem; + padding-right: 0.75rem; + padding-top: 0.625rem; + padding-bottom: 0.625rem; + font-size: 0.875rem; + line-height: 1.25rem; + --tw-text-opacity: 1; + color: rgb(66 66 66 / var(--tw-text-opacity)); +} + +.el-date-editor input::-webkit-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-date-editor input::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-date-editor input:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-date-editor input::-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-date-editor input::placeholder{ + --tw-placeholder-opacity: 1; + color: rgb(199 201 217 / var(--tw-placeholder-opacity)); +} + +.el-date-editor input:focus{ + --tw-border-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-border-opacity)); + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-color: transparent; +} + +.el-date-editor input:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); +} + +.has-error .el-date-editor input{ + --tw-border-opacity: 1; + border-color: rgb(204 0 0 / var(--tw-border-opacity)); +} + +.prepend-input-icon .el-date-editor input{ + padding-left: 2.5rem; + padding-right: 2.5rem; +} + +.el-date-editor input { + color: #595959 !important; +} + +.el-date-editor .el-input__prefix { + top: 3px; + left: 0; + color: #595959; +} + +.recurring-invoice-data { + width: 9rem !important; +} + +.recurring-invoice-data input { + padding: 0 25px !important; +} + +.el-color-picker__color { + margin-top: 13px !important; +} + +.el-color-picker--mini .el-color-picker__trigger { + height: 48px !important; +} + +.dashboard-picker.el-date-range-picker.el-popper.has-sidebar { + width: 900px !important; +} + +.dashboard-picker .el-picker-panel__sidebar { + width: 200px !important; +} + +.el-picker-panel__sidebar { + padding-left: 12px; +} + +html[dir='rtl'] .el-picker-panel__sidebar { + left: 0; +} + +.dashboard-picker .el-picker-panel__body { + width: 700px !important; + margin-left: 200px !important; +} + +.el-input__suffix[style*="direction:rtl"] { + left: 0; + right: unset !important; +} + +.flatpickr-day.selected { + background-color: #55588B !important; + border-color: #55588B !important; +} + +.el-date-editor .el-range-input::-webkit-input-placeholder { + color: #424242; +} + +.el-date-editor .el-range-input::-moz-placeholder { + color: #424242; +} + +.el-date-editor .el-range-input:-ms-input-placeholder { + color: #424242; +} + +.el-date-editor .el-range-input::-ms-input-placeholder { + color: #424242; +} + +.el-date-editor .el-range-input, .el-date-editor .el-range-input::placeholder { + color: #424242; +} + +.el-picker-panel__shortcut { + width: auto; + line-height: 20px; + border-bottom: 1px solid transparent; + padding-left: 0; + margin-bottom: 3px; +} + +.el-picker-panel__shortcut:hover { + color: #000000 !important; + border-bottom: 1px solid black; + -webkit-transition: all 0.2s ease-in; + transition: all 0.2s ease-in; +} + +html[dir='rtl'] .el-input__suffix { + left: 5px; + right: 0; + text-align: left; +} + +@media only screen and (max-width: 480px) { + .el-range-editor.el-input__inner { + width: 100%; + } + } + /* element-ui */ + + /* collapse */ + .active-collapse{ + opacity: 1; + height: auto; +} + +.active-collapse-animation { + height: 62px; +} + +.collapse-sub { + height: auto; + height: 0px; + overflow: hidden; + opacity: 0; + } +/* collapse */ + +.none-truncate { + overflow: initial; + text-overflow: unset; +} + +@media only screen and (max-width: 480px) { + .small-table-width { + width: 450px; + } + + .small-col { + width: auto !important; + } +} + +#nprogress .bar { + background: #A6A8C9 !important; + height: 5px !important; +} + +#nprogress .peg { + -webkit-box-shadow: none !important; + box-shadow: none !important; +} + +#nprogress .spinner .spinner-icon { + border-top-color: #55588b !important; + border-left-color: #55588b !important; +} + +.swiper-button-prev::after, .swiper-button-next::after{ + display: none; +} + +.swiper-pagination-bullet { + background-color: #7D7D7D !important; +} + +.swiper-pagination-bullet-active { + background-color: #7D7D7D !important; + border-radius: 1.5rem; + padding: 4px 15px; +} + +input[type=number]::-webkit-outer-spin-button, +input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +form { + -webkit-margin-after: 0; + margin-block-end: 0; +} + +body{ + --tw-text-opacity: 1; + color: rgb(66 66 66 / var(--tw-text-opacity)); + font-family: "Quicksand", sans-serif; + height: 100%; +} + +.before\:absolute::before{ + content: var(--tw-content); + position: absolute; +} + +.before\:-left-3\.5::before{ + content: var(--tw-content); + left: -0.875rem; +} + +.before\:-left-3::before{ + content: var(--tw-content); + left: -0.75rem; +} + +.before\:h-2::before{ + content: var(--tw-content); + height: 0.5rem; +} + +.before\:w-2::before{ + content: var(--tw-content); + width: 0.5rem; +} + +.before\:rotate-45::before{ + content: var(--tw-content); + --tw-rotate: 45deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.before\:transform::before{ + content: var(--tw-content); + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +@keyframes submit{ + + 0%{ + content: var(--tw-content); + -webkit-box-shadow: 0 28px 0 -28px #ffffff; + box-shadow: 0 28px 0 -28px #ffffff; + } + + 100%{ + content: var(--tw-content); + -webkit-box-shadow: 0 28px 0 #ffffff; + box-shadow: 0 28px 0 #ffffff; + } +} + +.before\:animate-submit::before{ + content: var(--tw-content); + -webkit-animation: submit 0.7s ease alternate infinite; + animation: submit 0.7s ease alternate infinite; +} + +.before\:rounded-full::before{ + content: var(--tw-content); + border-radius: 9999px; +} + +.before\:border::before{ + content: var(--tw-content); + border-width: 1px; +} + +.before\:border-t-0::before{ + content: var(--tw-content); + border-top-width: 0px; +} + +.before\:border-l-0::before{ + content: var(--tw-content); + border-left-width: 0px; +} + +.before\:border-b-0::before{ + content: var(--tw-content); + border-bottom-width: 0px; +} + +.before\:border-r-0::before{ + content: var(--tw-content); + border-right-width: 0px; +} + +.before\:border-gray-200::before{ + content: var(--tw-content); + --tw-border-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-border-opacity)); +} + +.before\:bg-white::before{ + content: var(--tw-content); + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.before\:bg-lilac-900::before{ + content: var(--tw-content); + --tw-bg-opacity: 1; + background-color: rgb(220 226 249 / var(--tw-bg-opacity)); +} + +.before\:delay-\[0\.14s\]::before{ + content: var(--tw-content); + -webkit-transition-delay: 0.14s; + transition-delay: 0.14s; +} + +.after\:h-0::after { + content: var(--tw-content); + height: auto; + } + +.after\:absolute::after{ + content: var(--tw-content); + position: absolute; +} + +.after\:-right-3\.5::after{ + content: var(--tw-content); + right: -0.875rem; +} + +.after\:-right-3::after{ + content: var(--tw-content); + right: -0.75rem; +} + +.after\:left-0::after{ + content: var(--tw-content); + left: 0px; +} + +.after\:right-0::after{ + content: var(--tw-content); + right: 0px; +} + +.after\:bottom-0::after{ + content: var(--tw-content); + bottom: 0px; +} + +.after\:h-2::after{ + content: var(--tw-content); + height: 0.5rem; +} + +.after\:h-0\.5::after{ + content: var(--tw-content); + height: 0.125rem; +} + +.after\:h-0::after{ + content: var(--tw-content); + height: 0px; +} + +.after\:w-2::after{ + content: var(--tw-content); + width: 0.5rem; +} + +.after\:w-full::after{ + content: var(--tw-content); + width: 100%; +} + +@keyframes submit{ + + 0%{ + content: var(--tw-content); + -webkit-box-shadow: 0 28px 0 -28px #ffffff; + box-shadow: 0 28px 0 -28px #ffffff; + } + + 100%{ + content: var(--tw-content); + -webkit-box-shadow: 0 28px 0 #ffffff; + box-shadow: 0 28px 0 #ffffff; + } +} + +.after\:animate-submit::after{ + content: var(--tw-content); + -webkit-animation: submit 0.7s ease alternate infinite; + animation: submit 0.7s ease alternate infinite; +} + +.after\:rounded-full::after{ + content: var(--tw-content); + border-radius: 9999px; +} + +.after\:rounded-tl-md::after{ + content: var(--tw-content); + border-top-left-radius: 0.375rem; +} + +.after\:rounded-tr-md::after{ + content: var(--tw-content); + border-top-right-radius: 0.375rem; +} + +.after\:bg-purple::after{ + content: var(--tw-content); + --tw-bg-opacity: 1; + background-color: rgb(85 88 139 / var(--tw-bg-opacity)); +} + +.after\:delay-\[0\.42s\]::after{ + content: var(--tw-content); + -webkit-transition-delay: 0.42s; + transition-delay: 0.42s; +} + +.hover\:translate-y-0:hover{ + --tw-translate-y: 0px; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.hover\:scale-125:hover{ + --tw-scale-x: 1.25; + --tw-scale-y: 1.25; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.hover\:rounded-lg:hover{ + border-radius: 0.5rem; +} + +.hover\:rounded-md:hover{ + border-radius: 0.375rem; +} + +.hover\:border-black:hover{ + --tw-border-opacity: 1; + border-color: rgb(66 66 66 / var(--tw-border-opacity)); +} + +.hover\:border-white:hover{ + --tw-border-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-border-opacity)); +} + +.hover\:border-purple:hover{ + --tw-border-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-border-opacity)); +} + +.hover\:border-black-400:hover{ + --tw-border-opacity: 1; + border-color: rgb(123 123 123 / var(--tw-border-opacity)); +} + +.hover\:border-green-700:hover{ + --tw-border-opacity: 1; + border-color: rgb(83 121 62 / var(--tw-border-opacity)); +} + +.hover\:bg-gray-100:hover{ + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} + +.hover\:bg-lilac-100:hover{ + --tw-bg-opacity: 1; + background-color: rgb(245 247 250 / var(--tw-bg-opacity)); +} + +.hover\:bg-gray-200:hover{ + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); +} + +.hover\:bg-green-700:hover{ + --tw-bg-opacity: 1; + background-color: rgb(83 121 62 / var(--tw-bg-opacity)); +} + +.hover\:bg-purple:hover{ + --tw-bg-opacity: 1; + background-color: rgb(85 88 139 / var(--tw-bg-opacity)); +} + +.hover\:bg-blue-500:hover{ + --tw-bg-opacity: 1; + background-color: rgb(0 110 166 / var(--tw-bg-opacity)); +} + +.hover\:bg-purple-700:hover{ + --tw-bg-opacity: 1; + background-color: rgb(64 66 104 / var(--tw-bg-opacity)); +} + +.hover\:bg-gray-700:hover{ + --tw-bg-opacity: 1; + background-color: rgb(55 65 81 / var(--tw-bg-opacity)); +} + +.hover\:bg-lilac-300:hover{ + --tw-bg-opacity: 1; + background-color: rgb(237 240 252 / var(--tw-bg-opacity)); +} + +.hover\:bg-transparent:hover{ + background-color: transparent; +} + +.hover\:bg-gray-50:hover{ + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); +} + +.hover\:bg-red-700:hover{ + --tw-bg-opacity: 1; + background-color: rgb(153 0 0 / var(--tw-bg-opacity)); +} + +.hover\:bg-lilac-900:hover{ + --tw-bg-opacity: 1; + background-color: rgb(220 226 249 / var(--tw-bg-opacity)); +} + +.hover\:bg-gray-300:hover{ + --tw-bg-opacity: 1; + background-color: rgb(209 213 219 / var(--tw-bg-opacity)); +} + +.hover\:bg-opacity-100:hover{ + --tw-bg-opacity: 1; +} + +.hover\:font-bold:hover{ + font-weight: 700; +} + +.hover\:font-medium:hover{ + font-weight: 500; +} + +.hover\:font-semibold:hover{ + font-weight: 600; +} + +.hover\:text-black-700:hover{ + --tw-text-opacity: 1; + color: rgb(50 50 50 / var(--tw-text-opacity)); +} + +.hover\:text-white:hover{ + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.hover\:text-black:hover{ + --tw-text-opacity: 1; + color: rgb(66 66 66 / var(--tw-text-opacity)); +} + +.hover\:text-purple-700:hover{ + --tw-text-opacity: 1; + color: rgb(64 66 104 / var(--tw-text-opacity)); +} + +.hover\:text-purple:hover{ + --tw-text-opacity: 1; + color: rgb(85 88 139 / var(--tw-text-opacity)); +} + +.hover\:text-gray-500:hover{ + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + +.hover\:text-gray-400:hover{ + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} + +.hover\:text-gray-700:hover{ + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); +} + +.hover\:text-green-700:hover{ + --tw-text-opacity: 1; + color: rgb(83 121 62 / var(--tw-text-opacity)); +} + +.hover\:underline:hover{ + -webkit-text-decoration-line: underline; + text-decoration-line: underline; +} + +.hover\:shadow-md:hover{ + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.hover\:shadow-2xl:hover{ + --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.hover\:shadow-lg:hover{ + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.focus\:z-10:focus{ + z-index: 10; +} + +.focus\:border-purple:focus{ + --tw-border-opacity: 1; + border-color: rgb(85 88 139 / var(--tw-border-opacity)); +} + +.focus\:border-transparent:focus{ + border-color: transparent; +} + +.focus\:border-blue-300:focus{ + --tw-border-opacity: 1; + border-color: rgb(153 197 219 / var(--tw-border-opacity)); +} + +.focus\:border-purple-100:focus{ + --tw-border-opacity: 1; + border-color: rgb(238 238 243 / var(--tw-border-opacity)); +} + +.focus\:outline-none:focus{ + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus\:ring-purple:focus{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(85 88 139 / var(--tw-ring-opacity)); +} + +.focus\:ring-transparent:focus{ + --tw-ring-color: transparent; +} + +.active\:bg-gray-100:active{ + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} + +.active\:text-gray-700:active{ + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); +} + +.active\:text-gray-500:active{ + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + +.disabled\:bg-green-100:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(241 246 238 / var(--tw-bg-opacity)); +} + +.disabled\:bg-blue-100:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(230 241 246 / var(--tw-bg-opacity)); +} + +.disabled\:bg-purple-100:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(238 238 243 / var(--tw-bg-opacity)); +} + +.disabled\:bg-gray-50:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); +} + +.disabled\:bg-gray-200:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); +} + +.disabled\:bg-green-300:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(197 217 186 / var(--tw-bg-opacity)); +} + +.disabled\:opacity-50:disabled{ + opacity: 0.5; +} + +.group:hover .group-hover\:flex{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.group:hover .group-hover\:translate-x-1{ + --tw-translate-x: 0.25rem; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.group:hover .group-hover\:border-black-400{ + --tw-border-opacity: 1; + border-color: rgb(123 123 123 / var(--tw-border-opacity)); +} + +.group:hover .group-hover\:border-black{ + --tw-border-opacity: 1; + border-color: rgb(66 66 66 / var(--tw-border-opacity)); +} + +.group:hover .group-hover\:bg-gray-900{ + --tw-bg-opacity: 1; + background-color: rgb(17 24 39 / var(--tw-bg-opacity)); +} + +.group:hover .group-hover\:bg-gray-100{ + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} + +.group:hover .group-hover\:text-purple-700{ + --tw-text-opacity: 1; + color: rgb(64 66 104 / var(--tw-text-opacity)); +} + +.group:hover .group-hover\:text-gray-500{ + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + +.group:hover .group-hover\:text-white{ + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.group:hover .group-hover\:opacity-100{ + opacity: 1; +} + +[dir="ltr"] .ltr\:-right-1\.5{ + right: -0.375rem; +} + +[dir="ltr"] .ltr\:-right-1{ + right: -0.25rem; +} + +[dir="ltr"] .ltr\:right-0{ + right: 0px; +} + +[dir="ltr"] .ltr\:-left-80{ + left: -20rem; +} + +[dir="ltr"] .ltr\:right-12{ + right: 3rem; +} + +[dir="ltr"] .ltr\:-right-2{ + right: -0.5rem; +} + +[dir="ltr"] .ltr\:left-12{ + left: 3rem; +} + +[dir="ltr"] .ltr\:left-14{ + left: 3.5rem; +} + +[dir="ltr"] .ltr\:left-0{ + left: 0px; +} + +[dir="ltr"] .ltr\:left-3{ + left: 0.75rem; +} + +[dir="ltr"] .ltr\:left-8{ + left: 2rem; +} + +[dir="ltr"] .ltr\:-right-8{ + right: -2rem; +} + +[dir="ltr"] .ltr\:-left-8{ + left: -2rem; +} + +[dir="ltr"] .ltr\:right-2{ + right: 0.5rem; +} + +[dir="ltr"] .ltr\:right-4{ + right: 1rem; +} + +[dir="ltr"] .ltr\:mr-4{ + margin-right: 1rem; +} + +[dir="ltr"] .ltr\:ml-3{ + margin-left: 0.75rem; +} + +[dir="ltr"] .ltr\:ml-2{ + margin-left: 0.5rem; +} + +[dir="ltr"] .ltr\:mr-2{ + margin-right: 0.5rem; +} + +[dir="ltr"] .ltr\:mr-3{ + margin-right: 0.75rem; +} + +[dir="ltr"] .ltr\:mr-1{ + margin-right: 0.25rem; +} + +[dir="ltr"] .ltr\:ml-1{ + margin-left: 0.25rem; +} + +[dir="ltr"] .ltr\:ml-4{ + margin-left: 1rem; +} + +[dir="ltr"] .ltr\:-ml-7{ + margin-left: -1.75rem; +} + +[dir="ltr"] .ltr\:rotate-90{ + --tw-rotate: 90deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +[dir="ltr"] .ltr\:-rotate-90{ + --tw-rotate: -90deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +[dir="ltr"] .ltr\:pr-6{ + padding-right: 1.5rem; +} + +[dir="ltr"] .ltr\:pl-6{ + padding-left: 1.5rem; +} + +[dir="ltr"] .ltr\:pr-0{ + padding-right: 0px; +} + +[dir="ltr"] .ltr\:pl-3{ + padding-left: 0.75rem; +} + +[dir="ltr"] .ltr\:pl-8{ + padding-left: 2rem; +} + +[dir="ltr"] .ltr\:pl-2{ + padding-left: 0.5rem; +} + +[dir="ltr"] .ltr\:pr-4{ + padding-right: 1rem; +} + +[dir="ltr"] .ltr\:pr-3{ + padding-right: 0.75rem; +} + +[dir="ltr"] .ltr\:pl-10{ + padding-left: 2.5rem; +} + +[dir="ltr"] .ltr\:pr-10{ + padding-right: 2.5rem; +} + +[dir="ltr"] .ltr\:text-left{ + text-align: left; +} + +[dir="ltr"] .ltr\:text-right{ + text-align: right; +} + +[dir="rtl"] .rtl\:-left-1\.5{ + left: -0.375rem; +} + +[dir="rtl"] .rtl\:-left-1{ + left: -0.25rem; +} + +[dir="rtl"] .rtl\:left-0{ + left: 0px; +} + +[dir="rtl"] .rtl\:-right-80{ + right: -20rem; +} + +[dir="rtl"] .rtl\:left-12{ + left: 3rem; +} + +[dir="rtl"] .rtl\:-left-2{ + left: -0.5rem; +} + +[dir="rtl"] .rtl\:right-12{ + right: 3rem; +} + +[dir="rtl"] .rtl\:right-14{ + right: 3.5rem; +} + +[dir="rtl"] .rtl\:right-0{ + right: 0px; +} + +[dir="rtl"] .rtl\:right-3{ + right: 0.75rem; +} + +[dir="rtl"] .rtl\:right-8{ + right: 2rem; +} + +[dir="rtl"] .rtl\:-left-8{ + left: -2rem; +} + +[dir="rtl"] .rtl\:-right-8{ + right: -2rem; +} + +[dir="rtl"] .rtl\:left-2{ + left: 0.5rem; +} + +[dir="rtl"] .rtl\:left-4{ + left: 1rem; +} + +[dir="rtl"] .rtl\:float-left{ + float: left; +} + +[dir="rtl"] .rtl\:m-4{ + margin: 1rem; +} + +[dir="rtl"] .rtl\:ml-4{ + margin-left: 1rem; +} + +[dir="rtl"] .rtl\:mr-3{ + margin-right: 0.75rem; +} + +[dir="rtl"] .rtl\:mr-2{ + margin-right: 0.5rem; +} + +[dir="rtl"] .rtl\:ml-2{ + margin-left: 0.5rem; +} + +[dir="rtl"] .rtl\:ml-3{ + margin-left: 0.75rem; +} + +[dir="rtl"] .rtl\:ml-1{ + margin-left: 0.25rem; +} + +[dir="rtl"] .rtl\:mr-1{ + margin-right: 0.25rem; +} + +[dir="rtl"] .rtl\:mr-4{ + margin-right: 1rem; +} + +[dir="rtl"] .rtl\:-mr-7{ + margin-right: -1.75rem; +} + +[dir="rtl"] .rtl\:rotate-180{ + --tw-rotate: 180deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +[dir="rtl"] .rtl\:-rotate-90{ + --tw-rotate: -90deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +[dir="rtl"] .rtl\:rotate-90{ + --tw-rotate: 90deg; + -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +[dir="rtl"] .rtl\:space-x-reverse > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 1; +} + +[dir="rtl"] .rtl\:pl-6{ + padding-left: 1.5rem; +} + +[dir="rtl"] .rtl\:pr-6{ + padding-right: 1.5rem; +} + +[dir="rtl"] .rtl\:pl-0{ + padding-left: 0px; +} + +[dir="rtl"] .rtl\:pr-0{ + padding-right: 0px; +} + +[dir="rtl"] .rtl\:pr-3{ + padding-right: 0.75rem; +} + +[dir="rtl"] .rtl\:pr-8{ + padding-right: 2rem; +} + +[dir="rtl"] .rtl\:pr-2{ + padding-right: 0.5rem; +} + +[dir="rtl"] .rtl\:pl-4{ + padding-left: 1rem; +} + +[dir="rtl"] .rtl\:pl-3{ + padding-left: 0.75rem; +} + +[dir="rtl"] .rtl\:pr-10{ + padding-right: 2.5rem; +} + +[dir="rtl"] .rtl\:pl-10{ + padding-left: 2.5rem; +} + +[dir="rtl"] .rtl\:text-left{ + text-align: left; +} + +[dir="rtl"] .rtl\:text-right{ + text-align: right; +} + +@media (min-width: 640px){ + + .sm\:col-span-6{ + grid-column: span 6 / span 6; + } + + .sm\:col-span-3{ + grid-column: span 3 / span 3; + } + + .sm\:col-span-2{ + grid-column: span 2 / span 2; + } + + .sm\:col-span-4{ + grid-column: span 4 / span 4; + } + + .sm\:col-span-1{ + grid-column: span 1 / span 1; + } + + .sm\:col-span-8{ + grid-column: span 8 / span 8; + } + + .sm\:col-span-7{ + grid-column: span 7 / span 7; + } + + .sm\:row-span-2{ + grid-row: span 2 / span 2; + } + + .sm\:row-span-3{ + grid-row: span 3 / span 3; + } + + .sm\:mt-12{ + margin-top: 3rem; + } + + .sm\:mb-0{ + margin-bottom: 0px; + } + + .sm\:-mt-24{ + margin-top: -6rem; + } + + .sm\:mt-10{ + margin-top: 2.5rem; + } + + .sm\:mt-2{ + margin-top: 0.5rem; + } + + .sm\:mt-0{ + margin-top: 0px; + } + + .sm\:block{ + display: block; + } + + .sm\:flex{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + } + + .sm\:table-cell{ + display: table-cell; + } + + .sm\:hidden{ + display: none; + } + + .sm\:w-6\/12{ + width: 50%; + } + + .sm\:w-3\/12{ + width: 25%; + } + + .sm\:w-5\/12{ + width: 41.666667%; + } + + .sm\:w-2\/12{ + width: 16.666667%; + } + + .sm\:w-4\/12{ + width: 33.333333%; + } + + .sm\:w-1\/12{ + width: 8.333333%; + } + + .sm\:w-1\/3{ + width: 33.333333%; + } + + .sm\:flex-1{ + -webkit-box-flex: 1; + -ms-flex: 1 1 0%; + flex: 1 1 0%; + } + + .sm\:grid-cols-6{ + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + + .sm\:grid-cols-10{ + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + + .sm\:grid-cols-4{ + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + .sm\:grid-cols-3{ + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .sm\:grid-cols-7{ + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + + .sm\:grid-cols-8{ + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + + .sm\:flex-row{ + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + + .sm\:items-center{ + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .sm\:justify-start{ + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + + .sm\:justify-between{ + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + } + + .sm\:gap-0{ + gap: 0px; + } + + .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); + } + + .sm\:space-y-2 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); + } + + .sm\:divide-x-2 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-x-reverse: 0; + border-right-width: calc(2px * var(--tw-divide-x-reverse)); + border-left-width: calc(2px * calc(1 - var(--tw-divide-x-reverse))); + } + + .sm\:text-6xl{ + font-size: 2.5rem; + line-height: 2.75rem; + } + + [dir="rtl"] .sm\:rtl\:space-x-reverse > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 1; + } +} + +@media (min-width: 768px){ + + .md\:w-6\/12{ + width: 50%; + } + + .md\:flex-row{ + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } +} + +@media (min-width: 1024px){ + + .lg\:absolute{ + position: absolute; + } + + .lg\:right-24{ + right: 6rem; + } + + .lg\:col-span-5{ + grid-column: span 5 / span 5; + } + + .lg\:my-0{ + margin-top: 0px; + margin-bottom: 0px; + } + + .lg\:mt-2{ + margin-top: 0.5rem; + } + + .lg\:mt-60{ + margin-top: 15rem; + } + + .lg\:mt-8{ + margin-top: 2rem; + } + + .lg\:mt-0{ + margin-top: 0px; + } + + .lg\:mb-0{ + margin-bottom: 0px; + } + + .lg\:mt-20{ + margin-top: 5rem; + } + + .lg\:block{ + display: block; + } + + .lg\:flex{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + } + + .lg\:hidden{ + display: none; + } + + .lg\:h-64{ + height: 16rem; + } + + .lg\:h-48{ + height: 12rem; + } + + .lg\:h-60{ + height: 15rem; + } + + .lg\:h-4{ + height: 1rem; + } + + .lg\:w-1\/2{ + width: 50%; + } + + .lg\:w-11\/12{ + width: 91.666667%; + } + + .lg\:w-1\/12{ + width: 8.333333%; + } + + .lg\:w-80{ + width: 20rem; + } + + .lg\:w-8\/12{ + width: 66.666667%; + } + + .lg\:w-46{ + width: 46.875rem; + } + + .lg\:w-3\/5{ + width: 60%; + } + + .lg\:w-2\/12{ + width: 16.666667%; + } + + .lg\:w-7\/12{ + width: 58.333333%; + } + + .lg\:w-5\/12{ + width: 41.666667%; + } + + .lg\:w-full{ + width: 100%; + } + + .lg\:w-1\/3{ + width: 33.333333%; + } + + .lg\:w-2\/3{ + width: 66.666667%; + } + + .lg\:w-1\/4{ + width: 25%; + } + + .lg\:w-6\/12{ + width: 50%; + } + + .lg\:w-4\/12{ + width: 33.333333%; + } + + .lg\:w-4{ + width: 1rem; + } + + .lg\:w-2\/4{ + width: 50%; + } + + .lg\:w-3\/4{ + width: 75%; + } + + .lg\:max-w-7xl{ + max-width: 80rem; + } + + .lg\:max-w-6xl{ + max-width: 72rem; + } + + .lg\:flex-row{ + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + + .lg\:flex-row-reverse{ + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + + .lg\:flex-col{ + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + } + + .lg\:flex-nowrap{ + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + + .lg\:items-center{ + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .lg\:justify-end{ + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + } + + .lg\:justify-center{ + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + } + + .lg\:gap-16{ + gap: 4rem; + } + + .lg\:space-y-0 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0px * var(--tw-space-y-reverse)); + } + + .lg\:space-x-24 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(6rem * var(--tw-space-x-reverse)); + margin-left: calc(6rem * calc(1 - var(--tw-space-x-reverse))); + } + + .lg\:divide-y-0 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-y-reverse: 0; + border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(0px * var(--tw-divide-y-reverse)); + } + + .lg\:divide-x > :not([hidden]) ~ :not([hidden]){ + --tw-divide-x-reverse: 0; + border-right-width: calc(1px * var(--tw-divide-x-reverse)); + border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); + } + + .lg\:overflow-visible{ + overflow: visible; + } + + .lg\:px-24{ + padding-left: 6rem; + padding-right: 6rem; + } + + .lg\:py-0{ + padding-top: 0px; + padding-bottom: 0px; + } + + .lg\:px-12{ + padding-left: 3rem; + padding-right: 3rem; + } + + .lg\:pl-24{ + padding-left: 6rem; + } + + .lg\:pl-12{ + padding-left: 3rem; + } + + .lg\:pt-0{ + padding-top: 0px; + } + + .lg\:pl-8{ + padding-left: 2rem; + } + + .lg\:pr-0{ + padding-right: 0px; + } + + .lg\:text-8xl{ + font-size: 3rem; + line-height: 3.25rem; + } + + .lg\:text-7xl{ + font-size: 2.75rem; + line-height: 3rem; + } + + .lg\:text-2xl{ + font-size: 1.375rem; + line-height: 1.5rem; + } + + .lg\:text-5xl{ + font-size: 2.25rem; + line-height: 2.5rem; + } + + .lg\:text-lg{ + font-size: 1.125rem; + line-height: 1.75rem; + } + + [dir="ltr"] .lg\:ltr\:right-0{ + right: 0px; + } + + [dir="ltr"] .lg\:ltr\:pr-12{ + padding-right: 3rem; + } + + [dir="ltr"] .lg\:ltr\:pl-12{ + padding-left: 3rem; + } + + [dir="ltr"] .lg\:ltr\:pl-24{ + padding-left: 6rem; + } + + [dir="ltr"] .lg\:ltr\:pl-8{ + padding-left: 2rem; + } + + [dir="rtl"] .lg\:rtl\:left-0{ + left: 0px; + } + + [dir="rtl"] .lg\:rtl\:pl-12{ + padding-left: 3rem; + } + + [dir="rtl"] .lg\:rtl\:pr-12{ + padding-right: 3rem; + } + + [dir="rtl"] .lg\:rtl\:pr-24{ + padding-right: 6rem; + } + + [dir="rtl"] .lg\:rtl\:pr-8{ + padding-right: 2rem; + } +} + +@media (min-width: 1280px){ + + .xl\:top-28{ + top: 7rem; + } + + .xl\:-top-12{ + top: -3rem; + } + + .xl\:z-10{ + z-index: 10; + } + + .xl\:col-span-2{ + grid-column: span 2 / span 2; + } + + .xl\:m-0{ + margin: 0px; + } + + .xl\:-ml-64{ + margin-left: -16rem; + } + + .xl\:mt-9\.5{ + margin-top: 2.45rem; + } + + .xl\:mt-9{ + margin-top: 2.25rem; + } + + .xl\:hidden{ + display: none; + } + + .xl\:h-6{ + height: 1.5rem; + } + + .xl\:w-2\/3{ + width: 66.666667%; + } + + .xl\:w-6{ + width: 1.5rem; + } + + .xl\:justify-start{ + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + + .xl\:pt-6{ + padding-top: 1.5rem; + } + + .xl\:text-5xl{ + font-size: 2.25rem; + line-height: 2.5rem; + } + + [dir="ltr"] .xl\:ltr\:left-0{ + left: 0px; + } + + [dir="ltr"] .xl\:ltr\:ml-64{ + margin-left: 16rem; + } + + [dir="ltr"] .xl\:ltr\:ml-0{ + margin-left: 0px; + } + + [dir="rtl"] .xl\:rtl\:right-0{ + right: 0px; + } + + [dir="rtl"] .xl\:rtl\:mr-64{ + margin-right: 16rem; + } + + [dir="rtl"] .xl\:rtl\:mr-0{ + margin-right: 0px; + } +} + +@media (min-width: 1536px){ + + .\32xl\:h-8{ + height: 2rem; + } + + .\32xl\:w-8{ + width: 2rem; + } +} + diff --git a/public/css/argon.css b/public/css/argon.css deleted file mode 100644 index 061ad0f01..000000000 --- a/public/css/argon.css +++ /dev/null @@ -1,21 +0,0 @@ -/*! - -========================================================= -* Vue Argon Dashboard PRO - v1.1.0 -========================================================= - -* Product Page: https://www.creative-tim.com/product/argon-dashboard -* Copyright 2019 Creative Tim (https://www.creative-tim.com) - -* Coded by www.creative-tim.com - -========================================================= - -* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -*/:root{--blue:#5e72e4;--indigo:#5603ad;--purple:#8965e0;--pink:#f3a4b5;--red:#f5365c;--orange:#fb6340;--yellow:#ffd600;--green:#2dce89;--teal:#11cdef;--cyan:#2bffc6;--gray:#8898aa;--gray-dark:#32325d;--light:#ced4da;--lighter:#e9ecef;--primary:#5e72e4;--secondary:#f7fafc;--success:#2dce89;--info:#11cdef;--warning:#fb6340;--danger:#f5365c;--light:#adb5bd;--dark:#212529;--default:#172b4d;--white:#fff;--neutral:#fff;--darker:#000;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:Open Sans,sans-serif;--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Open Sans,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#525f7f;text-align:left;background-color:#f8f9fe}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#5e72e4;background-color:transparent}a,a:hover{text-decoration:none}a:hover{color:#233dd2}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:1rem;padding-bottom:1rem;color:#8898aa;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}@media (max-width:1200px){legend{font-size:calc(1.275rem + .3vw)}}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:600;line-height:1.5;color:#32325d}.h1,h1{font-size:1.625rem}@media (max-width:1200px){.h1,h1{font-size:calc(1.2875rem + .45vw)}}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1.0625rem}.h4,h4{font-size:.9375rem}.h5,h5{font-size:.8125rem}.h6,h6{font-size:.625rem}.display-1{font-size:3.3rem;font-weight:600;line-height:1.5}@media (max-width:1200px){.display-1{font-size:calc(1.455rem + 2.46vw)}}.display-2{font-size:2.75rem;font-weight:600;line-height:1.5}@media (max-width:1200px){.display-2{font-size:calc(1.4rem + 1.8vw)}}.display-3{font-size:2.1875rem;font-weight:600;line-height:1.5}@media (max-width:1200px){.display-3{font-size:calc(1.34375rem + 1.125vw)}}.display-4{font-size:1.6275rem;font-weight:600;line-height:1.5}@media (max-width:1200px){.display-4{font-size:calc(1.28775rem + .453vw)}}hr{margin-top:2rem;margin-bottom:2rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#8898aa}.blockquote-footer:before{content:"\2014\A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#f8f9fe;border:1px solid #dee2e6;border-radius:.375rem;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#8898aa}code{font-size:87.5%;color:#f3a4b5;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.25rem;-webkit-box-shadow:inset 0 -.1rem 0 rgba(0,0,0,.25);box-shadow:inset 0 -.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:600;-webkit-box-shadow:none;box-shadow:none}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1,.col-auto{-webkit-box-flex:0}.col-1{-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-2,.col-3{-webkit-box-flex:0}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-4,.col-5{-webkit-box-flex:0}.col-5{-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-6,.col-7{-webkit-box-flex:0}.col-7{-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-8,.col-9{-webkit-box-flex:0}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-10,.col-11{-webkit-box-flex:0}.col-11{-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-sm-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-md-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-lg-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-xl-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333333%;flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.66666667%;flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333333%;flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.66666667%;flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333333%;flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.66666667%;flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333333%;flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.66666667%;flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#525f7f;background-color:transparent}.table td,.table th{padding:1rem;vertical-align:top;border-top:1px solid #e9ecef}.table thead th{vertical-align:bottom;border-bottom:2px solid #e9ecef}.table tbody+tbody{border-top:2px solid #e9ecef}.table-sm td,.table-sm th{padding:.5rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #e9ecef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(246,249,252,.3)}.table-hover tbody tr:hover{color:#525f7f;background-color:#f6f9fc}.table-primary,.table-primary>td,.table-primary>th{background-color:#d2d8f7}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#abb6f1}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#bcc5f3}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#fdfefe}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#fbfcfd}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#ecf6f6}.table-success,.table-success>td,.table-success>th{background-color:#c4f1de}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#92e6c2}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#afecd2}.table-info,.table-info>td,.table-info>th{background-color:#bcf1fb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#83e5f7}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a4ecfa}.table-warning,.table-warning>td,.table-warning>th{background-color:#fed3ca}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#fdae9c}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#febeb1}.table-danger,.table-danger>td,.table-danger>th{background-color:#fcc7d1}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#fa96aa}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#fbafbd}.table-light,.table-light>td,.table-light>th{background-color:#e8eaed}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#d4d9dd}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#dadde2}.table-dark,.table-dark>td,.table-dark>th{background-color:#c1c2c3}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#8c8e90}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b4b5b6}.table-default,.table-default>td,.table-default>th{background-color:#bec4cd}.table-default tbody+tbody,.table-default td,.table-default th,.table-default thead th{border-color:#8691a2}.table-hover .table-default:hover,.table-hover .table-default:hover>td,.table-hover .table-default:hover>th{background-color:#b0b7c2}.table-white,.table-white>td,.table-white>th{background-color:#fff}.table-white tbody+tbody,.table-white td,.table-white th,.table-white thead th{border-color:#fff}.table-hover .table-white:hover,.table-hover .table-white:hover>td,.table-hover .table-white:hover>th{background-color:#f2f2f2}.table-neutral,.table-neutral>td,.table-neutral>th{background-color:#fff}.table-neutral tbody+tbody,.table-neutral td,.table-neutral th,.table-neutral thead th{border-color:#fff}.table-hover .table-neutral:hover,.table-hover .table-neutral:hover>td,.table-hover .table-neutral:hover>th{background-color:#f2f2f2}.table-darker,.table-darker>td,.table-darker>th{background-color:#b8b8b8}.table-darker tbody+tbody,.table-darker td,.table-darker th,.table-darker thead th{border-color:#7a7a7a}.table-hover .table-darker:hover,.table-hover .table-darker:hover>td,.table-hover .table-darker:hover>th{background-color:#ababab}.table-active,.table-active>td,.table-active>th{background-color:#f6f9fc}.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:#e3ecf6}.table .thead-dark th{color:#f8f9fe;background-color:#172b4d;border-color:#1f3a68}.table .thead-light th{color:#8898aa;background-color:#f6f9fc;border-color:#e9ecef}.table-dark{color:#f8f9fe;background-color:#172b4d}.table-dark td,.table-dark th,.table-dark thead th{border-color:#1f3a68}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#f8f9fe;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + 1.25rem + 2px);padding:.625rem .75rem;font-weight:400;line-height:1.5;color:#8898aa;background-color:#fff;background-clip:padding-box;border:1px solid #dee2e6;border-radius:.25rem;-webkit-box-shadow:0 3px 2px rgba(233,236,239,.05);box-shadow:0 3px 2px rgba(233,236,239,.05);-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #8898aa}.form-control:focus{color:#8898aa;background-color:#fff;border-color:#5e72e4;outline:0;-webkit-box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1);box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.form-control::-webkit-input-placeholder{color:#adb5bd;opacity:1}.form-control::-moz-placeholder{color:#adb5bd;opacity:1}.form-control:-ms-input-placeholder{color:#adb5bd;opacity:1}.form-control::-ms-input-placeholder{color:#adb5bd;opacity:1}.form-control::placeholder{color:#adb5bd;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#8898aa;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.625rem + 1px);padding-bottom:calc(.625rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.875rem + 1px);padding-bottom:calc(.875rem + 1px);font-size:.875rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.75rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.625rem 0;margin-bottom:0;font-size:.875rem;line-height:1.5;color:#525f7f;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.25rem}.form-control-lg{height:calc(1.5em + 1.75rem + 2px);padding:.875rem 1rem;font-size:.875rem;line-height:1.5;border-radius:.4375rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1.5rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#8898aa}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#2dce89}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(45,206,137,.8);border-radius:.2rem}.custom-select.is-valid,.custom-select.is-valid:focus,.form-control.is-valid,.form-control.is-valid:focus,.was-validated .custom-select:valid,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid,.was-validated .form-control:valid:focus{border-color:#2dce89}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#2dce89}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#2dce89}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{background-color:#93e7c3;border-color:#93e7c3}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#54daa1;border-color:#93e7c3}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{-webkit-box-shadow:0 0 0 1px #f8f9fe,0 0 0 0 rgba(45,206,137,.25);box-shadow:0 0 0 1px #f8f9fe,0 0 0 0 rgba(45,206,137,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#2dce89}.custom-file-input.is-valid~.custom-file-label:before,.was-validated .custom-file-input:valid~.custom-file-label:before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{-webkit-box-shadow:0 0 0 0 rgba(45,206,137,.25);box-shadow:0 0 0 0 rgba(45,206,137,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#fb6340}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(251,99,64,.8);border-radius:.2rem}.custom-select.is-invalid,.custom-select.is-invalid:focus,.form-control.is-invalid,.form-control.is-invalid:focus,.was-validated .custom-select:invalid,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid,.was-validated .form-control:invalid:focus{border-color:#fb6340}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#fb6340}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#fb6340}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{background-color:#fec9bd;border-color:#fec9bd}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#fc8c72;border-color:#fec9bd}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{-webkit-box-shadow:0 0 0 1px #f8f9fe,0 0 0 0 rgba(251,99,64,.25);box-shadow:0 0 0 1px #f8f9fe,0 0 0 0 rgba(251,99,64,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#fb6340}.custom-file-input.is-invalid~.custom-file-label:before,.was-validated .custom-file-input:invalid~.custom-file-label:before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{-webkit-box-shadow:0 0 0 0 rgba(251,99,64,.25);box-shadow:0 0 0 0 rgba(251,99,64,.25)}.form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .form-group,.form-inline label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center;margin-bottom:0}.form-inline .form-group{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:600;color:#525f7f;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.625rem 1.25rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{-webkit-transition:none;transition:none}}.btn:hover{color:#525f7f;text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08);box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08)}.btn.disabled,.btn:disabled{opacity:.65}.btn.disabled,.btn:disabled,.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{-webkit-box-shadow:none;box-shadow:none}.btn:not(:disabled):not(.disabled).active:focus,.btn:not(:disabled):not(.disabled):active:focus{-webkit-box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08);box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08)}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-primary,.btn-primary:hover{color:#fff;background-color:#5e72e4;border-color:#5e72e4}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(94,114,228,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(94,114,228,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#5e72e4;border-color:#5e72e4}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#324cdd;border-color:#5e72e4}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(94,114,228,.5);box-shadow:none,0 0 0 0 rgba(94,114,228,.5)}.btn-secondary{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-secondary,.btn-secondary:hover{color:#212529;background-color:#f7fafc;border-color:#f7fafc}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(247,250,252,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(247,250,252,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#212529;background-color:#f7fafc;border-color:#f7fafc}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#212529;background-color:#d2e3ee;border-color:#f7fafc}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(247,250,252,.5);box-shadow:none,0 0 0 0 rgba(247,250,252,.5)}.btn-success{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-success,.btn-success:hover{color:#fff;background-color:#2dce89;border-color:#2dce89}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(45,206,137,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(45,206,137,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#2dce89;border-color:#2dce89}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#24a46d;border-color:#2dce89}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(45,206,137,.5);box-shadow:none,0 0 0 0 rgba(45,206,137,.5)}.btn-info{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-info,.btn-info:hover{color:#fff;background-color:#11cdef;border-color:#11cdef}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(17,205,239,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(17,205,239,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#11cdef;border-color:#11cdef}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0da5c0;border-color:#11cdef}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(17,205,239,.5);box-shadow:none,0 0 0 0 rgba(17,205,239,.5)}.btn-warning{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-warning,.btn-warning:hover{color:#fff;background-color:#fb6340;border-color:#fb6340}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(251,99,64,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(251,99,64,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#fb6340;border-color:#fb6340}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#fa3a0e;border-color:#fb6340}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(251,99,64,.5);box-shadow:none,0 0 0 0 rgba(251,99,64,.5)}.btn-danger{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-danger,.btn-danger:hover{color:#fff;background-color:#f5365c;border-color:#f5365c}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(245,54,92,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(245,54,92,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#f5365c;border-color:#f5365c}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#ec0c38;border-color:#f5365c}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(245,54,92,.5);box-shadow:none,0 0 0 0 rgba(245,54,92,.5)}.btn-light{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-light,.btn-light:hover{color:#fff;background-color:#adb5bd;border-color:#adb5bd}.btn-light.focus,.btn-light:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(173,181,189,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(173,181,189,.5)}.btn-light.disabled,.btn-light:disabled{color:#fff;background-color:#adb5bd;border-color:#adb5bd}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#fff;background-color:#919ca6;border-color:#adb5bd}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(173,181,189,.5);box-shadow:none,0 0 0 0 rgba(173,181,189,.5)}.btn-dark{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-dark,.btn-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-dark.focus,.btn-dark:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(33,37,41,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(33,37,41,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#0a0c0d;border-color:#212529}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(33,37,41,.5);box-shadow:none,0 0 0 0 rgba(33,37,41,.5)}.btn-default{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-default,.btn-default:hover{color:#fff;background-color:#172b4d;border-color:#172b4d}.btn-default.focus,.btn-default:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(23,43,77,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(23,43,77,.5)}.btn-default.disabled,.btn-default:disabled{color:#fff;background-color:#172b4d;border-color:#172b4d}.btn-default:not(:disabled):not(.disabled).active,.btn-default:not(:disabled):not(.disabled):active,.show>.btn-default.dropdown-toggle{color:#fff;background-color:#0b1526;border-color:#172b4d}.btn-default:not(:disabled):not(.disabled).active:focus,.btn-default:not(:disabled):not(.disabled):active:focus,.show>.btn-default.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(23,43,77,.5);box-shadow:none,0 0 0 0 rgba(23,43,77,.5)}.btn-white{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-white,.btn-white:hover{color:#212529;background-color:#fff;border-color:#fff}.btn-white.focus,.btn-white:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 hsla(0,0%,100%,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 hsla(0,0%,100%,.5)}.btn-white.disabled,.btn-white:disabled{color:#212529;background-color:#fff;border-color:#fff}.btn-white:not(:disabled):not(.disabled).active,.btn-white:not(:disabled):not(.disabled):active,.show>.btn-white.dropdown-toggle{color:#212529;background-color:#e6e5e5;border-color:#fff}.btn-white:not(:disabled):not(.disabled).active:focus,.btn-white:not(:disabled):not(.disabled):active:focus,.show>.btn-white.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 hsla(0,0%,100%,.5);box-shadow:none,0 0 0 0 hsla(0,0%,100%,.5)}.btn-neutral{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-neutral,.btn-neutral:hover{color:#212529;background-color:#fff;border-color:#fff}.btn-neutral.focus,.btn-neutral:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 hsla(0,0%,100%,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 hsla(0,0%,100%,.5)}.btn-neutral.disabled,.btn-neutral:disabled{color:#212529;background-color:#fff;border-color:#fff}.btn-neutral:not(:disabled):not(.disabled).active,.btn-neutral:not(:disabled):not(.disabled):active,.show>.btn-neutral.dropdown-toggle{color:#212529;background-color:#e6e5e5;border-color:#fff}.btn-neutral:not(:disabled):not(.disabled).active:focus,.btn-neutral:not(:disabled):not(.disabled):active:focus,.show>.btn-neutral.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 hsla(0,0%,100%,.5);box-shadow:none,0 0 0 0 hsla(0,0%,100%,.5)}.btn-darker{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-darker,.btn-darker:hover{color:#fff;background-color:#000;border-color:#000}.btn-darker.focus,.btn-darker:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(0,0,0,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(0,0,0,.5)}.btn-darker.disabled,.btn-darker:disabled,.btn-darker:not(:disabled):not(.disabled).active,.btn-darker:not(:disabled):not(.disabled):active,.show>.btn-darker.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-darker:not(:disabled):not(.disabled).active:focus,.btn-darker:not(:disabled):not(.disabled):active:focus,.show>.btn-darker.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(0,0,0,.5);box-shadow:none,0 0 0 0 rgba(0,0,0,.5)}.btn-outline-primary{color:#5e72e4;background-color:transparent;background-image:none;border-color:#5e72e4}.btn-outline-primary:hover{color:#fff;background-color:#5e72e4;border-color:#5e72e4}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 0 rgba(94,114,228,.5);box-shadow:0 0 0 0 rgba(94,114,228,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#5e72e4;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#5e72e4;border-color:#5e72e4}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(94,114,228,.5);box-shadow:0 0 0 0 rgba(94,114,228,.5)}.btn-outline-secondary{color:#f7fafc;background-color:transparent;background-image:none;border-color:#f7fafc}.btn-outline-secondary:hover{color:#212529;background-color:#f7fafc;border-color:#f7fafc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 0 rgba(247,250,252,.5);box-shadow:0 0 0 0 rgba(247,250,252,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#f7fafc;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#212529;background-color:#f7fafc;border-color:#f7fafc}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(247,250,252,.5);box-shadow:0 0 0 0 rgba(247,250,252,.5)}.btn-outline-success{color:#2dce89;background-color:transparent;background-image:none;border-color:#2dce89}.btn-outline-success:hover{color:#fff;background-color:#2dce89;border-color:#2dce89}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 0 rgba(45,206,137,.5);box-shadow:0 0 0 0 rgba(45,206,137,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#2dce89;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#2dce89;border-color:#2dce89}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(45,206,137,.5);box-shadow:0 0 0 0 rgba(45,206,137,.5)}.btn-outline-info{color:#11cdef;background-color:transparent;background-image:none;border-color:#11cdef}.btn-outline-info:hover{color:#fff;background-color:#11cdef;border-color:#11cdef}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 0 rgba(17,205,239,.5);box-shadow:0 0 0 0 rgba(17,205,239,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#11cdef;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#11cdef;border-color:#11cdef}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(17,205,239,.5);box-shadow:0 0 0 0 rgba(17,205,239,.5)}.btn-outline-warning{color:#fb6340;background-color:transparent;background-image:none;border-color:#fb6340}.btn-outline-warning:hover{color:#fff;background-color:#fb6340;border-color:#fb6340}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 0 rgba(251,99,64,.5);box-shadow:0 0 0 0 rgba(251,99,64,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#fb6340;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#fb6340;border-color:#fb6340}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(251,99,64,.5);box-shadow:0 0 0 0 rgba(251,99,64,.5)}.btn-outline-danger{color:#f5365c;background-color:transparent;background-image:none;border-color:#f5365c}.btn-outline-danger:hover{color:#fff;background-color:#f5365c;border-color:#f5365c}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 0 rgba(245,54,92,.5);box-shadow:0 0 0 0 rgba(245,54,92,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#f5365c;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#f5365c;border-color:#f5365c}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(245,54,92,.5);box-shadow:0 0 0 0 rgba(245,54,92,.5)}.btn-outline-light{color:#adb5bd;background-color:transparent;background-image:none;border-color:#adb5bd}.btn-outline-light:hover{color:#fff;background-color:#adb5bd;border-color:#adb5bd}.btn-outline-light.focus,.btn-outline-light:focus{-webkit-box-shadow:0 0 0 0 rgba(173,181,189,.5);box-shadow:0 0 0 0 rgba(173,181,189,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#adb5bd;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#fff;background-color:#adb5bd;border-color:#adb5bd}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(173,181,189,.5);box-shadow:0 0 0 0 rgba(173,181,189,.5)}.btn-outline-dark{color:#212529;background-color:transparent;background-image:none;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-dark.focus,.btn-outline-dark:focus{-webkit-box-shadow:0 0 0 0 rgba(33,37,41,.5);box-shadow:0 0 0 0 rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(33,37,41,.5);box-shadow:0 0 0 0 rgba(33,37,41,.5)}.btn-outline-default{color:#172b4d;background-color:transparent;background-image:none;border-color:#172b4d}.btn-outline-default:hover{color:#fff;background-color:#172b4d;border-color:#172b4d}.btn-outline-default.focus,.btn-outline-default:focus{-webkit-box-shadow:0 0 0 0 rgba(23,43,77,.5);box-shadow:0 0 0 0 rgba(23,43,77,.5)}.btn-outline-default.disabled,.btn-outline-default:disabled{color:#172b4d;background-color:transparent}.btn-outline-default:not(:disabled):not(.disabled).active,.btn-outline-default:not(:disabled):not(.disabled):active,.show>.btn-outline-default.dropdown-toggle{color:#fff;background-color:#172b4d;border-color:#172b4d}.btn-outline-default:not(:disabled):not(.disabled).active:focus,.btn-outline-default:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-default.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(23,43,77,.5);box-shadow:0 0 0 0 rgba(23,43,77,.5)}.btn-outline-white{color:#fff;background-color:transparent;background-image:none;border-color:#fff}.btn-outline-white:hover{color:#212529;background-color:#fff;border-color:#fff}.btn-outline-white.focus,.btn-outline-white:focus{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,.5);box-shadow:0 0 0 0 hsla(0,0%,100%,.5)}.btn-outline-white.disabled,.btn-outline-white:disabled{color:#fff;background-color:transparent}.btn-outline-white:not(:disabled):not(.disabled).active,.btn-outline-white:not(:disabled):not(.disabled):active,.show>.btn-outline-white.dropdown-toggle{color:#212529;background-color:#fff;border-color:#fff}.btn-outline-white:not(:disabled):not(.disabled).active:focus,.btn-outline-white:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-white.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,.5);box-shadow:0 0 0 0 hsla(0,0%,100%,.5)}.btn-outline-neutral{color:#fff;background-color:transparent;background-image:none;border-color:#fff}.btn-outline-neutral:hover{color:#212529;background-color:#fff;border-color:#fff}.btn-outline-neutral.focus,.btn-outline-neutral:focus{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,.5);box-shadow:0 0 0 0 hsla(0,0%,100%,.5)}.btn-outline-neutral.disabled,.btn-outline-neutral:disabled{color:#fff;background-color:transparent}.btn-outline-neutral:not(:disabled):not(.disabled).active,.btn-outline-neutral:not(:disabled):not(.disabled):active,.show>.btn-outline-neutral.dropdown-toggle{color:#212529;background-color:#fff;border-color:#fff}.btn-outline-neutral:not(:disabled):not(.disabled).active:focus,.btn-outline-neutral:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-neutral.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,.5);box-shadow:0 0 0 0 hsla(0,0%,100%,.5)}.btn-outline-darker{color:#000;background-color:transparent;background-image:none;border-color:#000}.btn-outline-darker:hover{color:#fff;background-color:#000;border-color:#000}.btn-outline-darker.focus,.btn-outline-darker:focus{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.5);box-shadow:0 0 0 0 rgba(0,0,0,.5)}.btn-outline-darker.disabled,.btn-outline-darker:disabled{color:#000;background-color:transparent}.btn-outline-darker:not(:disabled):not(.disabled).active,.btn-outline-darker:not(:disabled):not(.disabled):active,.show>.btn-outline-darker.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-outline-darker:not(:disabled):not(.disabled).active:focus,.btn-outline-darker:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-darker.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.5);box-shadow:0 0 0 0 rgba(0,0,0,.5)}.btn-link{font-weight:400;color:#5e72e4;text-decoration:none}.btn-link:hover{color:#233dd2;text-decoration:none}.btn-link.focus,.btn-link:focus{text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#8898aa;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.875rem 1rem;line-height:1.5;border-radius:.4375rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;line-height:1.5;border-radius:.25rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{-webkit-transition:none;transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .3s ease;transition:height .3s ease}@media (prefers-reduced-motion:reduce){.collapsing{-webkit-transition:none;transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#525f7f;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:0 solid rgba(0,0,0,.15);border-radius:.4375rem;-webkit-box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1);box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1)}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.5rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f6f9fc}.dropdown-item.active,.dropdown-item:active{color:#16181b;text-decoration:none;background-color:transparent}.dropdown-item.disabled,.dropdown-item:disabled{color:#8898aa;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#8898aa;white-space:nowrap}.dropdown-item-text{display:block;padding:.5rem 1rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.9375rem;padding-left:.9375rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle,.btn-group.show .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-webkit-box-flex:1;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-webkit-box;display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.625rem .75rem;margin-bottom:0;font-size:.875rem;font-weight:400;line-height:1.5;color:#adb5bd;text-align:center;white-space:nowrap;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1.75rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.875rem 1rem;font-size:.875rem;line-height:1.5;border-radius:.4375rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.25rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:2.75rem}.custom-control-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#5e72e4;background-color:#5e72e4;-webkit-box-shadow:0 3px 2px rgba(233,236,239,.05);box-shadow:0 3px 2px rgba(233,236,239,.05)}.custom-control-input:focus~.custom-control-label:before{-webkit-box-shadow:0 3px 2px rgba(233,236,239,.05),0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1);box-shadow:0 3px 2px rgba(233,236,239,.05),0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#5e72e4}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#5e72e4;border-color:#5e72e4;-webkit-box-shadow:0 3px 2px rgba(233,236,239,.05);box-shadow:0 3px 2px rgba(233,236,239,.05)}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#8898aa}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;-webkit-box-shadow:0 3px 2px rgba(233,236,239,.05);box-shadow:0 3px 2px rgba(233,236,239,.05)}.custom-control-label:after,.custom-control-label:before{position:absolute;left:-2.75rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#5e72e4;background-color:#5e72e4;-webkit-box-shadow:none;box-shadow:none}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(94,114,228,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(94,114,228,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(94,114,228,.5)}.custom-switch{padding-left:3.5rem}.custom-switch .custom-control-label:before{left:-3.5rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-3.5rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#dee2e6;border-radius:.5rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{-webkit-transition:none;transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(94,114,228,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + 1.25rem + 2px);padding:.625rem 1.75rem .625rem .75rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#8898aa;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%2332325d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px;border:1px solid #dee2e6;border-radius:.375rem;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.075);box-shadow:inset 0 1px 2px rgba(0,0,0,.075);-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#5e72e4;outline:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 0 #5e72e4;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 0 #5e72e4}.custom-select:focus::-ms-value{color:#8898aa;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#8898aa;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #8898aa}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.75rem}.custom-select-lg{height:calc(1.5em + 1.75rem + 2px);padding-top:.875rem;padding-bottom:.875rem;padding-left:1rem;font-size:.875rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + 1.25rem + 2px)}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#5e72e4;-webkit-box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1);box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + 1.25rem + 2px);font-weight:400;border:1px solid #dee2e6;border-radius:.25rem;-webkit-box-shadow:0 3px 2px rgba(233,236,239,.05);box-shadow:0 3px 2px rgba(233,236,239,.05)}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.625rem .75rem;line-height:1.5;color:#8898aa;background-color:#fff}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + 1.25rem);content:"Browse";border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #f8f9fe,0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1);box-shadow:0 0 0 1px #f8f9fe,0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f8f9fe,0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #f8f9fe,0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#5e72e4;border:0;border-radius:1rem;-webkit-box-shadow:0 .1rem .25rem rgba(0,0,0,.1);box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#f7f8fe}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem;-webkit-box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1);box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#5e72e4;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#f7f8fe}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:0;margin-left:0;background-color:#5e72e4;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#f7f8fe}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{-webkit-transition:none;transition:none}}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.25rem .75rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#8898aa;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.375rem;border-top-right-radius:.375rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#8898aa;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#525f7f;background-color:#f8f9fe;border-color:#dee2e6 #dee2e6 #f8f9fe}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.375rem}.nav-fill .nav-item{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:1rem}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.0625rem;padding-bottom:.0625rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.25rem;padding-bottom:.25rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat 50%;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm,.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md,.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg,.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl,.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.6)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.6);border-color:transparent}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.6)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.6)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:hsla(0,0%,100%,.65)}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.95)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.65)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:hsla(0,0%,100%,.65)}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.95);border-color:transparent}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.95)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.95)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:hsla(0,0%,100%,.65)}.card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.05);border-radius:.375rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.5rem}.card-title{margin-bottom:1.25rem}.card-subtitle{margin-top:-.625rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.5rem}.card-header{padding:1.25rem 1.5rem;margin-bottom:0;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.05)}.card-header:first-child{border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:1.25rem 1.5rem;background-color:#fff;border-top:1px solid rgba(0,0,0,.05)}.card-footer:last-child{border-radius:0 0 calc(.375rem - 1px) calc(.375rem - 1px)}.card-header-tabs{margin-bottom:-1.25rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.75rem;margin-left:-.75rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:1.25rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.5rem 1rem;margin-bottom:1rem;list-style:none;background-color:#f6f9fc;border-radius:.375rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#8898aa;content:"-"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#8898aa}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.375rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#8898aa;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#8898aa;text-decoration:none;background-color:#dee2e6;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;-webkit-box-shadow:none;box-shadow:none}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#5e72e4;border-color:#5e72e4}.page-item.disabled .page-link{color:#8898aa;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.4375rem;border-bottom-left-radius:.4375rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.4375rem;border-bottom-right-radius:.4375rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.badge{display:inline-block;padding:.35rem .375rem;font-size:66%;font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{-webkit-transition:none;transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.875em;padding-left:.875em;border-radius:10rem}.badge-primary{color:#2643e9;background-color:#eaecfb}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#2a44db}.badge-secondary{color:#cfe3f1;background-color:#fff}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#212529;text-decoration:none;background-color:#cadeeb}.badge-success{color:#1aae6f;background-color:#b0eed3}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#229c68}.badge-info{color:#03acca;background-color:#aaedf9}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#0c9cb7}.badge-warning{color:#ff3709;background-color:#fee6e0}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#fff;text-decoration:none;background-color:#f93305}.badge-danger{color:#f80031;background-color:#fdd1da}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#e30b36}.badge-light{color:#879cb0;background-color:#fff}.badge-light[href]:focus,.badge-light[href]:hover{color:#fff;text-decoration:none;background-color:#8b96a2}.badge-dark{color:#090c0e;background-color:#6a7783}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#060607}.badge-default{color:#091428;background-color:#4172c6}.badge-default[href]:focus,.badge-default[href]:hover{color:#fff;text-decoration:none;background-color:#09111e}.badge-white{color:#e8e3e3;background-color:#fff}.badge-white[href]:focus,.badge-white[href]:hover{color:#212529;text-decoration:none;background-color:#e0e0e0}.badge-neutral{color:#e8e3e3;background-color:#fff}.badge-neutral[href]:focus,.badge-neutral[href]:hover{color:#212529;text-decoration:none;background-color:#e0e0e0}.badge-darker{color:#000;background-color:#525252}.badge-darker[href]:focus,.badge-darker[href]:hover{color:#fff;text-decoration:none;background-color:#000}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.4375rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:1rem 1.5rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}.alert-heading{color:inherit}.alert-link{font-weight:600}.alert-dismissible{padding-right:4.5rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:1rem 1.5rem;color:inherit}.alert-primary{color:#fff;border-color:#7889e8;background-color:#7889e8}.alert-primary a{color:#1d32aa;font-weight:600}.alert-primary a:hover{color:#fff}.alert-primary hr{border-top-color:#6276e4}.alert-primary .alert-link{color:#324cdd}.alert-secondary{color:#212529;border-color:#f8fbfc;background-color:#f8fbfc}.alert-secondary a{color:#8dbece;font-weight:600}.alert-secondary a:hover{color:#212529}.alert-secondary hr{border-top-color:#e6f1f4}.alert-secondary .alert-link{color:#d2e3ee}.alert-success{color:#fff;border-color:#4fd69c;background-color:#4fd69c}.alert-success a{color:#1a724c;font-weight:600}.alert-success a:hover{color:#fff}.alert-success hr{border-top-color:#3ad190}.alert-success .alert-link{color:#24a46d}.alert-info{color:#fff;border-color:#37d5f2;background-color:#37d5f2}.alert-info a{color:#097487;font-weight:600}.alert-info a:hover{color:#fff}.alert-info hr{border-top-color:#1fd0f0}.alert-info .alert-link{color:#0da5c0}.alert-warning{color:#fff;border-color:#fc7c5f;background-color:#fc7c5f}.alert-warning a{color:#be2604;font-weight:600}.alert-warning a:hover{color:#fff}.alert-warning hr{border-top-color:#fc6846}.alert-warning .alert-link{color:#fa3a0e}.alert-danger{color:#fff;border-color:#f75676;background-color:#f75676}.alert-danger a{color:#ac0829;font-weight:600}.alert-danger a:hover{color:#fff}.alert-danger hr{border-top-color:#f63e62}.alert-danger .alert-link{color:#ec0c38}.alert-light{color:#fff;border-color:#bac1c8;background-color:#bac1c8}.alert-light a{color:#677582;font-weight:600}.alert-light a:hover{color:#fff}.alert-light hr{border-top-color:#acb4bd}.alert-light .alert-link{color:#919ca6}.alert-dark{color:#fff;border-color:#45484b;background-color:#45484b}.alert-dark a{color:#000;font-weight:600}.alert-dark a:hover{color:#fff}.alert-dark hr{border-top-color:#393b3e}.alert-dark .alert-link{color:#0a0c0d}.alert-default{color:#fff;border-color:#3c4d69;background-color:#3c4d69}.alert-default a{color:#040608;font-weight:600}.alert-default a:hover{color:#fff}.alert-default hr{border-top-color:#334159}.alert-default .alert-link{color:#0b1526}.alert-white{color:#212529;border-color:#fff;background-color:#fff}.alert-white a{color:#b3b2b2;font-weight:600}.alert-white a:hover{color:#212529}.alert-white hr{border-top-color:#f2f2f2}.alert-white .alert-link{color:#e6e5e5}.alert-neutral{color:#212529;border-color:#fff;background-color:#fff}.alert-neutral a{color:#b3b2b2;font-weight:600}.alert-neutral a:hover{color:#212529}.alert-neutral hr{border-top-color:#f2f2f2}.alert-neutral .alert-link{color:#e6e5e5}.alert-darker{color:#fff;border-color:#292929;background-color:#292929}.alert-darker a{color:#000;font-weight:600}.alert-darker a:hover{color:#fff}.alert-darker hr{border-top-color:#1c1c1c}.alert-darker .alert-link{color:#000}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;font-size:.75rem;border-radius:.375rem;-webkit-box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1);box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress,.progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex}.progress-bar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#5e72e4;-webkit-transition:width .6s ease;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#525f7f;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#525f7f;text-decoration:none;background-color:#f6f9fc}.list-group-item-action:active{color:#525f7f;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:1rem;background-color:#fff;border:1px solid #e9ecef}.list-group-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.list-group-item:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.list-group-item.disabled,.list-group-item:disabled{color:#8898aa;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#5e72e4;border-color:#5e72e4}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#313b77;background-color:#d2d8f7}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#313b77;background-color:#bcc5f3}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#313b77;border-color:#313b77}.list-group-item-secondary{color:#808283;background-color:#fdfefe}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#808283;background-color:#ecf6f6}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#808283;border-color:#808283}.list-group-item-success{color:#176b47;background-color:#c4f1de}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#176b47;background-color:#afecd2}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#176b47;border-color:#176b47}.list-group-item-info{color:#096b7c;background-color:#bcf1fb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#096b7c;background-color:#a4ecfa}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#096b7c;border-color:#096b7c}.list-group-item-warning{color:#833321;background-color:#fed3ca}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#833321;background-color:#febeb1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#833321;border-color:#833321}.list-group-item-danger{color:#7f1c30;background-color:#fcc7d1}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#7f1c30;background-color:#fbafbd}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#7f1c30;border-color:#7f1c30}.list-group-item-light{color:#5a5e62;background-color:#e8eaed}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#5a5e62;background-color:#dadde2}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#5a5e62;border-color:#5a5e62}.list-group-item-dark{color:#111315;background-color:#c1c2c3}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#111315;background-color:#b4b5b6}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#111315;border-color:#111315}.list-group-item-default{color:#0c1628;background-color:#bec4cd}.list-group-item-default.list-group-item-action:focus,.list-group-item-default.list-group-item-action:hover{color:#0c1628;background-color:#b0b7c2}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#0c1628;border-color:#0c1628}.list-group-item-white{color:#858585;background-color:#fff}.list-group-item-white.list-group-item-action:focus,.list-group-item-white.list-group-item-action:hover{color:#858585;background-color:#f2f2f2}.list-group-item-white.list-group-item-action.active{color:#fff;background-color:#858585;border-color:#858585}.list-group-item-neutral{color:#858585;background-color:#fff}.list-group-item-neutral.list-group-item-action:focus,.list-group-item-neutral.list-group-item-action:hover{color:#858585;background-color:#f2f2f2}.list-group-item-neutral.list-group-item-action.active{color:#fff;background-color:#858585;border-color:#858585}.list-group-item-darker{color:#000;background-color:#b8b8b8}.list-group-item-darker.list-group-item-action:focus,.list-group-item-darker.list-group-item-action:hover{color:#000;background-color:#ababab}.list-group-item-darker.list-group-item-action.active{color:#fff;background-color:#000;border-color:#000}.close{float:right;font-size:1.5rem;font-weight:600;line-height:1;color:rgba(0,0,0,.6);text-shadow:none;opacity:.5}@media (max-width:1200px){.close{font-size:calc(1.275rem + .3vw)}}.close:hover{color:rgba(0,0,0,.6);text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-50px);transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{-webkit-transition:none;transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:0 solid rgba(0,0,0,.2);border-radius:.4375rem;-webkit-box-shadow:0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.17);box-shadow:0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.17);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.16}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1.25rem;border-bottom:0 solid #e9ecef;border-top-left-radius:.4375rem;border-top-right-radius:.4375rem}.modal-header .close{padding:1.25rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.1}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.5rem}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:1.25rem;border-top:0 solid #e9ecef;border-bottom-right-radius:.4375rem;border-bottom-left-radius:.4375rem}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem)}.modal-content{-webkit-box-shadow:0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.17);box-shadow:0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.17)}.modal-sm{max-width:380px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:Open Sans,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.375rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:Open Sans,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.05);border-radius:.4375rem;-webkit-box-shadow:0 .5rem 2rem 0 rgba(0,0,0,.2);box-shadow:0 .5rem 2rem 0 rgba(0,0,0,.2)}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .4375rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:transparent}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.4375rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:transparent}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:transparent}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #fff}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.4375rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:transparent}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .95rem;margin-bottom:0;font-size:1rem;color:#32325d;background-color:#fff;border-bottom:1px solid #f2f2f2;border-top-left-radius:calc(.4375rem - 1px);border-top-right-radius:calc(.4375rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .95rem;color:#525f7f}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{-webkit-transition:none;transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{-webkit-transition:none;transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{-webkit-transition:none;transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{-webkit-transition:none;transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#5e72e4!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#324cdd!important}.bg-secondary{background-color:#f7fafc!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#d2e3ee!important}.bg-success{background-color:#2dce89!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#24a46d!important}.bg-info{background-color:#11cdef!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#0da5c0!important}.bg-warning{background-color:#fb6340!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#fa3a0e!important}.bg-danger{background-color:#f5365c!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#ec0c38!important}.bg-light{background-color:#adb5bd!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#919ca6!important}.bg-dark{background-color:#212529!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#0a0c0d!important}.bg-default{background-color:#172b4d!important}a.bg-default:focus,a.bg-default:hover,button.bg-default:focus,button.bg-default:hover{background-color:#0b1526!important}.bg-neutral{background-color:#fff!important}a.bg-neutral:focus,a.bg-neutral:hover,button.bg-neutral:focus,button.bg-neutral:hover{background-color:#e6e5e5!important}.bg-darker,a.bg-darker:focus,a.bg-darker:hover,button.bg-darker:focus,button.bg-darker:hover{background-color:#000!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #e9ecef!important}.border-top{border-top:1px solid #e9ecef!important}.border-right{border-right:1px solid #e9ecef!important}.border-bottom{border-bottom:1px solid #e9ecef!important}.border-left{border-left:1px solid #e9ecef!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#5e72e4!important}.border-secondary{border-color:#f7fafc!important}.border-success{border-color:#2dce89!important}.border-info{border-color:#11cdef!important}.border-warning{border-color:#fb6340!important}.border-danger{border-color:#f5365c!important}.border-light{border-color:#adb5bd!important}.border-dark{border-color:#212529!important}.border-default{border-color:#172b4d!important}.border-neutral{border-color:#fff!important}.border-darker{border-color:#000!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.25rem!important}.rounded{border-radius:.375rem!important}.rounded-top{border-top-left-radius:.375rem!important}.rounded-right,.rounded-top{border-top-right-radius:.375rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.375rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.375rem!important}.rounded-left{border-top-left-radius:.375rem!important}.rounded-lg{border-radius:.4375rem!important}.avatar.rounded-circle img,.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.85714286%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column,.flex-row{-webkit-box-direction:normal!important}.flex-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse,.flex-row-reverse{-webkit-box-direction:reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column,.flex-sm-row{-webkit-box-direction:normal!important}.flex-sm-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column,.flex-md-row{-webkit-box-direction:normal!important}.flex-md-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column,.flex-lg-row{-webkit-box-direction:normal!important}.flex-lg-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column,.flex-xl-row{-webkit-box-direction:normal!important}.flex-xl-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{-webkit-box-shadow:0 0 .5rem rgba(136,152,170,.075)!important;box-shadow:0 0 .5rem rgba(136,152,170,.075)!important}.shadow{-webkit-box-shadow:0 0 2rem 0 rgba(136,152,170,.15)!important;box-shadow:0 0 2rem 0 rgba(136,152,170,.15)!important}.shadow-lg{-webkit-box-shadow:0 0 3rem rgba(136,152,170,.175)!important;box-shadow:0 0 3rem rgba(136,152,170,.175)!important}.shadow-none{-webkit-box-shadow:none!important;box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.m--9{margin:-10rem!important}.mt--9,.my--9{margin-top:-10rem!important}.mr--9,.mx--9{margin-right:-10rem!important}.mb--9,.my--9{margin-bottom:-10rem!important}.ml--9,.mx--9{margin-left:-10rem!important}.m--8{margin:-8rem!important}.mt--8,.my--8{margin-top:-8rem!important}.mr--8,.mx--8{margin-right:-8rem!important}.mb--8,.my--8{margin-bottom:-8rem!important}.ml--8,.mx--8{margin-left:-8rem!important}.m--7{margin:-6rem!important}.mt--7,.my--7{margin-top:-6rem!important}.mr--7,.mx--7{margin-right:-6rem!important}.mb--7,.my--7{margin-bottom:-6rem!important}.ml--7,.mx--7{margin-left:-6rem!important}.m--6{margin:-4.5rem!important}.mt--6,.my--6{margin-top:-4.5rem!important}.mr--6,.mx--6{margin-right:-4.5rem!important}.mb--6,.my--6{margin-bottom:-4.5rem!important}.ml--6,.mx--6{margin-left:-4.5rem!important}.m--5{margin:-3rem!important}.mt--5,.my--5{margin-top:-3rem!important}.mr--5,.mx--5{margin-right:-3rem!important}.mb--5,.my--5{margin-bottom:-3rem!important}.ml--5,.mx--5{margin-left:-3rem!important}.m--4{margin:-1.5rem!important}.mt--4,.my--4{margin-top:-1.5rem!important}.mr--4,.mx--4{margin-right:-1.5rem!important}.mb--4,.my--4{margin-bottom:-1.5rem!important}.ml--4,.mx--4{margin-left:-1.5rem!important}.m--3{margin:-1rem!important}.mt--3,.my--3{margin-top:-1rem!important}.mr--3,.mx--3{margin-right:-1rem!important}.mb--3,.my--3{margin-bottom:-1rem!important}.ml--3,.mx--3{margin-left:-1rem!important}.m--2{margin:-.5rem!important}.mt--2,.my--2{margin-top:-.5rem!important}.mr--2,.mx--2{margin-right:-.5rem!important}.mb--2,.my--2{margin-bottom:-.5rem!important}.ml--2,.mx--2{margin-left:-.5rem!important}.m--1{margin:-.25rem!important}.mt--1,.my--1{margin-top:-.25rem!important}.mr--1,.mx--1{margin-right:-.25rem!important}.mb--1,.my--1{margin-bottom:-.25rem!important}.ml--1,.mx--1{margin-left:-.25rem!important}.m-6{margin:4.5rem!important}.mt-6,.my-6{margin-top:4.5rem!important}.mr-6,.mx-6{margin-right:4.5rem!important}.mb-6,.my-6{margin-bottom:4.5rem!important}.ml-6,.mx-6{margin-left:4.5rem!important}.m-7{margin:6rem!important}.mt-7,.my-7{margin-top:6rem!important}.mr-7,.mx-7{margin-right:6rem!important}.mb-7,.my-7{margin-bottom:6rem!important}.ml-7,.mx-7{margin-left:6rem!important}.m-8{margin:8rem!important}.mt-8,.my-8{margin-top:8rem!important}.mr-8,.mx-8{margin-right:8rem!important}.mb-8,.my-8{margin-bottom:8rem!important}.ml-8,.mx-8{margin-left:8rem!important}.m-9{margin:10rem!important}.mt-9,.my-9{margin-top:10rem!important}.mr-9,.mx-9{margin-right:10rem!important}.mb-9,.my-9{margin-bottom:10rem!important}.ml-9,.mx-9{margin-left:10rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.p--9{padding:-10rem!important}.pt--9,.py--9{padding-top:-10rem!important}.pr--9,.px--9{padding-right:-10rem!important}.pb--9,.py--9{padding-bottom:-10rem!important}.pl--9,.px--9{padding-left:-10rem!important}.p--8{padding:-8rem!important}.pt--8,.py--8{padding-top:-8rem!important}.pr--8,.px--8{padding-right:-8rem!important}.pb--8,.py--8{padding-bottom:-8rem!important}.pl--8,.px--8{padding-left:-8rem!important}.p--7{padding:-6rem!important}.pt--7,.py--7{padding-top:-6rem!important}.pr--7,.px--7{padding-right:-6rem!important}.pb--7,.py--7{padding-bottom:-6rem!important}.pl--7,.px--7{padding-left:-6rem!important}.p--6{padding:-4.5rem!important}.pt--6,.py--6{padding-top:-4.5rem!important}.pr--6,.px--6{padding-right:-4.5rem!important}.pb--6,.py--6{padding-bottom:-4.5rem!important}.pl--6,.px--6{padding-left:-4.5rem!important}.p--5{padding:-3rem!important}.pt--5,.py--5{padding-top:-3rem!important}.pr--5,.px--5{padding-right:-3rem!important}.pb--5,.py--5{padding-bottom:-3rem!important}.pl--5,.px--5{padding-left:-3rem!important}.p--4{padding:-1.5rem!important}.pt--4,.py--4{padding-top:-1.5rem!important}.pr--4,.px--4{padding-right:-1.5rem!important}.pb--4,.py--4{padding-bottom:-1.5rem!important}.pl--4,.px--4{padding-left:-1.5rem!important}.p--3{padding:-1rem!important}.pt--3,.py--3{padding-top:-1rem!important}.pr--3,.px--3{padding-right:-1rem!important}.pb--3,.py--3{padding-bottom:-1rem!important}.pl--3,.px--3{padding-left:-1rem!important}.p--2{padding:-.5rem!important}.pt--2,.py--2{padding-top:-.5rem!important}.pr--2,.px--2{padding-right:-.5rem!important}.pb--2,.py--2{padding-bottom:-.5rem!important}.pl--2,.px--2{padding-left:-.5rem!important}.p--1{padding:-.25rem!important}.pt--1,.py--1{padding-top:-.25rem!important}.pr--1,.px--1{padding-right:-.25rem!important}.pb--1,.py--1{padding-bottom:-.25rem!important}.pl--1,.px--1{padding-left:-.25rem!important}.p-6{padding:4.5rem!important}.pt-6,.py-6{padding-top:4.5rem!important}.pr-6,.px-6{padding-right:4.5rem!important}.pb-6,.py-6{padding-bottom:4.5rem!important}.pl-6,.px-6{padding-left:4.5rem!important}.p-7{padding:6rem!important}.pt-7,.py-7{padding-top:6rem!important}.pr-7,.px-7{padding-right:6rem!important}.pb-7,.py-7{padding-bottom:6rem!important}.pl-7,.px-7{padding-left:6rem!important}.p-8{padding:8rem!important}.pt-8,.py-8{padding-top:8rem!important}.pr-8,.px-8{padding-right:8rem!important}.pb-8,.py-8{padding-bottom:8rem!important}.pl-8,.px-8{padding-left:8rem!important}.p-9{padding:10rem!important}.pt-9,.py-9{padding-top:10rem!important}.pr-9,.px-9{padding-right:10rem!important}.pb-9,.py-9{padding-bottom:10rem!important}.pl-9,.px-9{padding-left:10rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-n-9{margin:10rem!important}.mt-n-9,.my-n-9{margin-top:10rem!important}.mr-n-9,.mx-n-9{margin-right:10rem!important}.mb-n-9,.my-n-9{margin-bottom:10rem!important}.ml-n-9,.mx-n-9{margin-left:10rem!important}.m-n-8{margin:8rem!important}.mt-n-8,.my-n-8{margin-top:8rem!important}.mr-n-8,.mx-n-8{margin-right:8rem!important}.mb-n-8,.my-n-8{margin-bottom:8rem!important}.ml-n-8,.mx-n-8{margin-left:8rem!important}.m-n-7{margin:6rem!important}.mt-n-7,.my-n-7{margin-top:6rem!important}.mr-n-7,.mx-n-7{margin-right:6rem!important}.mb-n-7,.my-n-7{margin-bottom:6rem!important}.ml-n-7,.mx-n-7{margin-left:6rem!important}.m-n-6{margin:4.5rem!important}.mt-n-6,.my-n-6{margin-top:4.5rem!important}.mr-n-6,.mx-n-6{margin-right:4.5rem!important}.mb-n-6,.my-n-6{margin-bottom:4.5rem!important}.ml-n-6,.mx-n-6{margin-left:4.5rem!important}.m-n-5{margin:3rem!important}.mt-n-5,.my-n-5{margin-top:3rem!important}.mr-n-5,.mx-n-5{margin-right:3rem!important}.mb-n-5,.my-n-5{margin-bottom:3rem!important}.ml-n-5,.mx-n-5{margin-left:3rem!important}.m-n-4{margin:1.5rem!important}.mt-n-4,.my-n-4{margin-top:1.5rem!important}.mr-n-4,.mx-n-4{margin-right:1.5rem!important}.mb-n-4,.my-n-4{margin-bottom:1.5rem!important}.ml-n-4,.mx-n-4{margin-left:1.5rem!important}.m-n-3{margin:1rem!important}.mt-n-3,.my-n-3{margin-top:1rem!important}.mr-n-3,.mx-n-3{margin-right:1rem!important}.mb-n-3,.my-n-3{margin-bottom:1rem!important}.ml-n-3,.mx-n-3{margin-left:1rem!important}.m-n-2{margin:.5rem!important}.mt-n-2,.my-n-2{margin-top:.5rem!important}.mr-n-2,.mx-n-2{margin-right:.5rem!important}.mb-n-2,.my-n-2{margin-bottom:.5rem!important}.ml-n-2,.mx-n-2{margin-left:.5rem!important}.m-n-1{margin:.25rem!important}.mt-n-1,.my-n-1{margin-top:.25rem!important}.mr-n-1,.mx-n-1{margin-right:.25rem!important}.mb-n-1,.my-n-1{margin-bottom:.25rem!important}.ml-n-1,.mx-n-1{margin-left:.25rem!important}.m-n6{margin:-4.5rem!important}.mt-n6,.my-n6{margin-top:-4.5rem!important}.mr-n6,.mx-n6{margin-right:-4.5rem!important}.mb-n6,.my-n6{margin-bottom:-4.5rem!important}.ml-n6,.mx-n6{margin-left:-4.5rem!important}.m-n7{margin:-6rem!important}.mt-n7,.my-n7{margin-top:-6rem!important}.mr-n7,.mx-n7{margin-right:-6rem!important}.mb-n7,.my-n7{margin-bottom:-6rem!important}.ml-n7,.mx-n7{margin-left:-6rem!important}.m-n8{margin:-8rem!important}.mt-n8,.my-n8{margin-top:-8rem!important}.mr-n8,.mx-n8{margin-right:-8rem!important}.mb-n8,.my-n8{margin-bottom:-8rem!important}.ml-n8,.mx-n8{margin-left:-8rem!important}.m-n9{margin:-10rem!important}.mt-n9,.my-n9{margin-top:-10rem!important}.mr-n9,.mx-n9{margin-right:-10rem!important}.mb-n9,.my-n9{margin-bottom:-10rem!important}.ml-n9,.mx-n9{margin-left:-10rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.m-sm--9{margin:-10rem!important}.mt-sm--9,.my-sm--9{margin-top:-10rem!important}.mr-sm--9,.mx-sm--9{margin-right:-10rem!important}.mb-sm--9,.my-sm--9{margin-bottom:-10rem!important}.ml-sm--9,.mx-sm--9{margin-left:-10rem!important}.m-sm--8{margin:-8rem!important}.mt-sm--8,.my-sm--8{margin-top:-8rem!important}.mr-sm--8,.mx-sm--8{margin-right:-8rem!important}.mb-sm--8,.my-sm--8{margin-bottom:-8rem!important}.ml-sm--8,.mx-sm--8{margin-left:-8rem!important}.m-sm--7{margin:-6rem!important}.mt-sm--7,.my-sm--7{margin-top:-6rem!important}.mr-sm--7,.mx-sm--7{margin-right:-6rem!important}.mb-sm--7,.my-sm--7{margin-bottom:-6rem!important}.ml-sm--7,.mx-sm--7{margin-left:-6rem!important}.m-sm--6{margin:-4.5rem!important}.mt-sm--6,.my-sm--6{margin-top:-4.5rem!important}.mr-sm--6,.mx-sm--6{margin-right:-4.5rem!important}.mb-sm--6,.my-sm--6{margin-bottom:-4.5rem!important}.ml-sm--6,.mx-sm--6{margin-left:-4.5rem!important}.m-sm--5{margin:-3rem!important}.mt-sm--5,.my-sm--5{margin-top:-3rem!important}.mr-sm--5,.mx-sm--5{margin-right:-3rem!important}.mb-sm--5,.my-sm--5{margin-bottom:-3rem!important}.ml-sm--5,.mx-sm--5{margin-left:-3rem!important}.m-sm--4{margin:-1.5rem!important}.mt-sm--4,.my-sm--4{margin-top:-1.5rem!important}.mr-sm--4,.mx-sm--4{margin-right:-1.5rem!important}.mb-sm--4,.my-sm--4{margin-bottom:-1.5rem!important}.ml-sm--4,.mx-sm--4{margin-left:-1.5rem!important}.m-sm--3{margin:-1rem!important}.mt-sm--3,.my-sm--3{margin-top:-1rem!important}.mr-sm--3,.mx-sm--3{margin-right:-1rem!important}.mb-sm--3,.my-sm--3{margin-bottom:-1rem!important}.ml-sm--3,.mx-sm--3{margin-left:-1rem!important}.m-sm--2{margin:-.5rem!important}.mt-sm--2,.my-sm--2{margin-top:-.5rem!important}.mr-sm--2,.mx-sm--2{margin-right:-.5rem!important}.mb-sm--2,.my-sm--2{margin-bottom:-.5rem!important}.ml-sm--2,.mx-sm--2{margin-left:-.5rem!important}.m-sm--1{margin:-.25rem!important}.mt-sm--1,.my-sm--1{margin-top:-.25rem!important}.mr-sm--1,.mx-sm--1{margin-right:-.25rem!important}.mb-sm--1,.my-sm--1{margin-bottom:-.25rem!important}.ml-sm--1,.mx-sm--1{margin-left:-.25rem!important}.m-sm-6{margin:4.5rem!important}.mt-sm-6,.my-sm-6{margin-top:4.5rem!important}.mr-sm-6,.mx-sm-6{margin-right:4.5rem!important}.mb-sm-6,.my-sm-6{margin-bottom:4.5rem!important}.ml-sm-6,.mx-sm-6{margin-left:4.5rem!important}.m-sm-7{margin:6rem!important}.mt-sm-7,.my-sm-7{margin-top:6rem!important}.mr-sm-7,.mx-sm-7{margin-right:6rem!important}.mb-sm-7,.my-sm-7{margin-bottom:6rem!important}.ml-sm-7,.mx-sm-7{margin-left:6rem!important}.m-sm-8{margin:8rem!important}.mt-sm-8,.my-sm-8{margin-top:8rem!important}.mr-sm-8,.mx-sm-8{margin-right:8rem!important}.mb-sm-8,.my-sm-8{margin-bottom:8rem!important}.ml-sm-8,.mx-sm-8{margin-left:8rem!important}.m-sm-9{margin:10rem!important}.mt-sm-9,.my-sm-9{margin-top:10rem!important}.mr-sm-9,.mx-sm-9{margin-right:10rem!important}.mb-sm-9,.my-sm-9{margin-bottom:10rem!important}.ml-sm-9,.mx-sm-9{margin-left:10rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.p-sm--9{padding:-10rem!important}.pt-sm--9,.py-sm--9{padding-top:-10rem!important}.pr-sm--9,.px-sm--9{padding-right:-10rem!important}.pb-sm--9,.py-sm--9{padding-bottom:-10rem!important}.pl-sm--9,.px-sm--9{padding-left:-10rem!important}.p-sm--8{padding:-8rem!important}.pt-sm--8,.py-sm--8{padding-top:-8rem!important}.pr-sm--8,.px-sm--8{padding-right:-8rem!important}.pb-sm--8,.py-sm--8{padding-bottom:-8rem!important}.pl-sm--8,.px-sm--8{padding-left:-8rem!important}.p-sm--7{padding:-6rem!important}.pt-sm--7,.py-sm--7{padding-top:-6rem!important}.pr-sm--7,.px-sm--7{padding-right:-6rem!important}.pb-sm--7,.py-sm--7{padding-bottom:-6rem!important}.pl-sm--7,.px-sm--7{padding-left:-6rem!important}.p-sm--6{padding:-4.5rem!important}.pt-sm--6,.py-sm--6{padding-top:-4.5rem!important}.pr-sm--6,.px-sm--6{padding-right:-4.5rem!important}.pb-sm--6,.py-sm--6{padding-bottom:-4.5rem!important}.pl-sm--6,.px-sm--6{padding-left:-4.5rem!important}.p-sm--5{padding:-3rem!important}.pt-sm--5,.py-sm--5{padding-top:-3rem!important}.pr-sm--5,.px-sm--5{padding-right:-3rem!important}.pb-sm--5,.py-sm--5{padding-bottom:-3rem!important}.pl-sm--5,.px-sm--5{padding-left:-3rem!important}.p-sm--4{padding:-1.5rem!important}.pt-sm--4,.py-sm--4{padding-top:-1.5rem!important}.pr-sm--4,.px-sm--4{padding-right:-1.5rem!important}.pb-sm--4,.py-sm--4{padding-bottom:-1.5rem!important}.pl-sm--4,.px-sm--4{padding-left:-1.5rem!important}.p-sm--3{padding:-1rem!important}.pt-sm--3,.py-sm--3{padding-top:-1rem!important}.pr-sm--3,.px-sm--3{padding-right:-1rem!important}.pb-sm--3,.py-sm--3{padding-bottom:-1rem!important}.pl-sm--3,.px-sm--3{padding-left:-1rem!important}.p-sm--2{padding:-.5rem!important}.pt-sm--2,.py-sm--2{padding-top:-.5rem!important}.pr-sm--2,.px-sm--2{padding-right:-.5rem!important}.pb-sm--2,.py-sm--2{padding-bottom:-.5rem!important}.pl-sm--2,.px-sm--2{padding-left:-.5rem!important}.p-sm--1{padding:-.25rem!important}.pt-sm--1,.py-sm--1{padding-top:-.25rem!important}.pr-sm--1,.px-sm--1{padding-right:-.25rem!important}.pb-sm--1,.py-sm--1{padding-bottom:-.25rem!important}.pl-sm--1,.px-sm--1{padding-left:-.25rem!important}.p-sm-6{padding:4.5rem!important}.pt-sm-6,.py-sm-6{padding-top:4.5rem!important}.pr-sm-6,.px-sm-6{padding-right:4.5rem!important}.pb-sm-6,.py-sm-6{padding-bottom:4.5rem!important}.pl-sm-6,.px-sm-6{padding-left:4.5rem!important}.p-sm-7{padding:6rem!important}.pt-sm-7,.py-sm-7{padding-top:6rem!important}.pr-sm-7,.px-sm-7{padding-right:6rem!important}.pb-sm-7,.py-sm-7{padding-bottom:6rem!important}.pl-sm-7,.px-sm-7{padding-left:6rem!important}.p-sm-8{padding:8rem!important}.pt-sm-8,.py-sm-8{padding-top:8rem!important}.pr-sm-8,.px-sm-8{padding-right:8rem!important}.pb-sm-8,.py-sm-8{padding-bottom:8rem!important}.pl-sm-8,.px-sm-8{padding-left:8rem!important}.p-sm-9{padding:10rem!important}.pt-sm-9,.py-sm-9{padding-top:10rem!important}.pr-sm-9,.px-sm-9{padding-right:10rem!important}.pb-sm-9,.py-sm-9{padding-bottom:10rem!important}.pl-sm-9,.px-sm-9{padding-left:10rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-n-9{margin:10rem!important}.mt-sm-n-9,.my-sm-n-9{margin-top:10rem!important}.mr-sm-n-9,.mx-sm-n-9{margin-right:10rem!important}.mb-sm-n-9,.my-sm-n-9{margin-bottom:10rem!important}.ml-sm-n-9,.mx-sm-n-9{margin-left:10rem!important}.m-sm-n-8{margin:8rem!important}.mt-sm-n-8,.my-sm-n-8{margin-top:8rem!important}.mr-sm-n-8,.mx-sm-n-8{margin-right:8rem!important}.mb-sm-n-8,.my-sm-n-8{margin-bottom:8rem!important}.ml-sm-n-8,.mx-sm-n-8{margin-left:8rem!important}.m-sm-n-7{margin:6rem!important}.mt-sm-n-7,.my-sm-n-7{margin-top:6rem!important}.mr-sm-n-7,.mx-sm-n-7{margin-right:6rem!important}.mb-sm-n-7,.my-sm-n-7{margin-bottom:6rem!important}.ml-sm-n-7,.mx-sm-n-7{margin-left:6rem!important}.m-sm-n-6{margin:4.5rem!important}.mt-sm-n-6,.my-sm-n-6{margin-top:4.5rem!important}.mr-sm-n-6,.mx-sm-n-6{margin-right:4.5rem!important}.mb-sm-n-6,.my-sm-n-6{margin-bottom:4.5rem!important}.ml-sm-n-6,.mx-sm-n-6{margin-left:4.5rem!important}.m-sm-n-5{margin:3rem!important}.mt-sm-n-5,.my-sm-n-5{margin-top:3rem!important}.mr-sm-n-5,.mx-sm-n-5{margin-right:3rem!important}.mb-sm-n-5,.my-sm-n-5{margin-bottom:3rem!important}.ml-sm-n-5,.mx-sm-n-5{margin-left:3rem!important}.m-sm-n-4{margin:1.5rem!important}.mt-sm-n-4,.my-sm-n-4{margin-top:1.5rem!important}.mr-sm-n-4,.mx-sm-n-4{margin-right:1.5rem!important}.mb-sm-n-4,.my-sm-n-4{margin-bottom:1.5rem!important}.ml-sm-n-4,.mx-sm-n-4{margin-left:1.5rem!important}.m-sm-n-3{margin:1rem!important}.mt-sm-n-3,.my-sm-n-3{margin-top:1rem!important}.mr-sm-n-3,.mx-sm-n-3{margin-right:1rem!important}.mb-sm-n-3,.my-sm-n-3{margin-bottom:1rem!important}.ml-sm-n-3,.mx-sm-n-3{margin-left:1rem!important}.m-sm-n-2{margin:.5rem!important}.mt-sm-n-2,.my-sm-n-2{margin-top:.5rem!important}.mr-sm-n-2,.mx-sm-n-2{margin-right:.5rem!important}.mb-sm-n-2,.my-sm-n-2{margin-bottom:.5rem!important}.ml-sm-n-2,.mx-sm-n-2{margin-left:.5rem!important}.m-sm-n-1{margin:.25rem!important}.mt-sm-n-1,.my-sm-n-1{margin-top:.25rem!important}.mr-sm-n-1,.mx-sm-n-1{margin-right:.25rem!important}.mb-sm-n-1,.my-sm-n-1{margin-bottom:.25rem!important}.ml-sm-n-1,.mx-sm-n-1{margin-left:.25rem!important}.m-sm-n6{margin:-4.5rem!important}.mt-sm-n6,.my-sm-n6{margin-top:-4.5rem!important}.mr-sm-n6,.mx-sm-n6{margin-right:-4.5rem!important}.mb-sm-n6,.my-sm-n6{margin-bottom:-4.5rem!important}.ml-sm-n6,.mx-sm-n6{margin-left:-4.5rem!important}.m-sm-n7{margin:-6rem!important}.mt-sm-n7,.my-sm-n7{margin-top:-6rem!important}.mr-sm-n7,.mx-sm-n7{margin-right:-6rem!important}.mb-sm-n7,.my-sm-n7{margin-bottom:-6rem!important}.ml-sm-n7,.mx-sm-n7{margin-left:-6rem!important}.m-sm-n8{margin:-8rem!important}.mt-sm-n8,.my-sm-n8{margin-top:-8rem!important}.mr-sm-n8,.mx-sm-n8{margin-right:-8rem!important}.mb-sm-n8,.my-sm-n8{margin-bottom:-8rem!important}.ml-sm-n8,.mx-sm-n8{margin-left:-8rem!important}.m-sm-n9{margin:-10rem!important}.mt-sm-n9,.my-sm-n9{margin-top:-10rem!important}.mr-sm-n9,.mx-sm-n9{margin-right:-10rem!important}.mb-sm-n9,.my-sm-n9{margin-bottom:-10rem!important}.ml-sm-n9,.mx-sm-n9{margin-left:-10rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.m-md--9{margin:-10rem!important}.mt-md--9,.my-md--9{margin-top:-10rem!important}.mr-md--9,.mx-md--9{margin-right:-10rem!important}.mb-md--9,.my-md--9{margin-bottom:-10rem!important}.ml-md--9,.mx-md--9{margin-left:-10rem!important}.m-md--8{margin:-8rem!important}.mt-md--8,.my-md--8{margin-top:-8rem!important}.mr-md--8,.mx-md--8{margin-right:-8rem!important}.mb-md--8,.my-md--8{margin-bottom:-8rem!important}.ml-md--8,.mx-md--8{margin-left:-8rem!important}.m-md--7{margin:-6rem!important}.mt-md--7,.my-md--7{margin-top:-6rem!important}.mr-md--7,.mx-md--7{margin-right:-6rem!important}.mb-md--7,.my-md--7{margin-bottom:-6rem!important}.ml-md--7,.mx-md--7{margin-left:-6rem!important}.m-md--6{margin:-4.5rem!important}.mt-md--6,.my-md--6{margin-top:-4.5rem!important}.mr-md--6,.mx-md--6{margin-right:-4.5rem!important}.mb-md--6,.my-md--6{margin-bottom:-4.5rem!important}.ml-md--6,.mx-md--6{margin-left:-4.5rem!important}.m-md--5{margin:-3rem!important}.mt-md--5,.my-md--5{margin-top:-3rem!important}.mr-md--5,.mx-md--5{margin-right:-3rem!important}.mb-md--5,.my-md--5{margin-bottom:-3rem!important}.ml-md--5,.mx-md--5{margin-left:-3rem!important}.m-md--4{margin:-1.5rem!important}.mt-md--4,.my-md--4{margin-top:-1.5rem!important}.mr-md--4,.mx-md--4{margin-right:-1.5rem!important}.mb-md--4,.my-md--4{margin-bottom:-1.5rem!important}.ml-md--4,.mx-md--4{margin-left:-1.5rem!important}.m-md--3{margin:-1rem!important}.mt-md--3,.my-md--3{margin-top:-1rem!important}.mr-md--3,.mx-md--3{margin-right:-1rem!important}.mb-md--3,.my-md--3{margin-bottom:-1rem!important}.ml-md--3,.mx-md--3{margin-left:-1rem!important}.m-md--2{margin:-.5rem!important}.mt-md--2,.my-md--2{margin-top:-.5rem!important}.mr-md--2,.mx-md--2{margin-right:-.5rem!important}.mb-md--2,.my-md--2{margin-bottom:-.5rem!important}.ml-md--2,.mx-md--2{margin-left:-.5rem!important}.m-md--1{margin:-.25rem!important}.mt-md--1,.my-md--1{margin-top:-.25rem!important}.mr-md--1,.mx-md--1{margin-right:-.25rem!important}.mb-md--1,.my-md--1{margin-bottom:-.25rem!important}.ml-md--1,.mx-md--1{margin-left:-.25rem!important}.m-md-6{margin:4.5rem!important}.mt-md-6,.my-md-6{margin-top:4.5rem!important}.mr-md-6,.mx-md-6{margin-right:4.5rem!important}.mb-md-6,.my-md-6{margin-bottom:4.5rem!important}.ml-md-6,.mx-md-6{margin-left:4.5rem!important}.m-md-7{margin:6rem!important}.mt-md-7,.my-md-7{margin-top:6rem!important}.mr-md-7,.mx-md-7{margin-right:6rem!important}.mb-md-7,.my-md-7{margin-bottom:6rem!important}.ml-md-7,.mx-md-7{margin-left:6rem!important}.m-md-8{margin:8rem!important}.mt-md-8,.my-md-8{margin-top:8rem!important}.mr-md-8,.mx-md-8{margin-right:8rem!important}.mb-md-8,.my-md-8{margin-bottom:8rem!important}.ml-md-8,.mx-md-8{margin-left:8rem!important}.m-md-9{margin:10rem!important}.mt-md-9,.my-md-9{margin-top:10rem!important}.mr-md-9,.mx-md-9{margin-right:10rem!important}.mb-md-9,.my-md-9{margin-bottom:10rem!important}.ml-md-9,.mx-md-9{margin-left:10rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.p-md--9{padding:-10rem!important}.pt-md--9,.py-md--9{padding-top:-10rem!important}.pr-md--9,.px-md--9{padding-right:-10rem!important}.pb-md--9,.py-md--9{padding-bottom:-10rem!important}.pl-md--9,.px-md--9{padding-left:-10rem!important}.p-md--8{padding:-8rem!important}.pt-md--8,.py-md--8{padding-top:-8rem!important}.pr-md--8,.px-md--8{padding-right:-8rem!important}.pb-md--8,.py-md--8{padding-bottom:-8rem!important}.pl-md--8,.px-md--8{padding-left:-8rem!important}.p-md--7{padding:-6rem!important}.pt-md--7,.py-md--7{padding-top:-6rem!important}.pr-md--7,.px-md--7{padding-right:-6rem!important}.pb-md--7,.py-md--7{padding-bottom:-6rem!important}.pl-md--7,.px-md--7{padding-left:-6rem!important}.p-md--6{padding:-4.5rem!important}.pt-md--6,.py-md--6{padding-top:-4.5rem!important}.pr-md--6,.px-md--6{padding-right:-4.5rem!important}.pb-md--6,.py-md--6{padding-bottom:-4.5rem!important}.pl-md--6,.px-md--6{padding-left:-4.5rem!important}.p-md--5{padding:-3rem!important}.pt-md--5,.py-md--5{padding-top:-3rem!important}.pr-md--5,.px-md--5{padding-right:-3rem!important}.pb-md--5,.py-md--5{padding-bottom:-3rem!important}.pl-md--5,.px-md--5{padding-left:-3rem!important}.p-md--4{padding:-1.5rem!important}.pt-md--4,.py-md--4{padding-top:-1.5rem!important}.pr-md--4,.px-md--4{padding-right:-1.5rem!important}.pb-md--4,.py-md--4{padding-bottom:-1.5rem!important}.pl-md--4,.px-md--4{padding-left:-1.5rem!important}.p-md--3{padding:-1rem!important}.pt-md--3,.py-md--3{padding-top:-1rem!important}.pr-md--3,.px-md--3{padding-right:-1rem!important}.pb-md--3,.py-md--3{padding-bottom:-1rem!important}.pl-md--3,.px-md--3{padding-left:-1rem!important}.p-md--2{padding:-.5rem!important}.pt-md--2,.py-md--2{padding-top:-.5rem!important}.pr-md--2,.px-md--2{padding-right:-.5rem!important}.pb-md--2,.py-md--2{padding-bottom:-.5rem!important}.pl-md--2,.px-md--2{padding-left:-.5rem!important}.p-md--1{padding:-.25rem!important}.pt-md--1,.py-md--1{padding-top:-.25rem!important}.pr-md--1,.px-md--1{padding-right:-.25rem!important}.pb-md--1,.py-md--1{padding-bottom:-.25rem!important}.pl-md--1,.px-md--1{padding-left:-.25rem!important}.p-md-6{padding:4.5rem!important}.pt-md-6,.py-md-6{padding-top:4.5rem!important}.pr-md-6,.px-md-6{padding-right:4.5rem!important}.pb-md-6,.py-md-6{padding-bottom:4.5rem!important}.pl-md-6,.px-md-6{padding-left:4.5rem!important}.p-md-7{padding:6rem!important}.pt-md-7,.py-md-7{padding-top:6rem!important}.pr-md-7,.px-md-7{padding-right:6rem!important}.pb-md-7,.py-md-7{padding-bottom:6rem!important}.pl-md-7,.px-md-7{padding-left:6rem!important}.p-md-8{padding:8rem!important}.pt-md-8,.py-md-8{padding-top:8rem!important}.pr-md-8,.px-md-8{padding-right:8rem!important}.pb-md-8,.py-md-8{padding-bottom:8rem!important}.pl-md-8,.px-md-8{padding-left:8rem!important}.p-md-9{padding:10rem!important}.pt-md-9,.py-md-9{padding-top:10rem!important}.pr-md-9,.px-md-9{padding-right:10rem!important}.pb-md-9,.py-md-9{padding-bottom:10rem!important}.pl-md-9,.px-md-9{padding-left:10rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-n-9{margin:10rem!important}.mt-md-n-9,.my-md-n-9{margin-top:10rem!important}.mr-md-n-9,.mx-md-n-9{margin-right:10rem!important}.mb-md-n-9,.my-md-n-9{margin-bottom:10rem!important}.ml-md-n-9,.mx-md-n-9{margin-left:10rem!important}.m-md-n-8{margin:8rem!important}.mt-md-n-8,.my-md-n-8{margin-top:8rem!important}.mr-md-n-8,.mx-md-n-8{margin-right:8rem!important}.mb-md-n-8,.my-md-n-8{margin-bottom:8rem!important}.ml-md-n-8,.mx-md-n-8{margin-left:8rem!important}.m-md-n-7{margin:6rem!important}.mt-md-n-7,.my-md-n-7{margin-top:6rem!important}.mr-md-n-7,.mx-md-n-7{margin-right:6rem!important}.mb-md-n-7,.my-md-n-7{margin-bottom:6rem!important}.ml-md-n-7,.mx-md-n-7{margin-left:6rem!important}.m-md-n-6{margin:4.5rem!important}.mt-md-n-6,.my-md-n-6{margin-top:4.5rem!important}.mr-md-n-6,.mx-md-n-6{margin-right:4.5rem!important}.mb-md-n-6,.my-md-n-6{margin-bottom:4.5rem!important}.ml-md-n-6,.mx-md-n-6{margin-left:4.5rem!important}.m-md-n-5{margin:3rem!important}.mt-md-n-5,.my-md-n-5{margin-top:3rem!important}.mr-md-n-5,.mx-md-n-5{margin-right:3rem!important}.mb-md-n-5,.my-md-n-5{margin-bottom:3rem!important}.ml-md-n-5,.mx-md-n-5{margin-left:3rem!important}.m-md-n-4{margin:1.5rem!important}.mt-md-n-4,.my-md-n-4{margin-top:1.5rem!important}.mr-md-n-4,.mx-md-n-4{margin-right:1.5rem!important}.mb-md-n-4,.my-md-n-4{margin-bottom:1.5rem!important}.ml-md-n-4,.mx-md-n-4{margin-left:1.5rem!important}.m-md-n-3{margin:1rem!important}.mt-md-n-3,.my-md-n-3{margin-top:1rem!important}.mr-md-n-3,.mx-md-n-3{margin-right:1rem!important}.mb-md-n-3,.my-md-n-3{margin-bottom:1rem!important}.ml-md-n-3,.mx-md-n-3{margin-left:1rem!important}.m-md-n-2{margin:.5rem!important}.mt-md-n-2,.my-md-n-2{margin-top:.5rem!important}.mr-md-n-2,.mx-md-n-2{margin-right:.5rem!important}.mb-md-n-2,.my-md-n-2{margin-bottom:.5rem!important}.ml-md-n-2,.mx-md-n-2{margin-left:.5rem!important}.m-md-n-1{margin:.25rem!important}.mt-md-n-1,.my-md-n-1{margin-top:.25rem!important}.mr-md-n-1,.mx-md-n-1{margin-right:.25rem!important}.mb-md-n-1,.my-md-n-1{margin-bottom:.25rem!important}.ml-md-n-1,.mx-md-n-1{margin-left:.25rem!important}.m-md-n6{margin:-4.5rem!important}.mt-md-n6,.my-md-n6{margin-top:-4.5rem!important}.mr-md-n6,.mx-md-n6{margin-right:-4.5rem!important}.mb-md-n6,.my-md-n6{margin-bottom:-4.5rem!important}.ml-md-n6,.mx-md-n6{margin-left:-4.5rem!important}.m-md-n7{margin:-6rem!important}.mt-md-n7,.my-md-n7{margin-top:-6rem!important}.mr-md-n7,.mx-md-n7{margin-right:-6rem!important}.mb-md-n7,.my-md-n7{margin-bottom:-6rem!important}.ml-md-n7,.mx-md-n7{margin-left:-6rem!important}.m-md-n8{margin:-8rem!important}.mt-md-n8,.my-md-n8{margin-top:-8rem!important}.mr-md-n8,.mx-md-n8{margin-right:-8rem!important}.mb-md-n8,.my-md-n8{margin-bottom:-8rem!important}.ml-md-n8,.mx-md-n8{margin-left:-8rem!important}.m-md-n9{margin:-10rem!important}.mt-md-n9,.my-md-n9{margin-top:-10rem!important}.mr-md-n9,.mx-md-n9{margin-right:-10rem!important}.mb-md-n9,.my-md-n9{margin-bottom:-10rem!important}.ml-md-n9,.mx-md-n9{margin-left:-10rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.m-lg--9{margin:-10rem!important}.mt-lg--9,.my-lg--9{margin-top:-10rem!important}.mr-lg--9,.mx-lg--9{margin-right:-10rem!important}.mb-lg--9,.my-lg--9{margin-bottom:-10rem!important}.ml-lg--9,.mx-lg--9{margin-left:-10rem!important}.m-lg--8{margin:-8rem!important}.mt-lg--8,.my-lg--8{margin-top:-8rem!important}.mr-lg--8,.mx-lg--8{margin-right:-8rem!important}.mb-lg--8,.my-lg--8{margin-bottom:-8rem!important}.ml-lg--8,.mx-lg--8{margin-left:-8rem!important}.m-lg--7{margin:-6rem!important}.mt-lg--7,.my-lg--7{margin-top:-6rem!important}.mr-lg--7,.mx-lg--7{margin-right:-6rem!important}.mb-lg--7,.my-lg--7{margin-bottom:-6rem!important}.ml-lg--7,.mx-lg--7{margin-left:-6rem!important}.m-lg--6{margin:-4.5rem!important}.mt-lg--6,.my-lg--6{margin-top:-4.5rem!important}.mr-lg--6,.mx-lg--6{margin-right:-4.5rem!important}.mb-lg--6,.my-lg--6{margin-bottom:-4.5rem!important}.ml-lg--6,.mx-lg--6{margin-left:-4.5rem!important}.m-lg--5{margin:-3rem!important}.mt-lg--5,.my-lg--5{margin-top:-3rem!important}.mr-lg--5,.mx-lg--5{margin-right:-3rem!important}.mb-lg--5,.my-lg--5{margin-bottom:-3rem!important}.ml-lg--5,.mx-lg--5{margin-left:-3rem!important}.m-lg--4{margin:-1.5rem!important}.mt-lg--4,.my-lg--4{margin-top:-1.5rem!important}.mr-lg--4,.mx-lg--4{margin-right:-1.5rem!important}.mb-lg--4,.my-lg--4{margin-bottom:-1.5rem!important}.ml-lg--4,.mx-lg--4{margin-left:-1.5rem!important}.m-lg--3{margin:-1rem!important}.mt-lg--3,.my-lg--3{margin-top:-1rem!important}.mr-lg--3,.mx-lg--3{margin-right:-1rem!important}.mb-lg--3,.my-lg--3{margin-bottom:-1rem!important}.ml-lg--3,.mx-lg--3{margin-left:-1rem!important}.m-lg--2{margin:-.5rem!important}.mt-lg--2,.my-lg--2{margin-top:-.5rem!important}.mr-lg--2,.mx-lg--2{margin-right:-.5rem!important}.mb-lg--2,.my-lg--2{margin-bottom:-.5rem!important}.ml-lg--2,.mx-lg--2{margin-left:-.5rem!important}.m-lg--1{margin:-.25rem!important}.mt-lg--1,.my-lg--1{margin-top:-.25rem!important}.mr-lg--1,.mx-lg--1{margin-right:-.25rem!important}.mb-lg--1,.my-lg--1{margin-bottom:-.25rem!important}.ml-lg--1,.mx-lg--1{margin-left:-.25rem!important}.m-lg-6{margin:4.5rem!important}.mt-lg-6,.my-lg-6{margin-top:4.5rem!important}.mr-lg-6,.mx-lg-6{margin-right:4.5rem!important}.mb-lg-6,.my-lg-6{margin-bottom:4.5rem!important}.ml-lg-6,.mx-lg-6{margin-left:4.5rem!important}.m-lg-7{margin:6rem!important}.mt-lg-7,.my-lg-7{margin-top:6rem!important}.mr-lg-7,.mx-lg-7{margin-right:6rem!important}.mb-lg-7,.my-lg-7{margin-bottom:6rem!important}.ml-lg-7,.mx-lg-7{margin-left:6rem!important}.m-lg-8{margin:8rem!important}.mt-lg-8,.my-lg-8{margin-top:8rem!important}.mr-lg-8,.mx-lg-8{margin-right:8rem!important}.mb-lg-8,.my-lg-8{margin-bottom:8rem!important}.ml-lg-8,.mx-lg-8{margin-left:8rem!important}.m-lg-9{margin:10rem!important}.mt-lg-9,.my-lg-9{margin-top:10rem!important}.mr-lg-9,.mx-lg-9{margin-right:10rem!important}.mb-lg-9,.my-lg-9{margin-bottom:10rem!important}.ml-lg-9,.mx-lg-9{margin-left:10rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.p-lg--9{padding:-10rem!important}.pt-lg--9,.py-lg--9{padding-top:-10rem!important}.pr-lg--9,.px-lg--9{padding-right:-10rem!important}.pb-lg--9,.py-lg--9{padding-bottom:-10rem!important}.pl-lg--9,.px-lg--9{padding-left:-10rem!important}.p-lg--8{padding:-8rem!important}.pt-lg--8,.py-lg--8{padding-top:-8rem!important}.pr-lg--8,.px-lg--8{padding-right:-8rem!important}.pb-lg--8,.py-lg--8{padding-bottom:-8rem!important}.pl-lg--8,.px-lg--8{padding-left:-8rem!important}.p-lg--7{padding:-6rem!important}.pt-lg--7,.py-lg--7{padding-top:-6rem!important}.pr-lg--7,.px-lg--7{padding-right:-6rem!important}.pb-lg--7,.py-lg--7{padding-bottom:-6rem!important}.pl-lg--7,.px-lg--7{padding-left:-6rem!important}.p-lg--6{padding:-4.5rem!important}.pt-lg--6,.py-lg--6{padding-top:-4.5rem!important}.pr-lg--6,.px-lg--6{padding-right:-4.5rem!important}.pb-lg--6,.py-lg--6{padding-bottom:-4.5rem!important}.pl-lg--6,.px-lg--6{padding-left:-4.5rem!important}.p-lg--5{padding:-3rem!important}.pt-lg--5,.py-lg--5{padding-top:-3rem!important}.pr-lg--5,.px-lg--5{padding-right:-3rem!important}.pb-lg--5,.py-lg--5{padding-bottom:-3rem!important}.pl-lg--5,.px-lg--5{padding-left:-3rem!important}.p-lg--4{padding:-1.5rem!important}.pt-lg--4,.py-lg--4{padding-top:-1.5rem!important}.pr-lg--4,.px-lg--4{padding-right:-1.5rem!important}.pb-lg--4,.py-lg--4{padding-bottom:-1.5rem!important}.pl-lg--4,.px-lg--4{padding-left:-1.5rem!important}.p-lg--3{padding:-1rem!important}.pt-lg--3,.py-lg--3{padding-top:-1rem!important}.pr-lg--3,.px-lg--3{padding-right:-1rem!important}.pb-lg--3,.py-lg--3{padding-bottom:-1rem!important}.pl-lg--3,.px-lg--3{padding-left:-1rem!important}.p-lg--2{padding:-.5rem!important}.pt-lg--2,.py-lg--2{padding-top:-.5rem!important}.pr-lg--2,.px-lg--2{padding-right:-.5rem!important}.pb-lg--2,.py-lg--2{padding-bottom:-.5rem!important}.pl-lg--2,.px-lg--2{padding-left:-.5rem!important}.p-lg--1{padding:-.25rem!important}.pt-lg--1,.py-lg--1{padding-top:-.25rem!important}.pr-lg--1,.px-lg--1{padding-right:-.25rem!important}.pb-lg--1,.py-lg--1{padding-bottom:-.25rem!important}.pl-lg--1,.px-lg--1{padding-left:-.25rem!important}.p-lg-6{padding:4.5rem!important}.pt-lg-6,.py-lg-6{padding-top:4.5rem!important}.pr-lg-6,.px-lg-6{padding-right:4.5rem!important}.pb-lg-6,.py-lg-6{padding-bottom:4.5rem!important}.pl-lg-6,.px-lg-6{padding-left:4.5rem!important}.p-lg-7{padding:6rem!important}.pt-lg-7,.py-lg-7{padding-top:6rem!important}.pr-lg-7,.px-lg-7{padding-right:6rem!important}.pb-lg-7,.py-lg-7{padding-bottom:6rem!important}.pl-lg-7,.px-lg-7{padding-left:6rem!important}.p-lg-8{padding:8rem!important}.pt-lg-8,.py-lg-8{padding-top:8rem!important}.pr-lg-8,.px-lg-8{padding-right:8rem!important}.pb-lg-8,.py-lg-8{padding-bottom:8rem!important}.pl-lg-8,.px-lg-8{padding-left:8rem!important}.p-lg-9{padding:10rem!important}.pt-lg-9,.py-lg-9{padding-top:10rem!important}.pr-lg-9,.px-lg-9{padding-right:10rem!important}.pb-lg-9,.py-lg-9{padding-bottom:10rem!important}.pl-lg-9,.px-lg-9{padding-left:10rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-n-9{margin:10rem!important}.mt-lg-n-9,.my-lg-n-9{margin-top:10rem!important}.mr-lg-n-9,.mx-lg-n-9{margin-right:10rem!important}.mb-lg-n-9,.my-lg-n-9{margin-bottom:10rem!important}.ml-lg-n-9,.mx-lg-n-9{margin-left:10rem!important}.m-lg-n-8{margin:8rem!important}.mt-lg-n-8,.my-lg-n-8{margin-top:8rem!important}.mr-lg-n-8,.mx-lg-n-8{margin-right:8rem!important}.mb-lg-n-8,.my-lg-n-8{margin-bottom:8rem!important}.ml-lg-n-8,.mx-lg-n-8{margin-left:8rem!important}.m-lg-n-7{margin:6rem!important}.mt-lg-n-7,.my-lg-n-7{margin-top:6rem!important}.mr-lg-n-7,.mx-lg-n-7{margin-right:6rem!important}.mb-lg-n-7,.my-lg-n-7{margin-bottom:6rem!important}.ml-lg-n-7,.mx-lg-n-7{margin-left:6rem!important}.m-lg-n-6{margin:4.5rem!important}.mt-lg-n-6,.my-lg-n-6{margin-top:4.5rem!important}.mr-lg-n-6,.mx-lg-n-6{margin-right:4.5rem!important}.mb-lg-n-6,.my-lg-n-6{margin-bottom:4.5rem!important}.ml-lg-n-6,.mx-lg-n-6{margin-left:4.5rem!important}.m-lg-n-5{margin:3rem!important}.mt-lg-n-5,.my-lg-n-5{margin-top:3rem!important}.mr-lg-n-5,.mx-lg-n-5{margin-right:3rem!important}.mb-lg-n-5,.my-lg-n-5{margin-bottom:3rem!important}.ml-lg-n-5,.mx-lg-n-5{margin-left:3rem!important}.m-lg-n-4{margin:1.5rem!important}.mt-lg-n-4,.my-lg-n-4{margin-top:1.5rem!important}.mr-lg-n-4,.mx-lg-n-4{margin-right:1.5rem!important}.mb-lg-n-4,.my-lg-n-4{margin-bottom:1.5rem!important}.ml-lg-n-4,.mx-lg-n-4{margin-left:1.5rem!important}.m-lg-n-3{margin:1rem!important}.mt-lg-n-3,.my-lg-n-3{margin-top:1rem!important}.mr-lg-n-3,.mx-lg-n-3{margin-right:1rem!important}.mb-lg-n-3,.my-lg-n-3{margin-bottom:1rem!important}.ml-lg-n-3,.mx-lg-n-3{margin-left:1rem!important}.m-lg-n-2{margin:.5rem!important}.mt-lg-n-2,.my-lg-n-2{margin-top:.5rem!important}.mr-lg-n-2,.mx-lg-n-2{margin-right:.5rem!important}.mb-lg-n-2,.my-lg-n-2{margin-bottom:.5rem!important}.ml-lg-n-2,.mx-lg-n-2{margin-left:.5rem!important}.m-lg-n-1{margin:.25rem!important}.mt-lg-n-1,.my-lg-n-1{margin-top:.25rem!important}.mr-lg-n-1,.mx-lg-n-1{margin-right:.25rem!important}.mb-lg-n-1,.my-lg-n-1{margin-bottom:.25rem!important}.ml-lg-n-1,.mx-lg-n-1{margin-left:.25rem!important}.m-lg-n6{margin:-4.5rem!important}.mt-lg-n6,.my-lg-n6{margin-top:-4.5rem!important}.mr-lg-n6,.mx-lg-n6{margin-right:-4.5rem!important}.mb-lg-n6,.my-lg-n6{margin-bottom:-4.5rem!important}.ml-lg-n6,.mx-lg-n6{margin-left:-4.5rem!important}.m-lg-n7{margin:-6rem!important}.mt-lg-n7,.my-lg-n7{margin-top:-6rem!important}.mr-lg-n7,.mx-lg-n7{margin-right:-6rem!important}.mb-lg-n7,.my-lg-n7{margin-bottom:-6rem!important}.ml-lg-n7,.mx-lg-n7{margin-left:-6rem!important}.m-lg-n8{margin:-8rem!important}.mt-lg-n8,.my-lg-n8{margin-top:-8rem!important}.mr-lg-n8,.mx-lg-n8{margin-right:-8rem!important}.mb-lg-n8,.my-lg-n8{margin-bottom:-8rem!important}.ml-lg-n8,.mx-lg-n8{margin-left:-8rem!important}.m-lg-n9{margin:-10rem!important}.mt-lg-n9,.my-lg-n9{margin-top:-10rem!important}.mr-lg-n9,.mx-lg-n9{margin-right:-10rem!important}.mb-lg-n9,.my-lg-n9{margin-bottom:-10rem!important}.ml-lg-n9,.mx-lg-n9{margin-left:-10rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.m-xl--9{margin:-10rem!important}.mt-xl--9,.my-xl--9{margin-top:-10rem!important}.mr-xl--9,.mx-xl--9{margin-right:-10rem!important}.mb-xl--9,.my-xl--9{margin-bottom:-10rem!important}.ml-xl--9,.mx-xl--9{margin-left:-10rem!important}.m-xl--8{margin:-8rem!important}.mt-xl--8,.my-xl--8{margin-top:-8rem!important}.mr-xl--8,.mx-xl--8{margin-right:-8rem!important}.mb-xl--8,.my-xl--8{margin-bottom:-8rem!important}.ml-xl--8,.mx-xl--8{margin-left:-8rem!important}.m-xl--7{margin:-6rem!important}.mt-xl--7,.my-xl--7{margin-top:-6rem!important}.mr-xl--7,.mx-xl--7{margin-right:-6rem!important}.mb-xl--7,.my-xl--7{margin-bottom:-6rem!important}.ml-xl--7,.mx-xl--7{margin-left:-6rem!important}.m-xl--6{margin:-4.5rem!important}.mt-xl--6,.my-xl--6{margin-top:-4.5rem!important}.mr-xl--6,.mx-xl--6{margin-right:-4.5rem!important}.mb-xl--6,.my-xl--6{margin-bottom:-4.5rem!important}.ml-xl--6,.mx-xl--6{margin-left:-4.5rem!important}.m-xl--5{margin:-3rem!important}.mt-xl--5,.my-xl--5{margin-top:-3rem!important}.mr-xl--5,.mx-xl--5{margin-right:-3rem!important}.mb-xl--5,.my-xl--5{margin-bottom:-3rem!important}.ml-xl--5,.mx-xl--5{margin-left:-3rem!important}.m-xl--4{margin:-1.5rem!important}.mt-xl--4,.my-xl--4{margin-top:-1.5rem!important}.mr-xl--4,.mx-xl--4{margin-right:-1.5rem!important}.mb-xl--4,.my-xl--4{margin-bottom:-1.5rem!important}.ml-xl--4,.mx-xl--4{margin-left:-1.5rem!important}.m-xl--3{margin:-1rem!important}.mt-xl--3,.my-xl--3{margin-top:-1rem!important}.mr-xl--3,.mx-xl--3{margin-right:-1rem!important}.mb-xl--3,.my-xl--3{margin-bottom:-1rem!important}.ml-xl--3,.mx-xl--3{margin-left:-1rem!important}.m-xl--2{margin:-.5rem!important}.mt-xl--2,.my-xl--2{margin-top:-.5rem!important}.mr-xl--2,.mx-xl--2{margin-right:-.5rem!important}.mb-xl--2,.my-xl--2{margin-bottom:-.5rem!important}.ml-xl--2,.mx-xl--2{margin-left:-.5rem!important}.m-xl--1{margin:-.25rem!important}.mt-xl--1,.my-xl--1{margin-top:-.25rem!important}.mr-xl--1,.mx-xl--1{margin-right:-.25rem!important}.mb-xl--1,.my-xl--1{margin-bottom:-.25rem!important}.ml-xl--1,.mx-xl--1{margin-left:-.25rem!important}.m-xl-6{margin:4.5rem!important}.mt-xl-6,.my-xl-6{margin-top:4.5rem!important}.mr-xl-6,.mx-xl-6{margin-right:4.5rem!important}.mb-xl-6,.my-xl-6{margin-bottom:4.5rem!important}.ml-xl-6,.mx-xl-6{margin-left:4.5rem!important}.m-xl-7{margin:6rem!important}.mt-xl-7,.my-xl-7{margin-top:6rem!important}.mr-xl-7,.mx-xl-7{margin-right:6rem!important}.mb-xl-7,.my-xl-7{margin-bottom:6rem!important}.ml-xl-7,.mx-xl-7{margin-left:6rem!important}.m-xl-8{margin:8rem!important}.mt-xl-8,.my-xl-8{margin-top:8rem!important}.mr-xl-8,.mx-xl-8{margin-right:8rem!important}.mb-xl-8,.my-xl-8{margin-bottom:8rem!important}.ml-xl-8,.mx-xl-8{margin-left:8rem!important}.m-xl-9{margin:10rem!important}.mt-xl-9,.my-xl-9{margin-top:10rem!important}.mr-xl-9,.mx-xl-9{margin-right:10rem!important}.mb-xl-9,.my-xl-9{margin-bottom:10rem!important}.ml-xl-9,.mx-xl-9{margin-left:10rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.p-xl--9{padding:-10rem!important}.pt-xl--9,.py-xl--9{padding-top:-10rem!important}.pr-xl--9,.px-xl--9{padding-right:-10rem!important}.pb-xl--9,.py-xl--9{padding-bottom:-10rem!important}.pl-xl--9,.px-xl--9{padding-left:-10rem!important}.p-xl--8{padding:-8rem!important}.pt-xl--8,.py-xl--8{padding-top:-8rem!important}.pr-xl--8,.px-xl--8{padding-right:-8rem!important}.pb-xl--8,.py-xl--8{padding-bottom:-8rem!important}.pl-xl--8,.px-xl--8{padding-left:-8rem!important}.p-xl--7{padding:-6rem!important}.pt-xl--7,.py-xl--7{padding-top:-6rem!important}.pr-xl--7,.px-xl--7{padding-right:-6rem!important}.pb-xl--7,.py-xl--7{padding-bottom:-6rem!important}.pl-xl--7,.px-xl--7{padding-left:-6rem!important}.p-xl--6{padding:-4.5rem!important}.pt-xl--6,.py-xl--6{padding-top:-4.5rem!important}.pr-xl--6,.px-xl--6{padding-right:-4.5rem!important}.pb-xl--6,.py-xl--6{padding-bottom:-4.5rem!important}.pl-xl--6,.px-xl--6{padding-left:-4.5rem!important}.p-xl--5{padding:-3rem!important}.pt-xl--5,.py-xl--5{padding-top:-3rem!important}.pr-xl--5,.px-xl--5{padding-right:-3rem!important}.pb-xl--5,.py-xl--5{padding-bottom:-3rem!important}.pl-xl--5,.px-xl--5{padding-left:-3rem!important}.p-xl--4{padding:-1.5rem!important}.pt-xl--4,.py-xl--4{padding-top:-1.5rem!important}.pr-xl--4,.px-xl--4{padding-right:-1.5rem!important}.pb-xl--4,.py-xl--4{padding-bottom:-1.5rem!important}.pl-xl--4,.px-xl--4{padding-left:-1.5rem!important}.p-xl--3{padding:-1rem!important}.pt-xl--3,.py-xl--3{padding-top:-1rem!important}.pr-xl--3,.px-xl--3{padding-right:-1rem!important}.pb-xl--3,.py-xl--3{padding-bottom:-1rem!important}.pl-xl--3,.px-xl--3{padding-left:-1rem!important}.p-xl--2{padding:-.5rem!important}.pt-xl--2,.py-xl--2{padding-top:-.5rem!important}.pr-xl--2,.px-xl--2{padding-right:-.5rem!important}.pb-xl--2,.py-xl--2{padding-bottom:-.5rem!important}.pl-xl--2,.px-xl--2{padding-left:-.5rem!important}.p-xl--1{padding:-.25rem!important}.pt-xl--1,.py-xl--1{padding-top:-.25rem!important}.pr-xl--1,.px-xl--1{padding-right:-.25rem!important}.pb-xl--1,.py-xl--1{padding-bottom:-.25rem!important}.pl-xl--1,.px-xl--1{padding-left:-.25rem!important}.p-xl-6{padding:4.5rem!important}.pt-xl-6,.py-xl-6{padding-top:4.5rem!important}.pr-xl-6,.px-xl-6{padding-right:4.5rem!important}.pb-xl-6,.py-xl-6{padding-bottom:4.5rem!important}.pl-xl-6,.px-xl-6{padding-left:4.5rem!important}.p-xl-7{padding:6rem!important}.pt-xl-7,.py-xl-7{padding-top:6rem!important}.pr-xl-7,.px-xl-7{padding-right:6rem!important}.pb-xl-7,.py-xl-7{padding-bottom:6rem!important}.pl-xl-7,.px-xl-7{padding-left:6rem!important}.p-xl-8{padding:8rem!important}.pt-xl-8,.py-xl-8{padding-top:8rem!important}.pr-xl-8,.px-xl-8{padding-right:8rem!important}.pb-xl-8,.py-xl-8{padding-bottom:8rem!important}.pl-xl-8,.px-xl-8{padding-left:8rem!important}.p-xl-9{padding:10rem!important}.pt-xl-9,.py-xl-9{padding-top:10rem!important}.pr-xl-9,.px-xl-9{padding-right:10rem!important}.pb-xl-9,.py-xl-9{padding-bottom:10rem!important}.pl-xl-9,.px-xl-9{padding-left:10rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-n-9{margin:10rem!important}.mt-xl-n-9,.my-xl-n-9{margin-top:10rem!important}.mr-xl-n-9,.mx-xl-n-9{margin-right:10rem!important}.mb-xl-n-9,.my-xl-n-9{margin-bottom:10rem!important}.ml-xl-n-9,.mx-xl-n-9{margin-left:10rem!important}.m-xl-n-8{margin:8rem!important}.mt-xl-n-8,.my-xl-n-8{margin-top:8rem!important}.mr-xl-n-8,.mx-xl-n-8{margin-right:8rem!important}.mb-xl-n-8,.my-xl-n-8{margin-bottom:8rem!important}.ml-xl-n-8,.mx-xl-n-8{margin-left:8rem!important}.m-xl-n-7{margin:6rem!important}.mt-xl-n-7,.my-xl-n-7{margin-top:6rem!important}.mr-xl-n-7,.mx-xl-n-7{margin-right:6rem!important}.mb-xl-n-7,.my-xl-n-7{margin-bottom:6rem!important}.ml-xl-n-7,.mx-xl-n-7{margin-left:6rem!important}.m-xl-n-6{margin:4.5rem!important}.mt-xl-n-6,.my-xl-n-6{margin-top:4.5rem!important}.mr-xl-n-6,.mx-xl-n-6{margin-right:4.5rem!important}.mb-xl-n-6,.my-xl-n-6{margin-bottom:4.5rem!important}.ml-xl-n-6,.mx-xl-n-6{margin-left:4.5rem!important}.m-xl-n-5{margin:3rem!important}.mt-xl-n-5,.my-xl-n-5{margin-top:3rem!important}.mr-xl-n-5,.mx-xl-n-5{margin-right:3rem!important}.mb-xl-n-5,.my-xl-n-5{margin-bottom:3rem!important}.ml-xl-n-5,.mx-xl-n-5{margin-left:3rem!important}.m-xl-n-4{margin:1.5rem!important}.mt-xl-n-4,.my-xl-n-4{margin-top:1.5rem!important}.mr-xl-n-4,.mx-xl-n-4{margin-right:1.5rem!important}.mb-xl-n-4,.my-xl-n-4{margin-bottom:1.5rem!important}.ml-xl-n-4,.mx-xl-n-4{margin-left:1.5rem!important}.m-xl-n-3{margin:1rem!important}.mt-xl-n-3,.my-xl-n-3{margin-top:1rem!important}.mr-xl-n-3,.mx-xl-n-3{margin-right:1rem!important}.mb-xl-n-3,.my-xl-n-3{margin-bottom:1rem!important}.ml-xl-n-3,.mx-xl-n-3{margin-left:1rem!important}.m-xl-n-2{margin:.5rem!important}.mt-xl-n-2,.my-xl-n-2{margin-top:.5rem!important}.mr-xl-n-2,.mx-xl-n-2{margin-right:.5rem!important}.mb-xl-n-2,.my-xl-n-2{margin-bottom:.5rem!important}.ml-xl-n-2,.mx-xl-n-2{margin-left:.5rem!important}.m-xl-n-1{margin:.25rem!important}.mt-xl-n-1,.my-xl-n-1{margin-top:.25rem!important}.mr-xl-n-1,.mx-xl-n-1{margin-right:.25rem!important}.mb-xl-n-1,.my-xl-n-1{margin-bottom:.25rem!important}.ml-xl-n-1,.mx-xl-n-1{margin-left:.25rem!important}.m-xl-n6{margin:-4.5rem!important}.mt-xl-n6,.my-xl-n6{margin-top:-4.5rem!important}.mr-xl-n6,.mx-xl-n6{margin-right:-4.5rem!important}.mb-xl-n6,.my-xl-n6{margin-bottom:-4.5rem!important}.ml-xl-n6,.mx-xl-n6{margin-left:-4.5rem!important}.m-xl-n7{margin:-6rem!important}.mt-xl-n7,.my-xl-n7{margin-top:-6rem!important}.mr-xl-n7,.mx-xl-n7{margin-right:-6rem!important}.mb-xl-n7,.my-xl-n7{margin-bottom:-6rem!important}.ml-xl-n7,.mx-xl-n7{margin-left:-6rem!important}.m-xl-n8{margin:-8rem!important}.mt-xl-n8,.my-xl-n8{margin-top:-8rem!important}.mr-xl-n8,.mx-xl-n8{margin-right:-8rem!important}.mb-xl-n8,.my-xl-n8{margin-bottom:-8rem!important}.ml-xl-n8,.mx-xl-n8{margin-left:-8rem!important}.m-xl-n9{margin:-10rem!important}.mt-xl-n9,.my-xl-n9{margin-top:-10rem!important}.mr-xl-n9,.mx-xl-n9{margin-right:-10rem!important}.mb-xl-n9,.my-xl-n9{margin-bottom:-10rem!important}.ml-xl-n9,.mx-xl-n9{margin-left:-10rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:600!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-primary{color:#5e72e4!important}a.text-primary:focus,a.text-primary:hover{color:#233dd2!important}.text-secondary{color:#f7fafc!important}a.text-secondary:focus,a.text-secondary:hover{color:#bfd7e7!important}.text-success{color:#2dce89!important}a.text-success:focus,a.text-success:hover{color:#1f8f5f!important}.text-info{color:#11cdef!important}a.text-info:focus,a.text-info:hover{color:#0b90a8!important}.text-warning{color:#fb6340!important}a.text-warning:focus,a.text-warning:hover{color:#ea3005!important}.text-danger{color:#f5365c!important}a.text-danger:focus,a.text-danger:hover{color:#d40b33!important}.text-light{color:#adb5bd!important}a.text-light:focus,a.text-light:hover{color:#838f9b!important}.text-dark{color:#212529!important}a.text-dark:focus,a.text-dark:hover{color:#000!important}.text-default{color:#172b4d!important}a.text-default:focus,a.text-default:hover{color:#050a12!important}.text-neutral{color:#fff!important}a.text-neutral:focus,a.text-neutral:hover{color:#d9d9d9!important}.text-darker,a.text-darker:focus,a.text-darker:hover{color:#000!important}.text-body{color:#525f7f!important}.text-muted{color:#8898aa!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#e9ecef}.table .thead-dark th{color:inherit;border-color:#e9ecef}}.alert{font-size:.875rem}.alert-heading{font-weight:600;font-size:.9375rem;margin-top:.15rem}.alert-icon{font-size:1.25rem;margin-right:1.25rem;display:inline-block;vertical-align:middle}.alert-icon i.ni{position:relative;top:2px}.alert-text{display:inline-block;vertical-align:middle}[class*=alert-] .alert-link{color:#fff;border-bottom:1px dotted hsla(0,0%,100%,.5)}.alert-dismissible .close{top:50%;right:1.5rem;-webkit-transform:translateY(-50%);transform:translateY(-50%);padding:0;opacity:1}@media (max-width:575.98px){.alert-dismissible .close{top:1rem;right:.5rem}}.alert-dismissible .close>span:not(.sr-only){font-size:1.5rem;background-color:transparent;color:hsla(0,0%,100%,.6)}.alert-dismissible .close:focus>span:not(.sr-only),.alert-dismissible .close:hover>span:not(.sr-only){background-color:transparent;color:#fff}.alert-secondary .close>span:not(.sr-only){color:rgba(23,43,77,.6)}.alert-secondary .close:focus>span:not(.sr-only),.alert-secondary .close:hover>span:not(.sr-only){color:#172b4d}.alert-notify{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;max-width:600px;width:calc(100% - 30px);padding-right:80px;-webkit-box-shadow:0 3px 10px rgba(0,0,0,.15);box-shadow:0 3px 10px rgba(0,0,0,.15);color:hsla(0,0%,100%,.85)}.alert-notify:hover{z-index:1081!important}.alert-notify:not(.alert-info):not(.alert-success):not(.alert-warning):not(.alert-danger){background-color:rgba(0,0,0,.95)}.alert-notify:not(.alert-info):not(.alert-success):not(.alert-warning):not(.alert-danger) .alert-notify-close{color:#ffd600}.alert-notify:not(.alert-info):not(.alert-success):not(.alert-warning):not(.alert-danger) .alert-notify-close:hover{opacity:.8}.alert-notify .alert-icon.ni{position:relative;top:4px}.alert-notify .alert-title{display:block;font-size:1rem;font-weight:600}.alert-notify .close{top:1rem!important;right:1.5rem!important;-webkit-transform:translateY(0);transform:translateY(0)}.avatar{color:#fff;background-color:#adb5bd;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:1rem;height:48px;width:48px}.avatar,.avatar img{border-radius:.375rem}.avatar img{width:100%}.avatar+.avatar-content{display:inline-block;margin-left:.75rem}.avatar-xl{width:74px;height:74px}.avatar-lg{width:58px;height:58px;font-size:.875rem}.avatar-sm{width:36px;height:36px;font-size:.875rem}.avatar-xs{width:24px;height:24px;font-size:.75rem}.avatar-group .avatar{position:relative;z-index:2;border:2px solid #fff}.avatar-group .avatar:hover{z-index:3}.avatar-group .avatar+.avatar{margin-left:-1rem}.badge{text-transform:uppercase}.badge a{color:#fff}.badge-md{padding:.65em 1em}.badge-lg{padding:.85em 1.375em}.badge-inline{margin-right:.625rem}.badge-inline+span{top:2px;position:relative}.badge-inline+span>a{text-decoration:underline}.badge-default{color:#fff}.badge-secondary{background-color:#f7fafc;color:#212529}.btn .badge:not(:first-child){margin-left:.5rem}.btn .badge:not(:last-child){margin-right:.5rem}.badge-circle{text-align:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;padding:0!important;width:1.25rem;height:1.25rem;font-size:.75rem;font-weight:600}.badge-circle.badge-md{width:1.5rem;height:1.5rem}.badge-circle.badge-lg{width:2rem;height:2rem}.badge-dot{padding-left:0;padding-right:0;background:transparent;font-weight:400;font-size:.875rem;text-transform:none}.badge-dot strong{color:#32325d}.badge-dot i{display:inline-block;vertical-align:middle;width:.375rem;height:.375rem;border-radius:50%;margin-right:.375rem}.badge-dot.badge-md i{width:.5rem;height:.5rem}.badge-dot.badge-lg i{width:.625rem;height:.625rem}.btn .badge-floating{position:absolute;top:-50%;-webkit-transform:translateY(50%);transform:translateY(50%);border:3px solid;right:-12px}.btn .badge-floating.badge:not(.badge-circle){-webkit-transform:translate(-20%,50%);transform:translate(-20%,50%)}.breadcrumb-item{font-size:.875rem}.breadcrumb-dark{background-color:#172b4d}.breadcrumb-dark .breadcrumb-item{font-weight:600}.breadcrumb-dark .breadcrumb-item a{color:#f6f9fc}.breadcrumb-dark .breadcrumb-item a:hover{color:#fff}.breadcrumb-dark .breadcrumb-item+.breadcrumb-item:before{color:#adb5bd}.breadcrumb-dark .breadcrumb-item.active{color:#dee2e6}.breadcrumb-links{padding:0;margin:0;background:transparent}.btn{position:relative;text-transform:none;-webkit-transition:all .15s ease;transition:all .15s ease;letter-spacing:.025em;font-size:.875rem;will-change:transform}.btn:hover{-webkit-box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08);box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn:not(:last-child){margin-right:.5rem}.btn i:not(:first-child),.btn svg:not(:first-child){margin-left:.5rem}.btn i:not(:last-child),.btn svg:not(:last-child){margin-right:.5rem}.btn-group .btn,.input-group .btn{margin-right:0;-webkit-transform:translateY(0);transform:translateY(0)}.btn-group-sm>.btn,.btn-sm{font-size:.75rem}.btn-group-lg>.btn,.btn-lg{font-size:.875rem}[class*=btn-outline-]{border-width:1px}.btn-outline-secondary{color:#4385b1}.btn-inner--icon i:not(.fas):not(.fab){position:relative;top:2px}.btn-link{font-weight:600}.btn-link,.btn-link:hover{-webkit-box-shadow:none;box-shadow:none}.btn-link:hover{-webkit-transform:none;transform:none}.btn-neutral{color:#5e72e4}.btn-facebook{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-facebook,.btn-facebook:hover{color:#fff;background-color:#3b5999;border-color:#3b5999}.btn-facebook.focus,.btn-facebook:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(59,89,153,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(59,89,153,.5)}.btn-facebook.disabled,.btn-facebook:disabled{color:#fff;background-color:#3b5999;border-color:#3b5999}.btn-facebook:not(:disabled):not(.disabled).active,.btn-facebook:not(:disabled):not(.disabled):active,.show>.btn-facebook.dropdown-toggle{color:#fff;background-color:#2d4474;border-color:#3b5999}.btn-facebook:not(:disabled):not(.disabled).active:focus,.btn-facebook:not(:disabled):not(.disabled):active:focus,.show>.btn-facebook.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(59,89,153,.5);box-shadow:none,0 0 0 0 rgba(59,89,153,.5)}.btn-twitter{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-twitter,.btn-twitter:hover{color:#fff;background-color:#1da1f2;border-color:#1da1f2}.btn-twitter.focus,.btn-twitter:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(29,161,242,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(29,161,242,.5)}.btn-twitter.disabled,.btn-twitter:disabled{color:#fff;background-color:#1da1f2;border-color:#1da1f2}.btn-twitter:not(:disabled):not(.disabled).active,.btn-twitter:not(:disabled):not(.disabled):active,.show>.btn-twitter.dropdown-toggle{color:#fff;background-color:#0c85d0;border-color:#1da1f2}.btn-twitter:not(:disabled):not(.disabled).active:focus,.btn-twitter:not(:disabled):not(.disabled):active:focus,.show>.btn-twitter.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(29,161,242,.5);box-shadow:none,0 0 0 0 rgba(29,161,242,.5)}.btn-google-plus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-google-plus,.btn-google-plus:hover{color:#fff;background-color:#dd4b39;border-color:#dd4b39}.btn-google-plus.focus,.btn-google-plus:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(221,75,57,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(221,75,57,.5)}.btn-google-plus.disabled,.btn-google-plus:disabled{color:#fff;background-color:#dd4b39;border-color:#dd4b39}.btn-google-plus:not(:disabled):not(.disabled).active,.btn-google-plus:not(:disabled):not(.disabled):active,.show>.btn-google-plus.dropdown-toggle{color:#fff;background-color:#c23321;border-color:#dd4b39}.btn-google-plus:not(:disabled):not(.disabled).active:focus,.btn-google-plus:not(:disabled):not(.disabled):active:focus,.show>.btn-google-plus.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(221,75,57,.5);box-shadow:none,0 0 0 0 rgba(221,75,57,.5)}.btn-instagram{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-instagram,.btn-instagram:hover{color:#fff;background-color:#e4405f;border-color:#e4405f}.btn-instagram.focus,.btn-instagram:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(228,64,95,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(228,64,95,.5)}.btn-instagram.disabled,.btn-instagram:disabled{color:#fff;background-color:#e4405f;border-color:#e4405f}.btn-instagram:not(:disabled):not(.disabled).active,.btn-instagram:not(:disabled):not(.disabled):active,.show>.btn-instagram.dropdown-toggle{color:#fff;background-color:#d31e40;border-color:#e4405f}.btn-instagram:not(:disabled):not(.disabled).active:focus,.btn-instagram:not(:disabled):not(.disabled):active:focus,.show>.btn-instagram.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(228,64,95,.5);box-shadow:none,0 0 0 0 rgba(228,64,95,.5)}.btn-pinterest{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-pinterest,.btn-pinterest:hover{color:#fff;background-color:#bd081c;border-color:#bd081c}.btn-pinterest.focus,.btn-pinterest:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(189,8,28,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(189,8,28,.5)}.btn-pinterest.disabled,.btn-pinterest:disabled{color:#fff;background-color:#bd081c;border-color:#bd081c}.btn-pinterest:not(:disabled):not(.disabled).active,.btn-pinterest:not(:disabled):not(.disabled):active,.show>.btn-pinterest.dropdown-toggle{color:#fff;background-color:#8c0615;border-color:#bd081c}.btn-pinterest:not(:disabled):not(.disabled).active:focus,.btn-pinterest:not(:disabled):not(.disabled):active:focus,.show>.btn-pinterest.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(189,8,28,.5);box-shadow:none,0 0 0 0 rgba(189,8,28,.5)}.btn-youtube{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-youtube,.btn-youtube:hover{color:#fff;background-color:#cd201f;border-color:#cd201f}.btn-youtube.focus,.btn-youtube:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(205,32,31,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(205,32,31,.5)}.btn-youtube.disabled,.btn-youtube:disabled{color:#fff;background-color:#cd201f;border-color:#cd201f}.btn-youtube:not(:disabled):not(.disabled).active,.btn-youtube:not(:disabled):not(.disabled):active,.show>.btn-youtube.dropdown-toggle{color:#fff;background-color:#a11918;border-color:#cd201f}.btn-youtube:not(:disabled):not(.disabled).active:focus,.btn-youtube:not(:disabled):not(.disabled):active:focus,.show>.btn-youtube.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(205,32,31,.5);box-shadow:none,0 0 0 0 rgba(205,32,31,.5)}.btn-slack{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-slack,.btn-slack:hover{color:#fff;background-color:#3aaf85;border-color:#3aaf85}.btn-slack.focus,.btn-slack:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(58,175,133,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(58,175,133,.5)}.btn-slack.disabled,.btn-slack:disabled{color:#fff;background-color:#3aaf85;border-color:#3aaf85}.btn-slack:not(:disabled):not(.disabled).active,.btn-slack:not(:disabled):not(.disabled):active,.show>.btn-slack.dropdown-toggle{color:#fff;background-color:#2d8968;border-color:#3aaf85}.btn-slack:not(:disabled):not(.disabled).active:focus,.btn-slack:not(:disabled):not(.disabled):active:focus,.show>.btn-slack.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(58,175,133,.5);box-shadow:none,0 0 0 0 rgba(58,175,133,.5)}.btn-dribbble{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-dribbble,.btn-dribbble:hover{color:#fff;background-color:#ea4c89;border-color:#ea4c89}.btn-dribbble.focus,.btn-dribbble:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(234,76,137,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(234,76,137,.5)}.btn-dribbble.disabled,.btn-dribbble:disabled{color:#fff;background-color:#ea4c89;border-color:#ea4c89}.btn-dribbble:not(:disabled):not(.disabled).active,.btn-dribbble:not(:disabled):not(.disabled):active,.show>.btn-dribbble.dropdown-toggle{color:#fff;background-color:#e51e6b;border-color:#ea4c89}.btn-dribbble:not(:disabled):not(.disabled).active:focus,.btn-dribbble:not(:disabled):not(.disabled):active:focus,.show>.btn-dribbble.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(234,76,137,.5);box-shadow:none,0 0 0 0 rgba(234,76,137,.5)}.btn-github{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-github,.btn-github:hover{color:#fff;background-color:#222;border-color:#222}.btn-github.focus,.btn-github:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(34,34,34,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(34,34,34,.5)}.btn-github.disabled,.btn-github:disabled{color:#fff;background-color:#222;border-color:#222}.btn-github:not(:disabled):not(.disabled).active,.btn-github:not(:disabled):not(.disabled):active,.show>.btn-github.dropdown-toggle{color:#fff;background-color:#090909;border-color:#222}.btn-github:not(:disabled):not(.disabled).active:focus,.btn-github:not(:disabled):not(.disabled):active:focus,.show>.btn-github.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(34,34,34,.5);box-shadow:none,0 0 0 0 rgba(34,34,34,.5)}.btn-vimeo{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-vimeo,.btn-vimeo:hover{color:#fff;background-color:#04a0f0;border-color:#04a0f0}.btn-vimeo.focus,.btn-vimeo:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(4,160,240,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(4,160,240,.5)}.btn-vimeo.disabled,.btn-vimeo:disabled{color:#fff;background-color:#04a0f0;border-color:#04a0f0}.btn-vimeo:not(:disabled):not(.disabled).active,.btn-vimeo:not(:disabled):not(.disabled):active,.show>.btn-vimeo.dropdown-toggle{color:#fff;background-color:#037fbe;border-color:#04a0f0}.btn-vimeo:not(:disabled):not(.disabled).active:focus,.btn-vimeo:not(:disabled):not(.disabled):active:focus,.show>.btn-vimeo.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(4,160,240,.5);box-shadow:none,0 0 0 0 rgba(4,160,240,.5)}.btn-group .btn{-webkit-box-shadow:none;box-shadow:none}[data-toggle=buttons]:not(.btn-group-colors)>.btn{background-color:#f6f9fc;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0}[data-toggle=buttons]:not(.btn-group-colors)>.btn:not(.active){color:#525f7f}[data-toggle=buttons]:not(.btn-group-colors)>.btn.active{background-color:#5e72e4;color:#fff}.btn-group-colors>.btn{-webkit-box-shadow:none;box-shadow:none;border-radius:50%!important;width:30px;height:30px;padding:0;margin-right:.5rem;margin-bottom:.25rem;position:relative}.btn-group-colors>.btn:not([class*=bg-]){border-color:#f6f9fc!important}.btn-group-colors>.btn:before{position:absolute;left:0;top:0;width:100%;height:100%;line-height:28px;color:#fff;-webkit-transform:scale(0);transform:scale(0);opacity:0;content:"\EA26";font-family:NucleoIcons,sans-serif;font-size:14px;-webkit-transition:opacity .2s,-webkit-transform .2s;transition:opacity .2s,-webkit-transform .2s;transition:transform .2s,opacity .2s;transition:transform .2s,opacity .2s,-webkit-transform .2s}@media (prefers-reduced-motion:reduce){.btn-group-colors>.btn:before{-webkit-transition:none;transition:none}}.btn-group-colors>.btn.btn:not([class*=bg-]){border:1px solid #cfd5db}.btn-group-colors>.btn.btn:not([class*=bg-]):before{color:#525f7f}.btn-group-colors>.btn.active:before{-webkit-transform:scale(1);transform:scale(1);opacity:1}.btn-icon .btn-inner--icon img{width:20px}.btn-icon .btn-inner--text:not(:first-child){margin-left:.75em}.btn-icon .btn-inner--text:not(:last-child){margin-right:.75em}.btn-icon-only{width:2.375rem;height:2.375rem;padding:0}a.btn-icon-only{line-height:2.5}.btn-group-sm>.btn-icon-only.btn,.btn-icon-only.btn-sm{width:2rem;height:2rem}.btn-icon-clipboard{padding:1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#32325d;background-color:#f6f9fc;border-radius:.375rem;border:0;text-align:left;font-family:inherit;display:inline-block;vertical-align:middle;text-decoration:none;-moz-appearance:none;cursor:pointer;width:100%;margin:.5rem 0}.btn-icon-clipboard:hover{background-color:#fff;-webkit-box-shadow:rgba(0,0,0,.1) 0 0 0 1px,rgba(0,0,0,.1) 0 4px 16px;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 4px 16px rgba(0,0,0,.1)}.btn-icon-clipboard>div{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.btn-icon-clipboard i{-webkit-box-sizing:content-box;box-sizing:content-box;color:#5e72e4;vertical-align:middle;font-size:1.5rem}.btn-icon-clipboard span{display:inline-block;font-size:.875rem;line-height:1.5;margin-left:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle}.card{margin-bottom:30px;-webkit-box-shadow:0 0 2rem 0 rgba(136,152,170,.15);box-shadow:0 0 2rem 0 rgba(136,152,170,.15);border:0}.card-translucent{background-color:rgba(18,91,152,.08)}.card-deck .card{margin-bottom:30px}.card.shadow{border:0!important}@media (min-width:576px){.card-columns{-webkit-column-count:1;-moz-column-count:1;column-count:1}}@media (min-width:768px){.card-columns{-webkit-column-count:2;-moz-column-count:2;column-count:2}}@media (min-width:1200px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}}.card-lift--hover:hover{-webkit-transform:translateY(-20px);transform:translateY(-20px);-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.card-lift--hover:hover{-webkit-transition:none;transition:none}}.card-blockquote{padding:2rem;position:relative}.card-blockquote .svg-bg{display:block;width:100%;height:95px;position:absolute;top:-94px;left:0}.card-serial-number{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:1.625rem}.card-serial-number>div:not(:last-child){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.card-serial-number>div:not(:last-child):after{content:"-";-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center;position:relative;left:-2px}@media (max-width:575.98px){.card-serial-number{font-size:1.0625rem}}.card-pricing .card-header{padding-top:1.25rem;padding-bottom:1.25rem}.card-pricing .list-unstyled li{padding:.5rem 0;color:#8898aa}.card-pricing.popular{z-index:1;border:3px solid #5e72e4!important}@media (min-width:768px){.card-pricing.zoom-in{z-index:1;-webkit-transform:scale(1.1);transform:scale(1.1)}}.card-profile-image{position:relative}.card-profile-image img{max-width:140px;border-radius:.375rem;border:3px solid #fff;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);position:absolute;left:50%;-webkit-transition:all .15s ease;transition:all .15s ease}.card-profile-image img:hover{-webkit-transform:translate(-50%,-50%) scale(1.03);transform:translate(-50%,-50%) scale(1.03)}.card-profile-stats{padding:1rem 0}.card-profile-stats>div{text-align:center;margin-right:1rem;padding:.875rem}.card-profile-stats>div:last-child{margin-right:0}.card-profile-stats>div .heading{font-size:1.1rem;font-weight:700;display:block}.card-profile-stats>div .description{font-size:.875rem;color:#adb5bd}.card-profile-actions{padding:.875rem}.card-stats .card-body{padding:1rem 1.5rem}.card-stats .card-status-bullet{position:absolute;top:0;right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.chart{position:relative;height:350px}.chart-sm{height:230px}.chart-legend{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-top:2.5rem;font-size:.875rem;text-align:center;color:#8898aa}.chart-legend-item{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.chart-legend-item+.chart-legend-item{margin-left:1rem}.chart-legend-indicator{display:inline-block;width:.5rem;height:.5rem;margin-right:.375rem;border-radius:50%}#chart-tooltip{z-index:0}#chart-tooltip .arrow{top:100%;left:50%;-webkit-transform:translateX(-50%) translateX(-.5rem);transform:translateX(-50%) translateX(-.5rem)}.chart-info-overlay{position:absolute;top:0;left:5%;max-width:350px;padding:20px;z-index:1}.close,.close>span:not(.sr-only){-webkit-transition:all .15s ease;transition:all .15s ease}.close>span:not(.sr-only){background-color:transparent;color:rgba(0,0,0,.6);line-height:17px;height:1.25rem;width:1.25rem;border-radius:50%;font-size:1.25rem;display:block}.close:focus,.close:hover{color:rgba(0,0,0,.9);outline:none}.close:focus,.close:focus span:not(.sr-only),.close:hover,.close:hover span:not(.sr-only){background-color:transparent}.close-dark>span:not(.sr-only){color:hsla(0,0%,100%,.8)}.close-dark:focus>span:not(.sr-only),.close-dark:hover>span:not(.sr-only){color:#fff}.accordion .card-header{position:relative;cursor:pointer}.accordion .card-header:after{content:"\EA0F";position:absolute;right:1.5rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font:normal normal normal 14px/1 NucleoIcons;line-height:0;-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion:reduce){.accordion .card-header:after{-webkit-transition:none;transition:none}}.accordion .card-header[aria-expanded=false]:after{content:"\EA0F"}.accordion .card-header[aria-expanded=true]:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.accordion .card-header[aria-expanded=true] .heading{color:#5e72e4}.main-content{position:relative}.main-content .navbar-top{padding-left:0!important;padding-right:0!important}@media (min-width:768px){.main-content .container-fluid,.main-content .container-lg,.main-content .container-md,.main-content .container-sm,.main-content .container-xl{padding-left:30px!important;padding-right:30px!important}}.custom-checkbox .custom-control-input~.custom-control-label:after,.custom-checkbox .custom-control-input~.custom-control-label:before{left:-1.75rem}.custom-control-label:before{border:1px solid #dee2e6;-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55);top:.25rem;left:-1.75rem}@media (prefers-reduced-motion:reduce){.custom-control-label:before{-webkit-transition:none;transition:none}}.custom-control-label:after{top:.25rem;left:-1.75rem}.custom-control-label span{position:relative;top:2px}.custom-control-label{margin-bottom:0}.custom-control-alternative .custom-control-label:before{border:0;-webkit-box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02);box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02)}.custom-control-alternative .custom-control-input:checked~.custom-control-label:before{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.custom-control-alternative .custom-control-input:active~.custom-control-label:before,.custom-control-alternative .custom-control-input:focus~.custom-control-label:before{-webkit-box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02);box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02)}.custom-checkbox .custom-control-input~.custom-control-label{cursor:pointer;font-size:.875rem;height:1rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:before{border-color:#5e72e4}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url('data:image/svg+xml;charset=utf-8,')}.custom-checkbox .custom-control-input:disabled~.custom-control-label:before{border-color:#e9ecef}.custom-checkbox .custom-control-input:disabled:checked:before{border-color:rgba(94,114,228,.5)}.custom-checkbox-primary .custom-control-input:checked~.custom-control-label:before{border-color:#5e72e4;background-color:#5e72e4}.custom-checkbox-primary .custom-control-input:checked~.custom-control-label:after{background-image:#5e72e4}.custom-checkbox-secondary .custom-control-input:checked~.custom-control-label:before{border-color:#f7fafc;background-color:#f7fafc}.custom-checkbox-secondary .custom-control-input:checked~.custom-control-label:after{background-image:#f7fafc}.custom-checkbox-success .custom-control-input:checked~.custom-control-label:before{border-color:#2dce89;background-color:#2dce89}.custom-checkbox-success .custom-control-input:checked~.custom-control-label:after{background-image:#2dce89}.custom-checkbox-info .custom-control-input:checked~.custom-control-label:before{border-color:#11cdef;background-color:#11cdef}.custom-checkbox-info .custom-control-input:checked~.custom-control-label:after{background-image:#11cdef}.custom-checkbox-warning .custom-control-input:checked~.custom-control-label:before{border-color:#fb6340;background-color:#fb6340}.custom-checkbox-warning .custom-control-input:checked~.custom-control-label:after{background-image:#fb6340}.custom-checkbox-danger .custom-control-input:checked~.custom-control-label:before{border-color:#f5365c;background-color:#f5365c}.custom-checkbox-danger .custom-control-input:checked~.custom-control-label:after{background-image:#f5365c}.custom-checkbox-light .custom-control-input:checked~.custom-control-label:before{border-color:#adb5bd;background-color:#adb5bd}.custom-checkbox-light .custom-control-input:checked~.custom-control-label:after{background-image:#adb5bd}.custom-checkbox-dark .custom-control-input:checked~.custom-control-label:before{border-color:#212529;background-color:#212529}.custom-checkbox-dark .custom-control-input:checked~.custom-control-label:after{background-image:#212529}.custom-checkbox-default .custom-control-input:checked~.custom-control-label:before{border-color:#172b4d;background-color:#172b4d}.custom-checkbox-default .custom-control-input:checked~.custom-control-label:after{background-image:#172b4d}.custom-checkbox-white .custom-control-input:checked~.custom-control-label:before{border-color:#fff;background-color:#fff}.custom-checkbox-white .custom-control-input:checked~.custom-control-label:after{background-image:#fff}.custom-checkbox-neutral .custom-control-input:checked~.custom-control-label:before{border-color:#fff;background-color:#fff}.custom-checkbox-neutral .custom-control-input:checked~.custom-control-label:after{background-image:#fff}.custom-checkbox-darker .custom-control-input:checked~.custom-control-label:before{border-color:#000;background-color:#000}.custom-checkbox-darker .custom-control-input:checked~.custom-control-label:after{background-image:#000}.custom-radio .custom-control-input~.custom-control-label{cursor:pointer;font-size:.875rem;height:1rem}.custom-radio .custom-control-input:checked~.custom-control-label:before{border-color:#5e72e4}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url('data:image/svg+xml;charset=utf-8,')}.custom-radio .custom-control-input:disabled~.custom-control-label:before{border-color:#e9ecef}.custom-radio .custom-control-input:disabled:checked:before{border-color:rgba(94,114,228,.5)}.custom-toggle{position:relative;display:inherit;width:52px;height:1.5rem;margin:0;display:inline-block}.custom-toggle input{display:none}.custom-toggle input:checked+.custom-toggle-slider{border:1px solid #5e72e4}.custom-toggle input:checked+.custom-toggle-slider:before{background:#5e72e4;-webkit-transform:translateX(28px);transform:translateX(28px)}.custom-toggle input:disabled+.custom-toggle-slider,.custom-toggle input:disabled:checked+.custom-toggle-slider{border:1px solid #e9ecef}.custom-toggle input:disabled:checked+.custom-toggle-slider:before{background-color:#8a98eb}.custom-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;border:1px solid #ced4da;border-radius:34px!important;background-color:transparent}.custom-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;border-radius:50%!important;background-color:#e9ecef;-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}.custom-toggle-wrapper .custom-toggle+.custom-toggle{margin-left:1rem!important}.custom-toggle input:checked+.custom-toggle-slider:after{content:attr(data-label-on);color:#5e72e4;right:auto;left:0}.custom-toggle-slider:after{color:#ced4da;content:attr(data-label-off);display:block;font-family:inherit;font-weight:600;font-size:.75rem;line-height:24px;position:absolute;right:0;margin:0 .21667rem;top:0;text-align:center;min-width:1.66667rem;overflow:hidden;-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.custom-toggle-slider:after{-webkit-transition:none;transition:none}}.custom-toggle-primary input:checked+.custom-toggle-slider{border-color:#5e72e4}.custom-toggle-primary input:checked+.custom-toggle-slider:before{background:#5e72e4}.custom-toggle-primary input:checked+.custom-toggle-slider:after{color:#5e72e4}.custom-toggle-primary input:disabled:checked+.custom-toggle-slider{border-color:#5e72e4}.custom-toggle-primary input:disabled:checked+.custom-toggle-slider:before{background-color:#8a98eb}.custom-toggle-secondary input:checked+.custom-toggle-slider{border-color:#f7fafc}.custom-toggle-secondary input:checked+.custom-toggle-slider:before{background:#f7fafc}.custom-toggle-secondary input:checked+.custom-toggle-slider:after{color:#f7fafc}.custom-toggle-secondary input:disabled:checked+.custom-toggle-slider{border-color:#f7fafc}.custom-toggle-secondary input:disabled:checked+.custom-toggle-slider:before{background-color:#fff}.custom-toggle-success input:checked+.custom-toggle-slider{border-color:#2dce89}.custom-toggle-success input:checked+.custom-toggle-slider:before{background:#2dce89}.custom-toggle-success input:checked+.custom-toggle-slider:after{color:#2dce89}.custom-toggle-success input:disabled:checked+.custom-toggle-slider{border-color:#2dce89}.custom-toggle-success input:disabled:checked+.custom-toggle-slider:before{background-color:#54daa1}.custom-toggle-info input:checked+.custom-toggle-slider{border-color:#11cdef}.custom-toggle-info input:checked+.custom-toggle-slider:before{background:#11cdef}.custom-toggle-info input:checked+.custom-toggle-slider:after{color:#11cdef}.custom-toggle-info input:disabled:checked+.custom-toggle-slider{border-color:#11cdef}.custom-toggle-info input:disabled:checked+.custom-toggle-slider:before{background-color:#41d7f2}.custom-toggle-warning input:checked+.custom-toggle-slider{border-color:#fb6340}.custom-toggle-warning input:checked+.custom-toggle-slider:before{background:#fb6340}.custom-toggle-warning input:checked+.custom-toggle-slider:after{color:#fb6340}.custom-toggle-warning input:disabled:checked+.custom-toggle-slider{border-color:#fb6340}.custom-toggle-warning input:disabled:checked+.custom-toggle-slider:before{background-color:#fc8c72}.custom-toggle-danger input:checked+.custom-toggle-slider{border-color:#f5365c}.custom-toggle-danger input:checked+.custom-toggle-slider:before{background:#f5365c}.custom-toggle-danger input:checked+.custom-toggle-slider:after{color:#f5365c}.custom-toggle-danger input:disabled:checked+.custom-toggle-slider{border-color:#f5365c}.custom-toggle-danger input:disabled:checked+.custom-toggle-slider:before{background-color:#f76783}.custom-toggle-light input:checked+.custom-toggle-slider{border-color:#adb5bd}.custom-toggle-light input:checked+.custom-toggle-slider:before{background:#adb5bd}.custom-toggle-light input:checked+.custom-toggle-slider:after{color:#adb5bd}.custom-toggle-light input:disabled:checked+.custom-toggle-slider{border-color:#adb5bd}.custom-toggle-light input:disabled:checked+.custom-toggle-slider:before{background-color:#c9cfd4}.custom-toggle-dark input:checked+.custom-toggle-slider{border-color:#212529}.custom-toggle-dark input:checked+.custom-toggle-slider:before{background:#212529}.custom-toggle-dark input:checked+.custom-toggle-slider:after{color:#212529}.custom-toggle-dark input:disabled:checked+.custom-toggle-slider{border-color:#212529}.custom-toggle-dark input:disabled:checked+.custom-toggle-slider:before{background-color:#383f45}.custom-toggle-default input:checked+.custom-toggle-slider{border-color:#172b4d}.custom-toggle-default input:checked+.custom-toggle-slider:before{background:#172b4d}.custom-toggle-default input:checked+.custom-toggle-slider:after{color:#172b4d}.custom-toggle-default input:disabled:checked+.custom-toggle-slider{border-color:#172b4d}.custom-toggle-default input:disabled:checked+.custom-toggle-slider:before{background-color:#234174}.custom-toggle-white input:checked+.custom-toggle-slider{border-color:#fff}.custom-toggle-white input:checked+.custom-toggle-slider:before{background:#fff}.custom-toggle-white input:checked+.custom-toggle-slider:after{color:#fff}.custom-toggle-white input:disabled:checked+.custom-toggle-slider{border-color:#fff}.custom-toggle-white input:disabled:checked+.custom-toggle-slider:before{background-color:#fff}.custom-toggle-neutral input:checked+.custom-toggle-slider{border-color:#fff}.custom-toggle-neutral input:checked+.custom-toggle-slider:before{background:#fff}.custom-toggle-neutral input:checked+.custom-toggle-slider:after{color:#fff}.custom-toggle-neutral input:disabled:checked+.custom-toggle-slider{border-color:#fff}.custom-toggle-neutral input:disabled:checked+.custom-toggle-slider:before{background-color:#fff}.custom-toggle-darker input:checked+.custom-toggle-slider{border-color:#000}.custom-toggle-darker input:checked+.custom-toggle-slider:before{background:#000}.custom-toggle-darker input:checked+.custom-toggle-slider:after{color:#000}.custom-toggle-darker input:disabled:checked+.custom-toggle-slider{border-color:#000}.custom-toggle-darker input:disabled:checked+.custom-toggle-slider:before{background-color:#1a1919}.dropdown,.dropleft,.dropright,.dropup{display:inline-block}.dropdown-menu{min-width:12rem}.dropdown-menu .dropdown-item{padding:.5rem 1rem;font-size:.875rem}.dropdown-menu .dropdown-item>i,.dropdown-menu .dropdown-item>svg{margin-right:1rem;font-size:1rem;vertical-align:-17%}.dropdown-menu .dropdown-item img{margin-right:.5rem}.dropdown-header{padding-left:1rem;padding-right:1rem;font-size:.625rem;text-transform:uppercase;font-weight:700}.dropdown-menu a.media>div:first-child{line-height:1}.dropdown-menu a.media p{color:#8898aa}.dropdown-menu a.media:hover .heading,.dropdown-menu a.media:hover p{color:#172b4d!important}.dropdown-menu-dark .h1,.dropdown-menu-dark .h2,.dropdown-menu-dark .h3,.dropdown-menu-dark .h4,.dropdown-menu-dark .h5,.dropdown-menu-dark .h6,.dropdown-menu-dark a{color:#fff}.dropdown-menu-sm{min-width:100px;border:.4375rem}.dropdown-menu-lg{min-width:320px;border-radius:.4375rem}.dropdown-menu-xl{min-width:420px;border-radius:.4375rem}.footer{background:#f8f9fe;padding:30px 0}.footer .col-footer .heading{color:#8898aa;letter-spacing:0;font-size:.875rem;text-transform:uppercase;font-weight:600;margin-bottom:1rem}.footer .footer-link,.footer .nav .nav-item .nav-link{color:#8898aa!important}.footer .footer-link:hover,.footer .nav .nav-item .nav-link:hover{color:#525f7f!important}.footer .list-unstyled li a{display:inline-block;padding:.125rem 0;color:#8898aa;font-size:.85rem}.footer .list-unstyled li a:hover{color:#525f7f}.footer .copyright{font-size:.875rem}.footer-dark .col-footer .heading{color:#fff}.nav-footer .nav-link{font-size:.875rem}.nav-footer .nav-item:last-child .nav-link{padding-right:0}.footer.has-cards{overflow:hidden;padding-top:500px;margin-top:-420px;position:relative;background:transparent;pointer-events:none}.footer.has-cards:before{content:"";position:absolute;left:0;right:0;top:600px;height:2000px;background:#f7fafc;-webkit-transform:skew(0,-8deg);transform:skew(0,-8deg)}.footer.has-cards .container{pointer-events:auto;position:relative}.footer-auto-bottom{position:absolute;bottom:0;width:100%}.form-control-label{color:#525f7f;font-size:.875rem;font-weight:600}.form-control{font-size:.875rem;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;height:calc(1.5em + 1.25rem + 5px)}@media (prefers-reduced-motion:reduce){.form-control{-webkit-transition:none;transition:none}}.form-control:focus::-webkit-input-placeholder{color:#adb5bd}.form-control:focus::-moz-placeholder{color:#adb5bd}.form-control:focus:-ms-input-placeholder{color:#adb5bd}.form-control:focus::-ms-input-placeholder{color:#adb5bd}.form-control:focus::placeholder{color:#adb5bd}.form-control-lg{height:calc(2.25em + 1.25rem + 5px)}.form-control-sm{height:calc(.45em + 1.25rem + 5px)}.form-control-flush{padding:0}.form-control-flush,.form-control-flush:focus{border-width:0;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}textarea[resize=none]{resize:none!important}textarea[resize=both]{resize:both!important}textarea[resize=vertical]{resize:vertical!important}textarea[resize=horizontal]{resize:horizontal!important}.form-control-muted{background-color:#f7fafe;border-color:#f7fafe;-webkit-box-shadow:none;box-shadow:none}.form-control-muted:focus{background-color:#fcfdff}.form-control-alternative{-webkit-box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02);box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02);border:0;-webkit-transition:-webkit-box-shadow .15s ease;transition:-webkit-box-shadow .15s ease;transition:box-shadow .15s ease;transition:box-shadow .15s ease,-webkit-box-shadow .15s ease}.form-control-alternative:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.form-control-lg,.input-group-lg .form-control,.input-group-text{font-size:1rem!important}.custom-control{padding-left:1.75rem}.input-group{-webkit-box-shadow:0 3px 2px rgba(233,236,239,.05);box-shadow:0 3px 2px rgba(233,236,239,.05);border-radius:.25rem;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group{-webkit-transition:none;transition:none}}.input-group .form-control,.input-group .form-control:focus{-webkit-box-shadow:none;box-shadow:none}.input-group-text{-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion:reduce){.input-group-text{-webkit-transition:none;transition:none}}.input-group-text i{font-size:.875rem}.input-group-text .custom-control{line-height:1}.input-group-prepend .input-group-text{border-right:0}.input-group-append .input-group-text{border-left:0}.input-group-merge .form-control:not(:first-child){border-left:0;padding-left:0}.input-group-merge .form-control:not(:last-child){border-right:0;padding-right:0}.input-group-alternative{-webkit-box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02);box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02);border:0;-webkit-transition:-webkit-box-shadow .15s ease;transition:-webkit-box-shadow .15s ease;transition:box-shadow .15s ease;transition:box-shadow .15s ease,-webkit-box-shadow .15s ease}.input-group-alternative .form-control,.input-group-alternative .input-group-text{border:0;-webkit-box-shadow:none;box-shadow:none}.focused .input-group-alternative{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)!important;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)!important}.input-group-flush{-webkit-box-shadow:none;box-shadow:none}.input-group-flush>.form-control{padding:0;border-width:0;background-color:transparent}.input-group-flush>.input-group-append>.input-group-text,.input-group-flush>.input-group-prepend>.input-group-text{padding:0 1rem 0 0;border-width:0;background-color:transparent}.focused .input-group{-webkit-box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1);box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.focused .input-group-text{color:#8898aa;background-color:#fff;border-color:#5e72e4}.focused .form-control{border-color:#5e72e4}.focused .input-group-flush{-webkit-box-shadow:none;box-shadow:none}.form-primary .form-control{color:#fff;background-color:rgba(50,76,221,.5);border-color:#324cdd}.form-primary .form-control:focus{background-color:rgba(42,68,219,.7);border:1px solid #2a44db}.form-primary .form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.8)}.form-primary .form-control::-moz-placeholder{color:hsla(0,0%,100%,.8)}.form-primary .form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.8)}.form-primary .form-control::-ms-input-placeholder{color:hsla(0,0%,100%,.8)}.form-primary .form-control::placeholder{color:hsla(0,0%,100%,.8)}.form-primary .input-group-text{color:#fff;background-color:rgba(50,76,221,.5);border-color:#324cdd}.form-primary .focused .input-group-text{color:#fff;background-color:rgba(42,68,219,.7);border-color:#2a44db}.has-danger,.has-success{position:relative}.has-danger:after,.has-success:after{display:none;width:19px;height:19px;line-height:19px;text-align:center;font-family:NucleoIcons;position:absolute;right:15px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-radius:50%;font-size:9px;opacity:1}.has-danger .input-group-prepend .input-group-text,.has-success .input-group-prepend .input-group-text{border-color:red}.has-success:after{content:"\EA26";color:#1d8357;background-color:#69deac}.has-success .form-control{background-color:#fff}.has-success .form-control::-webkit-input-placeholder{color:#2dce89}.has-success .form-control::-moz-placeholder{color:#2dce89}.has-success .form-control:-ms-input-placeholder{color:#2dce89}.has-success .form-control::-ms-input-placeholder{color:#2dce89}.has-success .form-control::placeholder{color:#2dce89}.has-danger:after{content:"\EA53";color:#db2d05;background-color:#fda08b}.has-danger .form-control{background-color:#fff}.has-danger .form-control::-webkit-input-placeholder{color:#fb6340}.has-danger .form-control::-moz-placeholder{color:#fb6340}.has-danger .form-control:-ms-input-placeholder{color:#fb6340}.has-danger .form-control::-ms-input-placeholder{color:#fb6340}.has-danger .form-control::placeholder{color:#fb6340}.row-example>.col span,.row-example>[class^=col-] span{display:block;padding:.75rem;color:#393f49;background-color:#fff;-webkit-box-shadow:rgba(0,0,0,.1) 0 0 0 1px,rgba(0,0,0,.1) 0 4px 16px;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 4px 16px rgba(0,0,0,.1);font-size:.875rem;border-radius:.25rem;margin:1rem 0}.no-gutters>.col span,.no-gutters>[class^=col-] span{border-radius:0}.header{position:relative}.icon{width:3rem;height:3rem}.icon i,.icon svg{font-size:2.25rem}.icon+.icon-text{padding-left:1rem;width:calc(100% - 3rem - 1)}.icon-xl{width:5rem;height:5rem}.icon-xl i,.icon-xl svg{font-size:4.25rem}.icon-xl+.icon-text{width:calc(100% - 5rem - 1)}.icon-lg{width:4rem;height:4rem}.icon-lg i,.icon-lg svg{font-size:3.25rem}.icon-lg+.icon-text{width:calc(100% - 4rem - 1)}.icon-sm{width:2rem;height:2rem}.icon-sm i,.icon-sm svg{font-size:1.25rem}.icon-sm+.icon-text{width:calc(100% - 2rem - 1)}.icon-xs{width:1.25rem;height:1.25rem}.icon-xs i,.icon-xs svg{font-size:.5rem}.icon-xs+.icon-text{width:calc(100% - 1.25rem - 1)}.icon-actions>a{display:inline-block;margin-right:.75rem;color:#8898aa;font-size:.875rem}.icon-actions>a:last-of-type{margin-right:0}.icon-actions>a span{margin-left:.1875rem;font-weight:600;color:#8898aa}.icon-actions>a:hover span{color:#6a7e95}.icon-actions>a,.icon-actions>a.active,.icon-actions>a:hover{color:#32325d}.icon-actions>.favorite.active,.icon-actions>.favorite:hover{color:#ffd600}.icon-actions>.love.active,.icon-actions>.love:hover{color:#f5365c}.icon-actions>.like.active,.icon-actions>.like:hover{color:#5e72e4}.icon-actions-lg a{font-size:1.25rem;margin-right:.875rem}.icon-shape{padding:12px;text-align:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%}.icon-shape i,.icon-shape svg{font-size:1.25rem}.icon-shape.icon-lg i,.icon-shape.icon-lg svg{font-size:1.625rem}.icon-shape.icon-sm i,.icon-shape.icon-sm svg{font-size:.875rem}.icon-shape.icon-xs i,.icon-shape.icon-xs svg{font-size:.6rem}.icon-shape svg{width:30px;height:30px}.icon-shape-primary{color:#2643e9;background-color:rgba(138,152,235,.5)}.icon-shape-secondary{color:#cfe3f1;background-color:hsla(0,0%,100%,.5)}.icon-shape-success{color:#1aae6f;background-color:rgba(84,218,161,.5)}.icon-shape-info{color:#03acca;background-color:rgba(65,215,242,.5)}.icon-shape-warning{color:#ff3709;background-color:rgba(252,140,114,.5)}.icon-shape-danger{color:#f80031;background-color:rgba(247,103,131,.5)}.icon-shape-light{color:#879cb0;background-color:rgba(201,207,212,.5)}.icon-shape-dark{color:#090c0e;background-color:rgba(56,63,69,.5)}.icon-shape-default{color:#091428;background-color:rgba(35,65,116,.5)}.icon-shape-neutral,.icon-shape-white{color:#e8e3e3;background-color:hsla(0,0%,100%,.5)}.icon-shape-darker{color:#000;background-color:rgba(26,25,25,.5)}.list-group-space .list-group-item{margin-bottom:1.5rem;border-radius:.375rem}.list-group-img{width:3rem;height:3rem;border-radius:50%;vertical-align:top;margin:-.1rem 1.2rem 0 -.2rem}.list-group-content{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.list-group-content>p{color:#adb5bd;line-height:1.5;margin:.2rem 0 0}.list-group-heading{font-size:1rem;color:#32325d}.list-group-heading>small{float:right;color:#adb5bd;font-weight:500}.checklist-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;padding-left:.75rem}.checklist-item:before{content:"";position:absolute;width:3px;height:100%;top:0;left:0;background-color:#5e72e4;border-radius:8px}.checklist-item-checked .checklist-info *{text-decoration:line-through}.checklist-item-primary:before{background-color:#5e72e4}.checklist-item-secondary:before{background-color:#f7fafc}.checklist-item-success:before{background-color:#2dce89}.checklist-item-info:before{background-color:#11cdef}.checklist-item-warning:before{background-color:#fb6340}.checklist-item-danger:before{background-color:#f5365c}.checklist-item-light:before{background-color:#adb5bd}.checklist-item-dark:before{background-color:#212529}.checklist-item-default:before{background-color:#172b4d}.checklist-item-neutral:before,.checklist-item-white:before{background-color:#fff}.checklist-item-darker:before{background-color:#000}.map-canvas{position:relative;width:100%;height:500px;border-radius:.375rem}.mask{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.mask{-webkit-transition:none;transition:none}}.backdrop{position:fixed;top:0;left:0;width:100%;height:100%;cursor:pointer;z-index:1040}.backdrop-dark{background:rgba(0,0,0,.3)}.backdrop-light{background:hsla(0,0%,100%,.3)}.media-comment{margin-top:2rem}.media-comment-avatar{margin-top:-1rem;margin-right:-2rem;position:relative;z-index:1;border:4px solid #fff;-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.media-comment-avatar{-webkit-transition:none;transition:none}}.media-comment-text{border-radius:.4375rem;border-top-left-radius:0;position:relative;background-color:#f6f9fc;padding:1rem 1.25rem 1rem 2.5rem}.media-comment:hover .media-comment-avatar{-webkit-transform:scale(1.1);transform:scale(1.1)}.modal-title{font-size:1.0625rem}.modal-fluid .modal-dialog{margin-top:0;margin-bottom:0}.modal-fluid .modal-content{border-radius:0}.modal-primary .modal-title{color:#fff}.modal-primary .modal-footer,.modal-primary .modal-header{border-color:hsla(0,0%,100%,.075)}.modal-primary .modal-content{background-color:#5e72e4;color:#fff}.modal-primary .close>span:not(.sr-only),.modal-primary .modal-content .heading{color:#fff}.modal-secondary .modal-title{color:#212529}.modal-secondary .modal-footer,.modal-secondary .modal-header{border-color:rgba(33,37,41,.075)}.modal-secondary .modal-content{background-color:#f7fafc;color:#212529}.modal-secondary .modal-content .heading{color:#212529}.modal-secondary .close>span:not(.sr-only),.modal-success .modal-title{color:#fff}.modal-success .modal-footer,.modal-success .modal-header{border-color:hsla(0,0%,100%,.075)}.modal-success .modal-content{background-color:#2dce89;color:#fff}.modal-info .modal-title,.modal-success .close>span:not(.sr-only),.modal-success .modal-content .heading{color:#fff}.modal-info .modal-footer,.modal-info .modal-header{border-color:hsla(0,0%,100%,.075)}.modal-info .modal-content{background-color:#11cdef;color:#fff}.modal-info .close>span:not(.sr-only),.modal-info .modal-content .heading,.modal-warning .modal-title{color:#fff}.modal-warning .modal-footer,.modal-warning .modal-header{border-color:hsla(0,0%,100%,.075)}.modal-warning .modal-content{background-color:#fb6340;color:#fff}.modal-danger .modal-title,.modal-warning .close>span:not(.sr-only),.modal-warning .modal-content .heading{color:#fff}.modal-danger .modal-footer,.modal-danger .modal-header{border-color:hsla(0,0%,100%,.075)}.modal-danger .modal-content{background-color:#f5365c;color:#fff}.modal-danger .close>span:not(.sr-only),.modal-danger .modal-content .heading,.modal-light .modal-title{color:#fff}.modal-light .modal-footer,.modal-light .modal-header{border-color:hsla(0,0%,100%,.075)}.modal-light .modal-content{background-color:#adb5bd;color:#fff}.modal-dark .modal-title,.modal-light .close>span:not(.sr-only),.modal-light .modal-content .heading{color:#fff}.modal-dark .modal-footer,.modal-dark .modal-header{border-color:hsla(0,0%,100%,.075)}.modal-dark .modal-content{background-color:#212529;color:#fff}.modal-dark .close>span:not(.sr-only),.modal-dark .modal-content .heading,.modal-default .modal-title{color:#fff}.modal-default .modal-footer,.modal-default .modal-header{border-color:hsla(0,0%,100%,.075)}.modal-default .modal-content{background-color:#172b4d;color:#fff}.modal-default .close>span:not(.sr-only),.modal-default .modal-content .heading{color:#fff}.modal-white .modal-title{color:#212529}.modal-white .modal-footer,.modal-white .modal-header{border-color:rgba(33,37,41,.075)}.modal-white .modal-content{background-color:#fff;color:#212529}.modal-white .modal-content .heading{color:#212529}.modal-white .close>span:not(.sr-only){color:#fff}.modal-neutral .modal-title{color:#212529}.modal-neutral .modal-footer,.modal-neutral .modal-header{border-color:rgba(33,37,41,.075)}.modal-neutral .modal-content{background-color:#fff;color:#212529}.modal-neutral .modal-content .heading{color:#212529}.modal-darker .modal-title,.modal-neutral .close>span:not(.sr-only){color:#fff}.modal-darker .modal-footer,.modal-darker .modal-header{border-color:hsla(0,0%,100%,.075)}.modal-darker .modal-content{background-color:#000;color:#fff}.modal-darker .close>span:not(.sr-only),.modal-darker .modal-content .heading{color:#fff}.navbar-horizontal .navbar-nav .nav-link{font-size:.875rem;font-weight:500;text-transform:normal;letter-spacing:0}.navbar-horizontal .navbar-nav .nav-link .nav-link-inner--text{margin-left:.25rem}.navbar-horizontal .navbar-brand{font-weight:600;text-transform:uppercase;font-size:.875rem;letter-spacing:.05px}.navbar-horizontal .navbar-brand img{height:30px}.navbar-horizontal .navbar-dark .navbar-brand{color:#fff}.navbar-horizontal .navbar-light .navbar-brand{color:#32325d}.navbar-horizontal .navbar-nav .nav-item .media:not(:last-child){margin-bottom:1.5rem}@media (min-width:992px){.navbar-horizontal .navbar-nav .nav-item{margin-right:.5rem}.navbar-horizontal .navbar-nav .nav-item [data-toggle=dropdown]:after{-webkit-transition:all .15s ease;transition:all .15s ease}.navbar-horizontal .navbar-nav .nav-item.show [data-toggle=dropdown]:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.navbar-horizontal .navbar-nav .nav-link{padding-top:1rem;padding-bottom:1rem;border-radius:.375rem}.navbar-horizontal .navbar-nav .nav-link i{margin-right:.625rem}.navbar-horizontal .navbar-nav .nav-link-icon{padding-left:.5rem!important;padding-right:.5rem!important;font-size:1rem;border-radius:.375rem}.navbar-horizontal .navbar-nav .nav-link-icon i{margin-right:0}.navbar-horizontal .navbar-nav .dropdown-menu{opacity:0;pointer-events:none;margin:0}.navbar-horizontal .navbar-nav .dropdown-menu:before{background:#fff;-webkit-box-shadow:none;box-shadow:none;content:"";display:block;height:16px;width:16px;left:20px;position:absolute;bottom:100%;-webkit-transform:rotate(-45deg) translateY(1rem);transform:rotate(-45deg) translateY(1rem);z-index:-5;border-radius:.25rem}.navbar-horizontal .navbar-nav .dropdown-menu-right:before{right:20px;left:auto}.navbar-horizontal .navbar-nav:not(.navbar-nav-hover) .dropdown-menu.show{opacity:1;pointer-events:auto;-webkit-animation:show-navbar-dropdown .25s ease forwards;animation:show-navbar-dropdown .25s ease forwards}.navbar-horizontal .navbar-nav:not(.navbar-nav-hover) .dropdown-menu.close{display:block;-webkit-animation:hide-navbar-dropdown .15s ease backwards;animation:hide-navbar-dropdown .15s ease backwards}.navbar-horizontal .navbar-nav.navbar-nav-hover .dropdown-menu{opacity:0;display:block;pointer-events:none;-webkit-transform:translateY(10px) perspective(200px) rotateX(-2deg);transform:translateY(10px) perspective(200px) rotateX(-2deg);-webkit-transition:visibility .25s,opacity .25s,-webkit-transform .25s;transition:visibility .25s,opacity .25s,-webkit-transform .25s;transition:visibility .25s,opacity .25s,transform .25s;transition:visibility .25s,opacity .25s,transform .25s,-webkit-transform .25s}.navbar-horizontal .navbar-nav.navbar-nav-hover .nav-item.dropdown:hover>.dropdown-menu{display:block;opacity:1;pointer-events:auto;visibility:visible;-webkit-transform:translate(0);transform:translate(0);-webkit-animation:none;animation:none}.navbar-horizontal .navbar-nav .dropdown-menu-inner{position:relative;padding:1rem}}.navbar-horizontal.navbar-transparent{position:absolute;top:0;width:100%;z-index:100;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-horizontal.navbar-transparent .navbar-brand,.navbar-horizontal.navbar-transparent .navbar-toggler{color:#fff}.navbar-horizontal.navbar-transparent .navbar-toggler-icon{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (min-width:768px){.navbar-horizontal.navbar-transparent .navbar-nav .nav-link{color:hsla(0,0%,100%,.95)}.navbar-horizontal.navbar-transparent .navbar-nav .nav-link:focus,.navbar-horizontal.navbar-transparent .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.65)}.navbar-horizontal.navbar-transparent .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-horizontal.navbar-transparent .navbar-nav .active>.nav-link,.navbar-horizontal.navbar-transparent .navbar-nav .nav-link.active,.navbar-horizontal.navbar-transparent .navbar-nav .nav-link.show,.navbar-horizontal.navbar-transparent .navbar-nav .show>.nav-link{color:hsla(0,0%,100%,.65)}.navbar-horizontal.navbar-transparent .navbar-brand,.navbar-horizontal.navbar-transparent .navbar-brand:focus,.navbar-horizontal.navbar-transparent .navbar-brand:hover{color:hsla(0,0%,100%,.95)}}.navbar-horizontal .navbar-collapse-header{display:none}@media (max-width:991.98px){.navbar-horizontal .navbar-nav .nav-link{padding:.625rem 0;color:#172b4d!important}.navbar-horizontal .navbar-nav .dropdown-menu{-webkit-box-shadow:none;box-shadow:none;min-width:auto}.navbar-horizontal .navbar-nav .dropdown-menu .media svg{width:30px}.navbar-horizontal .navbar-collapse{width:calc(100% - 1.4rem);position:absolute;top:0;left:0;right:0;z-index:1050;margin:.7rem;overflow-y:auto;height:auto!important;opacity:0}.navbar-horizontal .navbar-collapse .navbar-toggler{width:20px;height:20px;position:relative;cursor:pointer;display:inline-block;padding:0}.navbar-horizontal .navbar-collapse .navbar-toggler span{display:block;position:absolute;width:100%;height:2px;border-radius:2px;opacity:1;background:#283448}.navbar-horizontal .navbar-collapse .navbar-toggler :first-child{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.navbar-horizontal .navbar-collapse .navbar-toggler :nth-child(2){-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.navbar-horizontal .navbar-collapse .navbar-collapse-header{display:block;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.1)}.navbar-horizontal .navbar-collapse .collapse-brand img{height:36px}.navbar-horizontal .navbar-collapse .collapse-close{text-align:right}.navbar-horizontal .navbar-collapse.collapsing,.navbar-horizontal .navbar-collapse.show{padding:1.5rem;border-radius:.375rem;background:#fff;-webkit-box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1);box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1);-webkit-animation:show-navbar-collapse .2s ease forwards;animation:show-navbar-collapse .2s ease forwards}.navbar-horizontal .navbar-collapse.collapsing-out{-webkit-animation:hide-navbar-collapse .2s ease forwards;animation:hide-navbar-collapse .2s ease forwards}}@-webkit-keyframes show-navbar-collapse{0%{opacity:0;-webkit-transform:scale(.95);transform:scale(.95);-webkit-transform-origin:100% 0;transform-origin:100% 0}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hide-navbar-collapse{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 0;transform-origin:100% 0}to{opacity:0;-webkit-transform:scale(.95);transform:scale(.95)}}@-webkit-keyframes show-navbar-dropdown{0%{opacity:0;-webkit-transform:translateY(10px) perspective(200px) rotateX(-2deg);transform:translateY(10px) perspective(200px) rotateX(-2deg);-webkit-transition:visibility .25s,opacity .25s,-webkit-transform .25s;transition:visibility .25s,opacity .25s,-webkit-transform .25s;transition:visibility .25s,opacity .25s,transform .25s;transition:visibility .25s,opacity .25s,transform .25s,-webkit-transform .25s}to{-webkit-transform:translate(0);transform:translate(0);opacity:1}}@-webkit-keyframes hide-navbar-dropdown{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}}.navbar-floating-wrapper{padding-top:1rem;padding-bottom:1rem;position:absolute;left:0;top:0;width:100%;z-index:1}.navbar-floating-wrapper .navbar{border-radius:.375rem}.navbar-vertical{padding-top:0;border-width:0 0 1px;border-style:solid;-webkit-box-shadow:0 0 2rem 0 rgba(136,152,170,.15);box-shadow:0 0 2rem 0 rgba(136,152,170,.15)}.navbar-vertical.navbar-light{background-color:#f6f9fc;border-color:rgba(0,0,0,.05)}.navbar-vertical.navbar-dark{background-color:transparent;border-color:hsla(0,0%,100%,.1)}.navbar-vertical .navbar-brand{margin-right:0}.navbar-vertical .navbar-brand-img,.navbar-vertical .navbar-brand>img{max-width:100%;max-height:2rem}@media (min-width:768px){.navbar-vertical .navbar-collapse{margin-left:-1rem;margin-right:-1rem}.navbar-vertical .navbar-collapse:before{content:"";display:block;margin:.5rem}}.navbar-vertical .navbar-nav{margin-left:-1rem;margin-right:-1rem}.navbar-vertical .navbar-nav .nav-link{padding-left:1rem;padding-right:1rem;font-size:.875rem;font-weight:500}.navbar-vertical .navbar-nav .nav-link.active{position:relative}.navbar-vertical .navbar-nav .nav-link>i{min-width:2rem;font-size:.9375rem;line-height:1.5rem}.navbar-vertical .navbar-nav .nav-link .dropdown-menu{border:none}.navbar-vertical .navbar-nav .nav-link .dropdown-menu .dropdown-menu{margin-left:.5rem}.navbar-vertical .navbar-nav .nav-sm .nav-link{font-size:.8125rem}.navbar-vertical .navbar-nav .nav-link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-vertical .navbar-nav .nav-link[data-toggle=collapse]:after{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:Font Awesome\ 5 Free;font-weight:700;content:"\F105";margin-left:auto;color:#ced4da;-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.navbar-vertical .navbar-nav .nav-link[data-toggle=collapse]:after{-webkit-transition:none;transition:none}}.navbar-vertical .navbar-nav .nav-link[data-toggle=collapse][aria-expanded=true]:after{color:#5e72e4;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.navbar-vertical .navbar-nav .nav .nav-link{padding-left:3rem}.navbar-vertical .navbar-nav .nav .nav .nav-link{padding-left:3.5rem}.navbar-vertical .navbar-heading{padding-top:.25rem;padding-bottom:.25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.navbar-vertical.navbar-expand-xs{display:block;position:fixed;top:0;bottom:0;width:100%;max-width:62px;overflow-y:auto;padding-left:0;padding-right:0}.navbar-vertical.navbar-expand-xs .navbar-inner{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xs>[class*=container]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:100%;padding-left:0;padding-right:0}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.navbar-vertical.navbar-expand-xs>[class*=container]{min-height:none;height:100%}}.navbar-vertical.navbar-expand-xs.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-xs.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-xs .navbar-collapse{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xs .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-xs .navbar-nav{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-left:-1.5rem;margin-right:-1.5rem}.navbar-vertical.navbar-expand-xs .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-xs .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-xs .navbar-nav>.nav-item>.nav-link.active{background:#f6f9fc;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-xs .lavalamp-object{width:calc(100% - 1rem)!important;background:#5e72e4;color:#fff;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}@media (min-width:576px){.navbar-vertical.navbar-expand-sm{display:block;position:fixed;top:0;bottom:0;width:100%;max-width:62px;overflow-y:auto;padding-left:0;padding-right:0}.navbar-vertical.navbar-expand-sm .navbar-inner{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-sm>[class*=container]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:100%;padding-left:0;padding-right:0}}@media (min-width:576px) and (-ms-high-contrast:active),(min-width:576px) and (-ms-high-contrast:none){.navbar-vertical.navbar-expand-sm>[class*=container]{min-height:none;height:100%}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-sm.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-sm .navbar-collapse{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-sm .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-sm .navbar-nav{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-left:-1.5rem;margin-right:-1.5rem}.navbar-vertical.navbar-expand-sm .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-sm .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-sm .navbar-nav>.nav-item>.nav-link.active{background:#f6f9fc;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-sm .lavalamp-object{width:calc(100% - 1rem)!important;background:#5e72e4;color:#fff;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-sm .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-sm .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}}@media (min-width:768px){.navbar-vertical.navbar-expand-md{display:block;position:fixed;top:0;bottom:0;width:100%;max-width:62px;overflow-y:auto;padding-left:0;padding-right:0}.navbar-vertical.navbar-expand-md .navbar-inner{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-md>[class*=container]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:100%;padding-left:0;padding-right:0}}@media (min-width:768px) and (-ms-high-contrast:active),(min-width:768px) and (-ms-high-contrast:none){.navbar-vertical.navbar-expand-md>[class*=container]{min-height:none;height:100%}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-md.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-md .navbar-collapse{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-md .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-md .navbar-nav{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-left:-1.5rem;margin-right:-1.5rem}.navbar-vertical.navbar-expand-md .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-md .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-md .navbar-nav>.nav-item>.nav-link.active{background:#f6f9fc;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-md .lavalamp-object{width:calc(100% - 1rem)!important;background:#5e72e4;color:#fff;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-md .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-md .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg{display:block;position:fixed;top:0;bottom:0;width:100%;max-width:62px;overflow-y:auto;padding-left:0;padding-right:0}.navbar-vertical.navbar-expand-lg .navbar-inner{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-lg>[class*=container]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:100%;padding-left:0;padding-right:0}}@media (min-width:992px) and (-ms-high-contrast:active),(min-width:992px) and (-ms-high-contrast:none){.navbar-vertical.navbar-expand-lg>[class*=container]{min-height:none;height:100%}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-lg.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-lg .navbar-collapse{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-lg .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-lg .navbar-nav{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-left:-1.5rem;margin-right:-1.5rem}.navbar-vertical.navbar-expand-lg .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-lg .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-lg .navbar-nav>.nav-item>.nav-link.active{background:#f6f9fc;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-lg .lavalamp-object{width:calc(100% - 1rem)!important;background:#5e72e4;color:#fff;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-lg .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-lg .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl{display:block;position:fixed;top:0;bottom:0;width:100%;max-width:62px;overflow-y:auto;padding-left:0;padding-right:0}.navbar-vertical.navbar-expand-xl .navbar-inner{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xl>[class*=container]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:100%;padding-left:0;padding-right:0}}@media (min-width:1200px) and (-ms-high-contrast:active),(min-width:1200px) and (-ms-high-contrast:none){.navbar-vertical.navbar-expand-xl>[class*=container]{min-height:none;height:100%}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-xl.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-xl .navbar-collapse{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xl .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-xl .navbar-nav{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-left:-1.5rem;margin-right:-1.5rem}.navbar-vertical.navbar-expand-xl .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-xl .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-xl .navbar-nav>.nav-item>.nav-link.active{background:#f6f9fc;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-xl .lavalamp-object{width:calc(100% - 1rem)!important;background:#5e72e4;color:#fff;margin-right:.5rem;margin-left:.5rem;padding-left:1rem;padding-right:1rem;border-radius:.375rem}.navbar-vertical.navbar-expand-xl .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-xl .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}}.navbar-vertical.navbar-expand-xs.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-xs.fixed-right+.main-content{margin-right:62px}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-sm.fixed-right+.main-content{margin-right:62px}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-md.fixed-right+.main-content{margin-right:62px}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-lg.fixed-right+.main-content{margin-right:62px}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-xl.fixed-right+.main-content{margin-right:62px}}.sidenav.fixed-left+.main-content{margin-left:62px;-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.sidenav.fixed-left+.main-content{-webkit-transition:none;transition:none}}.sidenav.fixed-right+.main-content{margin-right:62px;-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.sidenav.fixed-right+.main-content{-webkit-transition:none;transition:none}}@media (min-width:1200px){.g-sidenav-pinned .sidenav.fixed-left+.main-content{margin-left:250px}.g-sidenav-pinned .sidenav.fixed-right+.main-content{margin-right:250px}}.sidenav{z-index:1050;-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.sidenav{-webkit-transition:none;transition:none}}@media (min-width:1200px){.sidenav:hover{max-width:250px}.sidenav .sidenav-toggler{padding:1.5rem}}.sidenav .navbar-brand,.sidenav .navbar-heading{padding:1.5rem;display:none}.sidenav-header{height:78px}.g-sidenav-show .sidenav .navbar-brand,.g-sidenav-show .sidenav .navbar-heading{display:block}.g-sidenav-show .sidenav .nav-item .collapse{height:auto;-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.g-sidenav-show .sidenav .nav-item .collapse{-webkit-transition:none;transition:none}}.g-sidenav-pinned .sidenav{max-width:250px!important}.g-sidenav-pinned .sidenav .navbar-brand,.g-sidenav-pinned .sidenav .navbar-heading{display:block}.g-sidenav-hidden:not(.g-sidenav-show) .sidenav .navbar-nav>.nav-item>.nav-link:after{content:""}.g-sidenav-hidden:not(.g-sidenav-show) .sidenav .nav-item .collapse,.g-sidenav-hidden:not(.g-sidenav-show) .sidenav .nav-link-text{display:none!important}.g-sidenav-hide .sidenav .navbar-nav>.nav-item>.nav-link:after{content:""}.g-sidenav-hide .sidenav .nav-item .collapse,.g-sidenav-hide .sidenav .nav-link-text{display:none!important}@media (max-width:1199.98px){.sidenav{-webkit-transform:translateX(-62px);transform:translateX(-62px)}.sidenav.fixed-left+.main-content{margin-left:0!important}.g-sidenav-pinned .sidenav{-webkit-transform:translateX(0);transform:translateX(0)}}.sidenav-toggler-inner,.sidenav-toggler-line{width:18px;-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.sidenav-toggler-inner,.sidenav-toggler-line{-webkit-transition:none;transition:none}}.sidenav-toggler-inner{position:relative}.sidenav-toggler-inner:before{content:"";position:absolute;width:40px;height:40px;left:-11px;top:-14px;border-radius:50%;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion:reduce){.sidenav-toggler-inner:before{-webkit-transition:none;transition:none}}.sidenav-toggler-line{height:2px;background-color:#172b4d;display:block;position:relative}.sidenav-toggler-line:not(:last-child){margin-bottom:3px}.sidenav-toggler-dark .sidenav-toggler-line{background-color:#fff}.sidenav-toggler{cursor:pointer}.sidenav-toggler.active .sidenav-toggler-inner:before{-webkit-transform:scale(1);transform:scale(1)}.sidenav-toggler.active .sidenav-toggler-line:first-child,.sidenav-toggler.active .sidenav-toggler-line:last-child{width:13px;-webkit-transform:translateX(5px);transform:translateX(5px)}.navbar-search .input-group{border-radius:2rem;border:0 solid;-webkit-transition:background-color .3s linear;transition:background-color .3s linear;-webkit-transition-delay:.15s;transition-delay:.15s}@media (prefers-reduced-motion:reduce){.navbar-search .input-group{-webkit-transition:none;transition:none}}.navbar-search .input-group .input-group-text{background-color:transparent;padding-left:1rem;border:0}.navbar-search .form-control{width:250px;background-color:transparent;border:0;-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion:reduce){.navbar-search .form-control{-webkit-transition:none;transition:none}}.navbar-search .focused .input-group .form-control{width:380px}.navbar-search .close{display:none}.navbar-search-dark .input-group{background-color:rgba(23,43,77,.8);border-color:hsla(0,0%,100%,.6)}.navbar-search-dark .input-group-text{color:hsla(0,0%,100%,.6)}.navbar-search-dark .form-control{color:hsla(0,0%,100%,.9)}.navbar-search-dark .form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.6)}.navbar-search-dark .form-control::-moz-placeholder{color:hsla(0,0%,100%,.6)}.navbar-search-dark .form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.navbar-search-dark .form-control::-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.navbar-search-dark .form-control::placeholder{color:hsla(0,0%,100%,.6)}.navbar-search-dark .focused .input-group{background-color:rgba(23,43,77,.9);border-color:hsla(0,0%,100%,.9)}.navbar-search-light .input-group{background-color:hsla(0,0%,100%,.9);border-color:rgba(0,0,0,.6)}.navbar-search-light .input-group-text{color:rgba(0,0,0,.6)}.navbar-search-light .form-control{color:rgba(0,0,0,.9)}.navbar-search-light .form-control::-webkit-input-placeholder{color:rgba(0,0,0,.6)}.navbar-search-light .form-control::-moz-placeholder{color:rgba(0,0,0,.6)}.navbar-search-light .form-control:-ms-input-placeholder{color:rgba(0,0,0,.6)}.navbar-search-light .form-control::-ms-input-placeholder{color:rgba(0,0,0,.6)}.navbar-search-light .form-control::placeholder{color:rgba(0,0,0,.6)}.navbar-search-light .focused .input-group{background-color:#fff;border-color:rgba(0,0,0,.9)}@media (max-width:575.98px){.navbar-search{display:none;width:100%;-webkit-transform:translateX(-150%);transform:translateX(-150%);-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.navbar-search{-webkit-transition:none;transition:none}}@media (max-width:575.98px){.navbar-search .form-group{width:100%}.navbar-search .focused .input-group .form-control,.navbar-search .form-control{width:auto}.navbar-search .close{display:none;opacity:0}.navbar-search .close span{width:auto;height:auto}.navbar-top .navbar-nav{-webkit-transition:all .15s ease;transition:all .15s ease}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.navbar-top .navbar-nav{-webkit-transition:none;transition:none}}@media (max-width:575.98px){.g-navbar-search-showing .navbar-search .close{display:block}.g-navbar-search-showing .navbar-top .navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1;-webkit-transform:translateX(150%);transform:translateX(150%)}.g-navbar-search-show .navbar-search{display:block}.g-navbar-search-show .navbar-search .form-control{width:auto}.g-navbar-search-show .navbar-search .close{color:#fff;position:absolute;top:0;right:0;width:46px;height:46px;text-align:center;line-height:46px;cursor:pointer}.g-navbar-search-show .navbar-top .navbar-nav{display:none}.g-navbar-search-show .navbar-top .navbar-collapse{width:100%}.g-navbar-search-shown .navbar-search{-webkit-transform:translateX(0);transform:translateX(0)}.g-navbar-search-shown .navbar-search .close{display:block;opacity:1}.g-navbar-search-hiding .navbar-top .navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:0;-webkit-transform:translateX(150%);transform:translateX(150%)}.g-navbar-search-hidden .navbar-top .navbar-nav{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}.navbar .dropdown-menu{opacity:0;pointer-events:none;margin:0}.navbar .dropdown-menu-arrow:before{background:#fff;-webkit-box-shadow:none;box-shadow:none;content:"";display:block;height:12px;width:12px;left:20px;position:absolute;bottom:100%;-webkit-transform:rotate(-45deg) translateY(12px);transform:rotate(-45deg) translateY(12px);z-index:-5;border-radius:2px}.navbar .dropdown-menu-right:before{right:20px;left:auto}.navbar:not(.navbar-nav-hover) .dropdown-menu.show{opacity:1;pointer-events:auto;-webkit-animation:show-navbar-dropdown .25s ease forwards;animation:show-navbar-dropdown .25s ease forwards}.navbar:not(.navbar-nav-hover) .dropdown-menu.close{display:block;-webkit-animation:hide-navbar-dropdown .15s ease backwards;animation:hide-navbar-dropdown .15s ease backwards}.navbar.navbar-nav-hover .dropdown-menu{opacity:0;display:block;pointer-events:none;-webkit-transform:translateY(10px) perspective(200px) rotateX(-2deg);transform:translateY(10px) perspective(200px) rotateX(-2deg);-webkit-transition:visibility .25s,opacity .25s,-webkit-transform .25s;transition:visibility .25s,opacity .25s,-webkit-transform .25s;transition:visibility .25s,opacity .25s,transform .25s;transition:visibility .25s,opacity .25s,transform .25s,-webkit-transform .25s}.navbar.navbar-nav-hover .nav-item.dropdown:hover>.dropdown-menu{display:block;opacity:1;pointer-events:auto;visibility:visible;-webkit-transform:translate(0);transform:translate(0);-webkit-animation:none;animation:none}.navbar .dropdown-menu-inner{position:relative;padding:1rem}@keyframes show-navbar-dropdown{0%{opacity:0;-webkit-transform:translateY(10px) perspective(200px);transform:translateY(10px) perspective(200px);-webkit-transition:visibility .25s,opacity .25s,-webkit-transform .25s;transition:visibility .25s,opacity .25s,-webkit-transform .25s;transition:visibility .25s,opacity .25s,transform .25s;transition:visibility .25s,opacity .25s,transform .25s,-webkit-transform .25s}to{-webkit-transform:translate(0);transform:translate(0);opacity:1}}@keyframes hide-navbar-dropdown{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}}.navbar-collapse-header{display:none}@keyframes show-navbar-collapse{0%{opacity:0;-webkit-transform:scale(.95);transform:scale(.95);-webkit-transform-origin:100% 0;transform-origin:100% 0}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes hide-navbar-collapse{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 0;transform-origin:100% 0}to{opacity:0;-webkit-transform:scale(.95);transform:scale(.95)}}.navbar-top{border:0;padding-left:1rem;padding-right:1rem}.navbar-top .container,.navbar-top .container-fluid,.navbar-top .container-lg,.navbar-top .container-md,.navbar-top .container-sm,.navbar-top .container-xl{padding-left:15px;padding-right:15px}@media (min-width:576px){.navbar-top .navbar-brand{display:none}}@media (max-width:575.98px){.navbar-top .navbar-collapse{width:100%}.navbar-top .nav-item{position:static}.navbar-top .nav-item .dropdown-menu{position:absolute;width:94%;min-width:auto;left:3%;right:auto}}.navbar-top.border-bottom.navbar-dark{border-color:hsla(0,0%,100%,.08)!important}.navbar-top.border-bottom.navbar-light{border-color:rgba(0,0,0,.04)!important}.sidenav-pinned .navbar-top .navbar-brand{display:none}.nav-wrapper{padding:1rem 0;border-top-left-radius:.375rem;border-top-right-radius:.375rem}.nav-wrapper+.card{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.nav-link{color:#525f7f}.nav-link:hover{color:#5e72e4}.nav-link i.ni{position:relative;top:2px}.nav-pills .nav-item:not(:last-child){padding-right:1rem}.nav-pills .nav-link{padding:.75rem 1rem;color:#5e72e4;font-weight:500;font-size:.875rem;-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);background-color:#fff;-webkit-transition:all .15s ease;transition:all .15s ease}.nav-pills .nav-link:hover{color:#485fe0}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#5e72e4}@media (max-width:575.98px){.nav-pills .nav-item{margin-bottom:1rem}}@media (max-width:767.98px){.nav-pills:not(.nav-pills-circle) .nav-item{padding-right:0}}.nav-pills-circle .nav-link{text-align:center;height:60px;width:60px;padding:0;line-height:60px;border-radius:50%}.nav-pills-circle .nav-link-icon i,.nav-pills-circle .nav-link-icon svg{font-size:1rem}.page-item.active .page-link{-webkit-box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08);box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08)}.page-item .page-link,.page-item span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;margin:0 3px;border-radius:50%!important;width:36px;height:36px;font-size:.875rem}.pagination-lg .page-item .page-link,.pagination-lg .page-item span{width:46px;height:46px;line-height:46px}.pagination-sm .page-item .page-link,.pagination-sm .page-item span{width:30px;height:30px;line-height:30px}.popover{border:0}.popover-header{font-weight:600}.popover-primary{background-color:#5e72e4}.popover-primary .popover-header{background-color:#5e72e4;color:#fff}.popover-primary .popover-body{color:#fff}.popover-primary .popover-header{border-color:hsla(0,0%,100%,.2)}.popover-primary.bs-popover-auto[x-placement^=top] .arrow:after,.popover-primary.bs-popover-top .arrow:after{border-top-color:#5e72e4}.popover-primary.bs-popover-auto[x-placement^=right] .arrow:after,.popover-primary.bs-popover-right .arrow:after{border-right-color:#5e72e4}.popover-primary.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-primary.bs-popover-bottom .arrow:after{border-bottom-color:#5e72e4}.popover-primary.bs-popover-auto[x-placement^=left] .arrow:after,.popover-primary.bs-popover-left .arrow:after{border-left-color:#5e72e4}.popover-secondary{background-color:#f7fafc}.popover-secondary .popover-header{background-color:#f7fafc;color:#212529}.popover-secondary .popover-body{color:#212529}.popover-secondary .popover-header{border-color:rgba(33,37,41,.2)}.popover-secondary.bs-popover-auto[x-placement^=top] .arrow:after,.popover-secondary.bs-popover-top .arrow:after{border-top-color:#f7fafc}.popover-secondary.bs-popover-auto[x-placement^=right] .arrow:after,.popover-secondary.bs-popover-right .arrow:after{border-right-color:#f7fafc}.popover-secondary.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-secondary.bs-popover-bottom .arrow:after{border-bottom-color:#f7fafc}.popover-secondary.bs-popover-auto[x-placement^=left] .arrow:after,.popover-secondary.bs-popover-left .arrow:after{border-left-color:#f7fafc}.popover-success{background-color:#2dce89}.popover-success .popover-header{background-color:#2dce89;color:#fff}.popover-success .popover-body{color:#fff}.popover-success .popover-header{border-color:hsla(0,0%,100%,.2)}.popover-success.bs-popover-auto[x-placement^=top] .arrow:after,.popover-success.bs-popover-top .arrow:after{border-top-color:#2dce89}.popover-success.bs-popover-auto[x-placement^=right] .arrow:after,.popover-success.bs-popover-right .arrow:after{border-right-color:#2dce89}.popover-success.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-success.bs-popover-bottom .arrow:after{border-bottom-color:#2dce89}.popover-success.bs-popover-auto[x-placement^=left] .arrow:after,.popover-success.bs-popover-left .arrow:after{border-left-color:#2dce89}.popover-info{background-color:#11cdef}.popover-info .popover-header{background-color:#11cdef;color:#fff}.popover-info .popover-body{color:#fff}.popover-info .popover-header{border-color:hsla(0,0%,100%,.2)}.popover-info.bs-popover-auto[x-placement^=top] .arrow:after,.popover-info.bs-popover-top .arrow:after{border-top-color:#11cdef}.popover-info.bs-popover-auto[x-placement^=right] .arrow:after,.popover-info.bs-popover-right .arrow:after{border-right-color:#11cdef}.popover-info.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-info.bs-popover-bottom .arrow:after{border-bottom-color:#11cdef}.popover-info.bs-popover-auto[x-placement^=left] .arrow:after,.popover-info.bs-popover-left .arrow:after{border-left-color:#11cdef}.popover-warning{background-color:#fb6340}.popover-warning .popover-header{background-color:#fb6340;color:#fff}.popover-warning .popover-body{color:#fff}.popover-warning .popover-header{border-color:hsla(0,0%,100%,.2)}.popover-warning.bs-popover-auto[x-placement^=top] .arrow:after,.popover-warning.bs-popover-top .arrow:after{border-top-color:#fb6340}.popover-warning.bs-popover-auto[x-placement^=right] .arrow:after,.popover-warning.bs-popover-right .arrow:after{border-right-color:#fb6340}.popover-warning.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-warning.bs-popover-bottom .arrow:after{border-bottom-color:#fb6340}.popover-warning.bs-popover-auto[x-placement^=left] .arrow:after,.popover-warning.bs-popover-left .arrow:after{border-left-color:#fb6340}.popover-danger{background-color:#f5365c}.popover-danger .popover-header{background-color:#f5365c;color:#fff}.popover-danger .popover-body{color:#fff}.popover-danger .popover-header{border-color:hsla(0,0%,100%,.2)}.popover-danger.bs-popover-auto[x-placement^=top] .arrow:after,.popover-danger.bs-popover-top .arrow:after{border-top-color:#f5365c}.popover-danger.bs-popover-auto[x-placement^=right] .arrow:after,.popover-danger.bs-popover-right .arrow:after{border-right-color:#f5365c}.popover-danger.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-danger.bs-popover-bottom .arrow:after{border-bottom-color:#f5365c}.popover-danger.bs-popover-auto[x-placement^=left] .arrow:after,.popover-danger.bs-popover-left .arrow:after{border-left-color:#f5365c}.popover-light{background-color:#adb5bd}.popover-light .popover-header{background-color:#adb5bd;color:#fff}.popover-light .popover-body{color:#fff}.popover-light .popover-header{border-color:hsla(0,0%,100%,.2)}.popover-light.bs-popover-auto[x-placement^=top] .arrow:after,.popover-light.bs-popover-top .arrow:after{border-top-color:#adb5bd}.popover-light.bs-popover-auto[x-placement^=right] .arrow:after,.popover-light.bs-popover-right .arrow:after{border-right-color:#adb5bd}.popover-light.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-light.bs-popover-bottom .arrow:after{border-bottom-color:#adb5bd}.popover-light.bs-popover-auto[x-placement^=left] .arrow:after,.popover-light.bs-popover-left .arrow:after{border-left-color:#adb5bd}.popover-dark{background-color:#212529}.popover-dark .popover-header{background-color:#212529;color:#fff}.popover-dark .popover-body{color:#fff}.popover-dark .popover-header{border-color:hsla(0,0%,100%,.2)}.popover-dark.bs-popover-auto[x-placement^=top] .arrow:after,.popover-dark.bs-popover-top .arrow:after{border-top-color:#212529}.popover-dark.bs-popover-auto[x-placement^=right] .arrow:after,.popover-dark.bs-popover-right .arrow:after{border-right-color:#212529}.popover-dark.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-dark.bs-popover-bottom .arrow:after{border-bottom-color:#212529}.popover-dark.bs-popover-auto[x-placement^=left] .arrow:after,.popover-dark.bs-popover-left .arrow:after{border-left-color:#212529}.popover-default{background-color:#172b4d}.popover-default .popover-header{background-color:#172b4d;color:#fff}.popover-default .popover-body{color:#fff}.popover-default .popover-header{border-color:hsla(0,0%,100%,.2)}.popover-default.bs-popover-auto[x-placement^=top] .arrow:after,.popover-default.bs-popover-top .arrow:after{border-top-color:#172b4d}.popover-default.bs-popover-auto[x-placement^=right] .arrow:after,.popover-default.bs-popover-right .arrow:after{border-right-color:#172b4d}.popover-default.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-default.bs-popover-bottom .arrow:after{border-bottom-color:#172b4d}.popover-default.bs-popover-auto[x-placement^=left] .arrow:after,.popover-default.bs-popover-left .arrow:after{border-left-color:#172b4d}.popover-white{background-color:#fff}.popover-white .popover-header{background-color:#fff;color:#212529}.popover-white .popover-body{color:#212529}.popover-white .popover-header{border-color:rgba(33,37,41,.2)}.popover-white.bs-popover-auto[x-placement^=top] .arrow:after,.popover-white.bs-popover-top .arrow:after{border-top-color:#fff}.popover-white.bs-popover-auto[x-placement^=right] .arrow:after,.popover-white.bs-popover-right .arrow:after{border-right-color:#fff}.popover-white.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-white.bs-popover-bottom .arrow:after{border-bottom-color:#fff}.popover-white.bs-popover-auto[x-placement^=left] .arrow:after,.popover-white.bs-popover-left .arrow:after{border-left-color:#fff}.popover-neutral{background-color:#fff}.popover-neutral .popover-header{background-color:#fff;color:#212529}.popover-neutral .popover-body{color:#212529}.popover-neutral .popover-header{border-color:rgba(33,37,41,.2)}.popover-neutral.bs-popover-auto[x-placement^=top] .arrow:after,.popover-neutral.bs-popover-top .arrow:after{border-top-color:#fff}.popover-neutral.bs-popover-auto[x-placement^=right] .arrow:after,.popover-neutral.bs-popover-right .arrow:after{border-right-color:#fff}.popover-neutral.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-neutral.bs-popover-bottom .arrow:after{border-bottom-color:#fff}.popover-neutral.bs-popover-auto[x-placement^=left] .arrow:after,.popover-neutral.bs-popover-left .arrow:after{border-left-color:#fff}.popover-darker{background-color:#000}.popover-darker .popover-header{background-color:#000;color:#fff}.popover-darker .popover-body{color:#fff}.popover-darker .popover-header{border-color:hsla(0,0%,100%,.2)}.popover-darker.bs-popover-auto[x-placement^=top] .arrow:after,.popover-darker.bs-popover-top .arrow:after{border-top-color:#000}.popover-darker.bs-popover-auto[x-placement^=right] .arrow:after,.popover-darker.bs-popover-right .arrow:after{border-right-color:#000}.popover-darker.bs-popover-auto[x-placement^=bottom] .arrow:after,.popover-darker.bs-popover-bottom .arrow:after{border-bottom-color:#000}.popover-darker.bs-popover-auto[x-placement^=left] .arrow:after,.popover-darker.bs-popover-left .arrow:after{border-left-color:#000}.progress-wrapper{position:relative;padding-top:1.5rem}.progress{height:8px;margin-bottom:1rem;overflow:hidden;border-radius:.25rem;background-color:#e9ecef;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress .sr-only{width:auto;height:20px;margin:0 0 0 30px;left:0;clip:auto;line-height:20px;font-size:13px}.progress-sm{height:5px}.progress-xs{height:3px}.progress-heading{font-size:14px;font-weight:500;margin:0 0 2px;padding:0}.progress-bar{-webkit-box-shadow:none;box-shadow:none;border-radius:0;height:auto}.progress-info{margin-bottom:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.progress-label span{display:inline-block;color:#5e72e4;font-size:.625rem;font-weight:600;text-transform:uppercase;background:rgba(94,114,228,.1);padding:.25rem 1rem;border-radius:30px}.progress-percentage{text-align:right}.progress-percentage span{display:inline-block;color:#8898aa;font-size:.875rem;font-weight:600}.separator{top:auto;left:0;right:0;width:100%;height:150px;-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.separator,.separator svg{position:absolute;pointer-events:none}.separator-top{top:0;bottom:auto}.separator-top svg{top:0}.separator-bottom{top:auto;bottom:0}.separator-bottom svg{bottom:0}.separator-inverse{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.separator-skew{height:60px}@media (min-width:1200px){.separator-skew{height:70px}}.section-nucleo-icons{--icon-size:5rem;--icon-sm-size:3.75rem;--gutter:7rem}.section-nucleo-icons .icons-container{position:relative;max-width:100%;height:360px;margin:0 auto;z-index:1}.section-nucleo-icons .icons-container i{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;background:#fff;z-index:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-box-shadow:0 0 2rem 0 rgba(136,152,170,.15);box-shadow:0 0 2rem 0 rgba(136,152,170,.15);-webkit-transition:all .2s cubic-bezier(.25,.65,.9,.75);transition:all .2s cubic-bezier(.25,.65,.9,.75)}.section-nucleo-icons .icons-container i.icon{width:var(--icon-size);height:var(--icon-size);font-size:1.7em}.section-nucleo-icons .icons-container i.icon-sm{width:var(--icon-sm-size);height:var(--icon-sm-size);font-size:1.5em}.section-nucleo-icons .icons-container i:first-child{z-index:2}.section-nucleo-icons .icons-container i{opacity:1}.section-nucleo-icons .icons-container i:first-child{left:50%;top:50%;font-size:42px;color:#fb6340}.section-nucleo-icons .icons-container i:nth-child(2){left:calc(50% + var(--gutter)*1.7);top:50%}.section-nucleo-icons .icons-container i:nth-child(3){left:calc(50% + var(--gutter));top:calc(50% + var(--gutter))}.section-nucleo-icons .icons-container i:nth-child(4){left:calc(50% + var(--gutter));top:calc(50% - var(--gutter))}.section-nucleo-icons .icons-container i:nth-child(5){left:calc(50% + var(--gutter)*4);top:50%}.section-nucleo-icons .icons-container i:nth-child(6){left:calc(50% + var(--gutter)*2.7);top:calc(50% + var(--gutter)*1.5)}.section-nucleo-icons .icons-container i:nth-child(7){left:calc(50% + var(--gutter)*2.7);top:calc(50% - var(--gutter)*1.5)}.section-nucleo-icons .icons-container i:nth-child(8){left:calc(50% - var(--gutter)*1.7);top:50%}.section-nucleo-icons .icons-container i:nth-child(9){left:calc(50% - var(--gutter));top:calc(50% + var(--gutter))}.section-nucleo-icons .icons-container i:nth-child(10){left:calc(50% - var(--gutter));top:calc(50% - var(--gutter))}.section-nucleo-icons .icons-container i:nth-child(11){left:calc(50% - var(--gutter)*4);top:50%}.section-nucleo-icons .icons-container i:nth-child(12){left:calc(50% - var(--gutter)*2.7);top:calc(50% + var(--gutter)*1.5)}.section-nucleo-icons .icons-container i:nth-child(13){left:calc(50% - var(--gutter)*2.7);top:calc(50% - var(--gutter)*1.5)}.shortcut-media{-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion:reduce){.shortcut-media{-webkit-transition:none;transition:none}}.shortcut-item{padding-top:1rem;padding-bottom:1rem;text-align:center}.shortcut-item small{display:block;margin-top:.75rem;font-size:.8125rem;font-weight:600}.shortcut-item:hover .shortcut-media{-webkit-transform:scale(1.1);transform:scale(1.1)}.el-table thead th,.table thead th{padding-top:.75rem;padding-bottom:.75rem;font-size:.65rem;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #e9ecef;border-top:1px solid #e9ecef}.el-table th,.table th{font-weight:600}.el-table td .progress,.table td .progress{height:3px;width:120px;margin:0}.el-table td,.el-table th,.table td,.table th{color:#525f7f;font-size:.8125rem;white-space:nowrap}.el-table.align-items-center td,.el-table.align-items-center th,.table.align-items-center td,.table.align-items-center th{vertical-align:middle}.el-table .thead-dark th,.table .thead-dark th{background-color:#1c345d;color:#4d7bca}.el-table .thead-dark th a,.table .thead-dark th a{color:#4d7bca}.el-table .thead-light th,.table .thead-light th{background-color:#f6f9fc;color:#8898aa}.el-table .thead-light th a,.table .thead-light th a{color:#8898aa}.table-hover tr{-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.table-hover tr{-webkit-transition:none;transition:none}}.el-table.table-dark,.el-table.table-dark tbody .cell,.table-dark,.table-dark tbody .cell{color:#f8f9fe}.el-table.table-dark td,.el-table.table-dark th,.el-table.table-dark thead th,.table-dark td,.table-dark th,.table-dark thead th{border-color:#1f3a68}.table-flush td,.table-flush th{border-left:0;border-right:0}.table-flush tbody tr:first-child td,.table-flush tbody tr:first-child th{border-top:0}.table-flush tbody tr:last-child td,.table-flush tbody tr:last-child th{border-bottom:0}.card .el-table,.card .table{margin-bottom:0}.card .el-table td,.card .el-table th,.card .table td,.card .table th{padding-left:1.5rem;padding-right:1.5rem}.el-table .custom-toggle,.table .custom-toggle{display:block}.table-action{font-size:.875rem;color:#adb5bd;margin:0 .25rem}.table-action:hover{color:#919ca6}.table-action-delete:hover{color:#f5365c}.table-dark .table-action{color:#4d7bca}.el-table [data-sort],.table [data-sort]{cursor:pointer}.el-table .thead-dark [data-sort]:after,.table .thead-dark [data-sort]:after{content:url("data:image/svg+xml;utf8,");margin-left:.25rem}.el-table .thead-light [data-sort]:after,.table .thead-light [data-sort]:after{content:url("data:image/svg+xml;utf8,");margin-left:.25rem}.timeline{position:relative}.timeline:before{content:"";position:absolute;top:0;left:1rem;height:100%;border-right:2px solid #e9ecef}[data-timeline-axis-style=dashed]:before{border-right-style:dashed!important}[data-timeline-axis-style=dotted]:before{border-right-style:dotted!important}.timeline-block{position:relative;margin:2em 0}.timeline-block:after{content:"";display:table;clear:both}.timeline-block:first-child{margin-top:0}.timeline-block:last-child{margin-bottom:0}.timeline-step{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;left:0;width:33px;height:33px;border-radius:50%;text-align:center;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:1rem;font-weight:600;z-index:1}.timeline-step i,.timeline-step svg{line-height:1.4}.timeline-step-icon{background:#fff;border:2px solid #e9ecef}.timeline-step-xs{width:17px;height:17px;font-size:.75rem}.timeline-step-sm{width:23px;height:23px;font-size:.75rem}.timeline-step-lg{width:47px;height:47px;font-size:1.75rem}.timeline-content{margin-left:60px;padding-top:.5rem;position:relative;top:-6px}.timeline-content:after{content:"";display:table;clear:both}.timeline-body{padding:1.5rem}@media (min-width:992px){.timeline:before{left:50%;margin-left:-2px}.timeline-step{left:50%}.timeline-content{width:38%}.timeline-body{padding:1.5rem}.timeline-block:nth-child(2n) .timeline-content{float:right}[data-timeline-axis-color=primary]:before{border-color:#5e72e4}[data-timeline-axis-color=secondary]:before{border-color:#f7fafc}[data-timeline-axis-color=success]:before{border-color:#2dce89}[data-timeline-axis-color=info]:before{border-color:#11cdef}[data-timeline-axis-color=warning]:before{border-color:#fb6340}[data-timeline-axis-color=danger]:before{border-color:#f5365c}[data-timeline-axis-color=light]:before{border-color:#adb5bd}[data-timeline-axis-color=dark]:before{border-color:#212529}[data-timeline-axis-color=default]:before{border-color:#172b4d}[data-timeline-axis-color=neutral]:before,[data-timeline-axis-color=white]:before{border-color:#fff}[data-timeline-axis-color=darker]:before{border-color:#000}}.timeline-one-side .timeline-step,.timeline-one-side:before{left:1rem}.timeline-one-side .timeline-content{width:auto}@media (min-width:992px){.timeline-one-side .timeline-content{max-width:30rem}}.timeline-one-side .timeline-block:nth-child(2n) .timeline-content{float:none}p{font-size:1rem}.lead,p{font-weight:300;line-height:1.7}.lead{font-size:1.25rem;margin-top:1.5rem}.lead+.btn-wrapper{margin-top:3rem}.description{font-size:.875rem}article h4:not(:first-child),article h5:not(:first-child){margin-top:3rem}article h4,article h5{margin-bottom:1.5rem}article figure{margin:3rem 0}article h5+figure{margin-top:0}.display-1 span,.display-2 span,.display-3 span,.display-4 span{display:block;font-weight:300}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{color:inherit}.heading{letter-spacing:.025em;font-size:.95rem;font-weight:600}.heading,.heading-small{text-transform:uppercase}.heading-small{padding-top:.25rem;padding-bottom:.25rem;font-size:.75rem;letter-spacing:.04em}.heading-section,.heading-title{letter-spacing:.025em;font-size:1.375rem;font-weight:600;text-transform:uppercase}.heading-section img{display:block;width:72px;height:72px;margin-bottom:1.5rem}.heading-section.text-center img{margin-left:auto;margin-right:auto}.surtitle{text-transform:uppercase;color:#8898aa;letter-spacing:2px;margin-bottom:0}.bg-blue{background-color:#5e72e4!important}a.bg-blue:focus,a.bg-blue:hover,button.bg-blue:focus,button.bg-blue:hover{background-color:#324cdd!important}.bg-indigo{background-color:#5603ad!important}a.bg-indigo:focus,a.bg-indigo:hover,button.bg-indigo:focus,button.bg-indigo:hover{background-color:#3d027b!important}.bg-purple{background-color:#8965e0!important}a.bg-purple:focus,a.bg-purple:hover,button.bg-purple:focus,button.bg-purple:hover{background-color:#683bd7!important}.bg-pink{background-color:#f3a4b5!important}a.bg-pink:focus,a.bg-pink:hover,button.bg-pink:focus,button.bg-pink:hover{background-color:#ed7790!important}.bg-red{background-color:#f5365c!important}a.bg-red:focus,a.bg-red:hover,button.bg-red:focus,button.bg-red:hover{background-color:#ec0c38!important}.bg-orange{background-color:#fb6340!important}a.bg-orange:focus,a.bg-orange:hover,button.bg-orange:focus,button.bg-orange:hover{background-color:#fa3a0e!important}.bg-yellow{background-color:#ffd600!important}a.bg-yellow:focus,a.bg-yellow:hover,button.bg-yellow:focus,button.bg-yellow:hover{background-color:#ccab00!important}.bg-green{background-color:#2dce89!important}a.bg-green:focus,a.bg-green:hover,button.bg-green:focus,button.bg-green:hover{background-color:#24a46d!important}.bg-teal{background-color:#11cdef!important}a.bg-teal:focus,a.bg-teal:hover,button.bg-teal:focus,button.bg-teal:hover{background-color:#0da5c0!important}.bg-cyan{background-color:#2bffc6!important}a.bg-cyan:focus,a.bg-cyan:hover,button.bg-cyan:focus,button.bg-cyan:hover{background-color:#00f7b5!important}.bg-white{background-color:#fff!important}a.bg-white:focus,a.bg-white:hover,button.bg-white:focus,button.bg-white:hover{background-color:#e6e5e5!important}.bg-gray{background-color:#8898aa!important}a.bg-gray:focus,a.bg-gray:hover,button.bg-gray:focus,button.bg-gray:hover{background-color:#6a7e95!important}.bg-gray-dark{background-color:#32325d!important}a.bg-gray-dark:focus,a.bg-gray-dark:hover,button.bg-gray-dark:focus,button.bg-gray-dark:hover{background-color:#20203c!important}.bg-light{background-color:#ced4da!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#b1bbc4!important}.bg-lighter{background-color:#e9ecef!important}a.bg-lighter:focus,a.bg-lighter:hover,button.bg-lighter:focus,button.bg-lighter:hover{background-color:#cbd3da!important}.bg-gradient-blue{background:linear-gradient(87deg,#5e72e4,#825ee4)!important}.bg-gradient-indigo{background:linear-gradient(87deg,#5603ad,#9d03ad)!important}.bg-gradient-purple{background:linear-gradient(87deg,#8965e0,#bc65e0)!important}.bg-gradient-pink{background:linear-gradient(87deg,#f3a4b5,#f3b4a4)!important}.bg-gradient-red{background:linear-gradient(87deg,#f5365c,#f56036)!important}.bg-gradient-orange{background:linear-gradient(87deg,#fb6340,#fbb140)!important}.bg-gradient-yellow{background:linear-gradient(87deg,#ffd600,#beff00)!important}.bg-gradient-green{background:linear-gradient(87deg,#2dce89,#2dcecc)!important}.bg-gradient-teal{background:linear-gradient(87deg,#11cdef,#1171ef)!important}.bg-gradient-cyan{background:linear-gradient(87deg,#2bffc6,#2be0ff)!important}.bg-gradient-gray{background:linear-gradient(87deg,#8898aa,#888aaa)!important}.bg-gradient-gray-dark{background:linear-gradient(87deg,#32325d,#44325d)!important}.bg-gradient-light{background:linear-gradient(87deg,#ced4da,#cecfda)!important}.bg-gradient-lighter{background:linear-gradient(87deg,#e9ecef,#e9eaef)!important}.bg-translucent-primary{background-color:rgba(63,87,223,.6)!important}a.bg-translucent-primary:focus,a.bg-translucent-primary:hover,button.bg-translucent-primary:focus,button.bg-translucent-primary:hover{background-color:rgba(42,68,219,.6)!important}.bg-translucent-secondary{background-color:rgba(221,234,242,.6)!important}a.bg-translucent-secondary:focus,a.bg-translucent-secondary:hover,button.bg-translucent-secondary:focus,button.bg-translucent-secondary:hover{background-color:rgba(202,222,235,.6)!important}.bg-translucent-success{background-color:rgba(39,177,118,.6)!important}a.bg-translucent-success:focus,a.bg-translucent-success:hover,button.bg-translucent-success:focus,button.bg-translucent-success:hover{background-color:rgba(34,156,104,.6)!important}.bg-translucent-info{background-color:rgba(14,177,206,.6)!important}a.bg-translucent-info:focus,a.bg-translucent-info:hover,button.bg-translucent-info:focus,button.bg-translucent-info:hover{background-color:rgba(12,156,183,.6)!important}.bg-translucent-warning{background-color:rgba(250,70,29,.6)!important}a.bg-translucent-warning:focus,a.bg-translucent-warning:hover,button.bg-translucent-warning:focus,button.bg-translucent-warning:hover{background-color:rgba(249,51,5,.6)!important}.bg-translucent-danger{background-color:rgba(243,20,64,.6)!important}a.bg-translucent-danger:focus,a.bg-translucent-danger:hover,button.bg-translucent-danger:focus,button.bg-translucent-danger:hover{background-color:rgba(227,11,54,.6)!important}.bg-translucent-light{background-color:rgba(153,163,173,.6)!important}a.bg-translucent-light:focus,a.bg-translucent-light:hover,button.bg-translucent-light:focus,button.bg-translucent-light:hover{background-color:rgba(139,150,162,.6)!important}.bg-translucent-dark{background-color:rgba(17,19,21,.6)!important}a.bg-translucent-dark:focus,a.bg-translucent-dark:hover,button.bg-translucent-dark:focus,button.bg-translucent-dark:hover{background-color:rgba(6,6,7,.6)!important}.bg-translucent-default{background-color:rgba(15,28,50,.6)!important}a.bg-translucent-default:focus,a.bg-translucent-default:hover,button.bg-translucent-default:focus,button.bg-translucent-default:hover{background-color:rgba(9,17,30,.6)!important}.bg-translucent-white{background-color:hsla(0,0%,92.9%,.6)!important}a.bg-translucent-white:focus,a.bg-translucent-white:hover,button.bg-translucent-white:focus,button.bg-translucent-white:hover{background-color:hsla(0,0%,87.8%,.6)!important}.bg-translucent-neutral{background-color:hsla(0,0%,92.9%,.6)!important}a.bg-translucent-neutral:focus,a.bg-translucent-neutral:hover,button.bg-translucent-neutral:focus,button.bg-translucent-neutral:hover{background-color:hsla(0,0%,87.8%,.6)!important}.bg-translucent-darker,a.bg-translucent-darker:focus,a.bg-translucent-darker:hover,button.bg-translucent-darker:focus,button.bg-translucent-darker:hover{background-color:rgba(0,0,0,.6)!important}.section-primary{background-color:#f8f9fe!important}a.section-primary:focus,a.section-primary:hover,button.section-primary:focus,button.section-primary:hover{background-color:#cbd3f8!important}.section-secondary{background-color:#f7fafc!important}a.section-secondary:focus,a.section-secondary:hover,button.section-secondary:focus,button.section-secondary:hover{background-color:#d2e3ee!important}.section-light{background-color:#ced4da!important}a.section-light:focus,a.section-light:hover,button.section-light:focus,button.section-light:hover{background-color:#b1bbc4!important}.section-dark{background-color:#212529!important}a.section-dark:focus,a.section-dark:hover,button.section-dark:focus,button.section-dark:hover{background-color:#0a0c0d!important}.section-darker,a.section-darker:focus,a.section-darker:hover,button.section-darker:focus,button.section-darker:hover{background-color:#000!important}.bg-gradient-primary{background:linear-gradient(87deg,#5e72e4,#825ee4)!important}.bg-gradient-secondary{background:linear-gradient(87deg,#f7fafc,#f7f8fc)!important}.bg-gradient-success{background:linear-gradient(87deg,#2dce89,#2dcecc)!important}.bg-gradient-info{background:linear-gradient(87deg,#11cdef,#1171ef)!important}.bg-gradient-warning{background:linear-gradient(87deg,#fb6340,#fbb140)!important}.bg-gradient-danger{background:linear-gradient(87deg,#f5365c,#f56036)!important}.bg-gradient-light{background:linear-gradient(87deg,#adb5bd,#adaebd)!important}.bg-gradient-dark{background:linear-gradient(87deg,#212529,#212229)!important}.bg-gradient-default{background:linear-gradient(87deg,#172b4d,#1a174d)!important}.bg-gradient-neutral,.bg-gradient-white{background:linear-gradient(87deg,#fff,#fff)!important}.bg-gradient-darker{background:linear-gradient(87deg,#000,#000)!important}.fill-primary{fill:#5e72e4}.stroke-primary{stroke:#5e72e4}.fill-secondary{fill:#f7fafc}.stroke-secondary{stroke:#f7fafc}.fill-success{fill:#2dce89}.stroke-success{stroke:#2dce89}.fill-info{fill:#11cdef}.stroke-info{stroke:#11cdef}.fill-warning{fill:#fb6340}.stroke-warning{stroke:#fb6340}.fill-danger{fill:#f5365c}.stroke-danger{stroke:#f5365c}.fill-light{fill:#adb5bd}.stroke-light{stroke:#adb5bd}.fill-dark{fill:#212529}.stroke-dark{stroke:#212529}.fill-default{fill:#172b4d}.stroke-default{stroke:#172b4d}.fill-white{fill:#fff}.stroke-white{stroke:#fff}.fill-neutral{fill:#fff}.stroke-neutral{stroke:#fff}.fill-darker{fill:#000}.stroke-darker{stroke:#000}.fill-opacity-8{fill-opacity:.8}.blur--hover{position:relative}.blur--hover .blur-item{-webkit-transition:1s cubic-bezier(.19,1,.22,1);transition:1s cubic-bezier(.19,1,.22,1);will-change:transform;-webkit-filter:blur(0);filter:blur(0);opacity:1}.blur--hover .blur-hidden{position:absolute;top:calc(50% + 7px);left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0;-webkit-transition:all .15s ease;transition:all .15s ease;z-index:100}.blur--hover:hover .blur-item{opacity:.8;-webkit-filter:blur(10px);filter:blur(10px);-webkit-transform:scale(.95);transform:scale(.95);z-index:1}.blur--hover:hover .blur-hidden{opacity:1;top:50%}.floating{-webkit-animation:floating 3s ease infinite;animation:floating 3s ease infinite;will-change:transform}.floating:hover{-webkit-animation-play-state:paused;animation-play-state:paused}.floating-lg{-webkit-animation:floating-lg 3s ease infinite;animation:floating-lg 3s ease infinite}.floating-sm{-webkit-animation:floating-sm 3s ease infinite;animation:floating-sm 3s ease infinite}@-webkit-keyframes floating-lg{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(15px);transform:translateY(15px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes floating-lg{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(15px);transform:translateY(15px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes floating{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(10px);transform:translateY(10px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes floating{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(10px);transform:translateY(10px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes floating-sm{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(5px);transform:translateY(5px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes floating-sm{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(5px);transform:translateY(5px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.floatfix:after,.floatfix:before{content:"";display:table}.floatfix:after{clear:both}.img-center{display:block;margin-left:auto;margin-right:auto}.opacity-1{opacity:.1!important}.opacity-2{opacity:.2!important}.opacity-3{opacity:.3!important}.opacity-4{opacity:.4!important}.opacity-5{opacity:.5!important}.opacity-6{opacity:.6!important}.opacity-7{opacity:.7!important}.opacity-8{opacity:.8!important;opacity:.9!important}.opacity-10{opacity:1!important}.overflow-visible{overflow:visible!important}.overflow-hidden{overflow:hidden!important}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:.25rem}.right-1{right:.25rem}.bottom-1{bottom:.25rem}.left-1{left:.25rem}.top-2{top:.5rem}.right-2{right:.5rem}.bottom-2{bottom:.5rem}.left-2{left:.5rem}.top-3{top:1rem}.right-3{right:1rem}.bottom-3{bottom:1rem}.left-3{left:1rem}.top-4{top:1.5rem}.right-4{right:1.5rem}.bottom-4{bottom:1.5rem}.left-4{left:1.5rem}.top-5{top:3rem}.right-5{right:3rem}.bottom-5{bottom:3rem}.left-5{left:3rem}.top--9{top:-10rem}.right--9{right:-10rem}.bottom--9{bottom:-10rem}.left--9{left:-10rem}.top--8{top:-8rem}.right--8{right:-8rem}.bottom--8{bottom:-8rem}.left--8{left:-8rem}.top--7{top:-6rem}.right--7{right:-6rem}.bottom--7{bottom:-6rem}.left--7{left:-6rem}.top--6{top:-4.5rem}.right--6{right:-4.5rem}.bottom--6{bottom:-4.5rem}.left--6{left:-4.5rem}.top--5{top:-3rem}.right--5{right:-3rem}.bottom--5{bottom:-3rem}.left--5{left:-3rem}.top--4{top:-1.5rem}.right--4{right:-1.5rem}.bottom--4{bottom:-1.5rem}.left--4{left:-1.5rem}.top--3{top:-1rem}.right--3{right:-1rem}.bottom--3{bottom:-1rem}.left--3{left:-1rem}.top--2{top:-.5rem}.right--2{right:-.5rem}.bottom--2{bottom:-.5rem}.left--2{left:-.5rem}.top--1{top:-.25rem}.right--1{right:-.25rem}.bottom--1{bottom:-.25rem}.left--1{left:-.25rem}.top-6{top:4.5rem}.right-6{right:4.5rem}.bottom-6{bottom:4.5rem}.left-6{left:4.5rem}.top-7{top:6rem}.right-7{right:6rem}.bottom-7{bottom:6rem}.left-7{left:6rem}.top-8{top:8rem}.right-8{right:8rem}.bottom-8{bottom:8rem}.left-8{left:8rem}.top-9{top:10rem}.right-9{right:10rem}.bottom-9{bottom:10rem}.left-9{left:10rem}.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}[class*=shadow]{-webkit-transition:all .15s ease;transition:all .15s ease}.shadow-sm--hover:hover{-webkit-box-shadow:0 0 .5rem rgba(136,152,170,.075)!important;box-shadow:0 0 .5rem rgba(136,152,170,.075)!important}.shadow--hover:hover{-webkit-box-shadow:0 0 2rem 0 rgba(136,152,170,.15)!important;box-shadow:0 0 2rem 0 rgba(136,152,170,.15)!important}.shadow-lg--hover:hover{-webkit-box-shadow:0 0 3rem rgba(136,152,170,.175)!important;box-shadow:0 0 3rem rgba(136,152,170,.175)!important}.shadow-none--hover:hover{-webkit-box-shadow:none!important;box-shadow:none!important}.h-100vh{height:100vh!important}.row.row-grid>[class*=col-]+[class*=col-]{margin-top:3rem}@media (min-width:992px){.row.row-grid>[class*=col-lg-]+[class*=col-lg-]{margin-top:0}}@media (min-width:768px){.row.row-grid>[class*=col-md-]+[class*=col-md-]{margin-top:0}}@media (min-width:576px){.row.row-grid>[class*=col-sm-]+[class*=col-sm-]{margin-top:0}}.row-grid+.row-grid{margin-top:3rem}@media (min-width:992px){.mt--100{margin-top:-100px!important}.mr--100{margin-right:-100px!important}.mb--100{margin-bottom:-100px!important}.ml--100{margin-left:-100px!important}.mt--150{margin-top:-150px!important}.mb--150{margin-bottom:-150px!important}.mt--200{margin-top:-200px!important}.mb--200{margin-bottom:-200px!important}.mt--300{margin-top:-300px!important}.mb--300{margin-bottom:-300px!important}.pt-100{padding-top:100px!important}.pb-100{padding-bottom:100px!important}.pt-150{padding-top:150px!important}.pb-150{padding-bottom:150px!important}.pt-200{padding-top:200px!important}.pb-200{padding-bottom:200px!important}.pt-250{padding-top:250px!important}.pb-250{padding-bottom:250px!important}.pt-300{padding-top:300px!important}.pb-300{padding-bottom:300px!important}}.font-weight-300{font-weight:300!important}.font-weight-400{font-weight:400!important}.font-weight-500{font-weight:500!important}.font-weight-600{font-weight:600!important}.font-weight-700{font-weight:700!important}.font-weight-800{font-weight:800!important}.font-weight-900{font-weight:900!important}.text-underline{text-decoration:underline}.text-through{text-decoration:line-through}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-lg{font-size:1.25rem!important}.text-xl{font-size:1.5rem!important}.lh-100{line-height:1}.lh-110{line-height:1.1}.lh-120{line-height:1.2}.lh-130{line-height:1.3}.lh-140{line-height:1.4}.lh-150{line-height:1.5}.lh-160{line-height:1.6}.lh-170{line-height:1.7}.lh-180{line-height:1.8}.ls-1{letter-spacing:.0625rem}.ls-15{letter-spacing:.09375rem}.ls-2{letter-spacing:.125rem}.text-blue{color:#5e72e4!important}a.text-blue:focus,a.text-blue:hover{color:#233dd2!important}.text-indigo{color:#5603ad!important}a.text-indigo:focus,a.text-indigo:hover{color:#310262!important}.text-purple{color:#8965e0!important}a.text-purple:focus,a.text-purple:hover{color:#5a2acf!important}.text-pink{color:#f3a4b5!important}a.text-pink:focus,a.text-pink:hover{color:#ea607e!important}.text-red{color:#f5365c!important}a.text-red:focus,a.text-red:hover{color:#d40b33!important}.text-orange{color:#fb6340!important}a.text-orange:focus,a.text-orange:hover{color:#ea3005!important}.text-yellow{color:#ffd600!important}a.text-yellow:focus,a.text-yellow:hover{color:#b39600!important}.text-green{color:#2dce89!important}a.text-green:focus,a.text-green:hover{color:#1f8f5f!important}.text-teal{color:#11cdef!important}a.text-teal:focus,a.text-teal:hover{color:#0b90a8!important}.text-cyan{color:#2bffc6!important}a.text-cyan:focus,a.text-cyan:hover{color:#00dea2!important}.text-white{color:#fff!important}a.text-white:focus,a.text-white:hover{color:#d9d9d9!important}.text-gray{color:#8898aa!important}a.text-gray:focus,a.text-gray:hover{color:#607286!important}.text-gray-dark{color:#32325d!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#17172b!important}.text-light{color:#ced4da!important}a.text-light:focus,a.text-light:hover{color:#a2aeb9!important}.text-lighter{color:#e9ecef!important}a.text-lighter:focus,a.text-lighter:hover{color:#bdc6cf!important}@media (min-width:992px){.transform-perspective-right{-webkit-transform:scale(1) perspective(1040px) rotateY(-11deg) rotateX(2deg) rotate(2deg);transform:scale(1) perspective(1040px) rotateY(-11deg) rotateX(2deg) rotate(2deg)}.transform-perspective-left{-webkit-transform:scale(1) perspective(2000px) rotateY(11deg) rotateX(2deg) rotate(-2deg);transform:scale(1) perspective(2000px) rotateY(11deg) rotateX(2deg) rotate(-2deg)}}.datepicker{border-radius:.375rem;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0;padding:20px 22px;-webkit-box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1);box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1)}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #fff}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker table tr td{border-radius:50%}.datepicker table tr th{border-radius:.375rem;font-weight:500}.datepicker table tr td,.datepicker table tr th{-webkit-transition:all .15s ease;transition:all .15s ease;width:36px;height:36px;border:none;text-align:center;font-size:.875rem}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.new,.datepicker table tr td.old{color:#adb5bd}.datepicker table tr td.day:hover,.datepicker table tr td.focused{background:#fff;cursor:pointer}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:none;color:#dee2e6;cursor:default}.datepicker table tr td.highlighted{border-radius:0}.datepicker table tr td.highlighted.focused{background:#5e72e4}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{background:#5e72e4;color:#ced4da}.datepicker table tr td.today,.datepicker table tr td.today.focused{background:#fff}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{background:#fff;color:#8898aa}.datepicker table tr td.range{background:#5e72e4;color:#fff;border-radius:0}.datepicker table tr td.range.focused{background:#3b53de}.datepicker table tr td.range.day.disabled:hover,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{background:#324cdd;color:#8a98eb}.datepicker table tr td.range.highlighted.focused{background:#cbd3da}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{background:#e9ecef;color:#dee2e6}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{background:#5e72e4;color:#fff}.datepicker table tr td.day.range-start{border-top-right-radius:0;border-bottom-right-radius:0}.datepicker table tr td.day.range-end{border-top-left-radius:0;border-bottom-left-radius:0}.datepicker table tr td.day.range-start.range-end{border-radius:50%}.datepicker table tr td.day.range:hover,.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted,.datepicker table tr td.selected.highlighted:hover,.datepicker table tr td.selected:hover{background:#5e72e4;color:#fff}.datepicker table tr td.active,.datepicker table tr td.active.highlighted,.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:hover{background:#5e72e4;color:#fff;-webkit-box-shadow:none;box-shadow:none}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#e9ecef}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:none;color:#dee2e6;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#8898aa}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#e9ecef}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.bootstrap-tagsinput{background-color:#fff;border:0 solid transparent;display:inline-block;padding:.25rem;color:#8898aa;vertical-align:middle;border-radius:.25rem;max-width:100%;cursor:text}.bootstrap-tagsinput input{border:none;-webkit-box-shadow:none;box-shadow:none;outline:none;background-color:transparent;padding:0 6px;margin:0;width:auto;max-width:inherit}.bootstrap-tagsinput input::-webkit-input-placeholder{color:#adb5bd;opacity:1}.bootstrap-tagsinput input::-moz-placeholder{color:#adb5bd;opacity:1}.bootstrap-tagsinput input:-ms-input-placeholder{color:#adb5bd;opacity:1}.bootstrap-tagsinput input::-ms-input-placeholder{color:#adb5bd;opacity:1}.bootstrap-tagsinput input::placeholder{color:#adb5bd;opacity:1}.bootstrap-tagsinput input:focus{border:none;-webkit-box-shadow:none;box-shadow:none}.bootstrap-tagsinput .badge{position:relative;padding:.625rem .625rem .5rem;margin:.125rem;border-radius:.25rem;background:#172b4d;color:#fff;line-height:1.5;-webkit-box-shadow:0 1px 2px rgba(68,68,68,.25);box-shadow:0 1px 2px rgba(68,68,68,.25);-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.bootstrap-tagsinput .badge{-webkit-transition:none;transition:none}}.bootstrap-tagsinput .badge:hover{padding-right:1.5rem}.bootstrap-tagsinput [data-role=remove]{margin-left:10px;cursor:pointer;color:#fff;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.bootstrap-tagsinput [data-role=remove]:after{content:"\D7";font-size:16px}#chartjs-tooltip{opacity:1;position:absolute;background:rgba(0,0,0,.7);color:#fff;border-radius:3px;-webkit-transition:all .1s ease;transition:all .1s ease;pointer-events:none;-webkit-transform:translate(-50%);transform:translate(-50%)}.chartjs-tooltip-key{display:inline-block;width:10px;height:10px;margin-right:10px}.dropzone{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.dz-message{padding:5rem 1rem;background-color:#fff;border:1px dashed #dee2e6;border-radius:.375rem;text-align:center;color:#8898aa;-webkit-transition:all .15s ease;transition:all .15s ease;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1;cursor:pointer;z-index:999}.dz-message:hover{border-color:#8898aa;color:#525f7f}.dz-drag-hover .dz-message{border-color:#5e72e4;color:#5e72e4}.dropzone-multiple .dz-message{padding-top:2rem;padding-bottom:2rem}.dropzone-single.dz-max-files-reached .dz-message{background-color:rgba(0,0,0,.9);color:#fff;opacity:0}.dropzone-single.dz-max-files-reached .dz-message:hover{opacity:1}.dz-preview-cover,.dz-preview-single{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.375rem}.dz-preview-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;border-radius:.375rem}.dz-preview-multiple .list-group-item:last-child{padding-bottom:0;border-bottom:0}[data-dz-size] strong{font-weight:400}.el-checkbox .el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#5e72e4;border-color:#5e72e4}.el-checkbox .el-checkbox__input .el-checkbox__inner{width:16px;height:16px;font-size:16px;border-radius:3px}.el-checkbox .el-checkbox__input .el-checkbox__inner:before{top:6px;border-color:#5e72e4}.el-checkbox .el-checkbox__input .el-checkbox__inner:after{height:9px;left:5px}.el-checkbox .el-checkbox__input .el-checkbox__inner:hover{border-color:#5e72e4}.el-table .el-table__header-wrapper thead th{padding-top:0;padding-bottom:0}.el-table .el-table__header-wrapper thead th .cell{min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table .el-table__header-wrapper .sort-caret{border:4px solid transparent}.el-table .el-table__header-wrapper .sort-caret.ascending{top:7px}.el-table .el-table__header-wrapper .ascending .sort-caret.ascending{border-bottom-color:#172b4d}.el-table .el-table__header-wrapper .sort-caret.descending{bottom:9px}.el-table .el-table__header-wrapper .descending .sort-caret.descending{border-top-color:#172b4d}div.el-table{background:transparent}div.el-table tbody td,div.el-table thead th{padding:1rem}div.el-table .el-table-column--selection .cell{min-width:100px;overflow:visible;text-overflow:clip}div.el-table .el-table-column--selection .cell .el-checkbox{margin-bottom:0}div.el-table.el-table--enable-row-hover .el-table__body tr:hover>td,div.el-table .el-table__row,div.el-table .el-table__row:hover{background:transparent}div.el-table .el-table__header .cell,div.el-table .el-table__row .cell{padding:0}.flatpickr-calendar .flatpickr-day.selected,.flatpickr-calendar .flatpickr-day.selected:hover,.flatpickr-calendar .flatpickr-day:hover{background:#5e72e4;color:#fff;-webkit-box-shadow:none;box-shadow:none;border:none}.flatpickr-calendar{-webkit-box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1);box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1);padding:20px 22px;width:347px;color:#525f7f}.flatpickr-calendar .flatpickr-weekday{text-align:center;font-size:.875rem;color:#525f7f;font-weight:400}.flatpickr-calendar .flatpickr-day{border:none}.flatpickr-calendar .flatpickr-day.today{border:1px solid #5e72e4}.flatpickr-calendar .flatpickr-day.today:hover{background:#5e72e4;color:#fff}.flatpickr-calendar .flatpickr-day.inRange{background:#5e72e4!important;color:#fff;-webkit-box-shadow:-5px 0 0 #5e72e4,5px 0 0 #5e72e4;box-shadow:-5px 0 0 #5e72e4,5px 0 0 #5e72e4;border:none!important}.flatpickr-calendar .flatpickr-day.endRange,.flatpickr-calendar .flatpickr-day.startRange{background:#5e72e4}.flatpickr-calendar .flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-calendar .flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-calendar .flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #5e72e4;box-shadow:-10px 0 0 #5e72e4}.flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg{fill:#5e72e4}.flatpickr-calendar .flatpickr-current-month input.cur-year,.flatpickr-calendar .flatpickr-current-month span.cur-month{padding:0 10px;color:#525f7f;font-size:.875rem;font-weight:500}.flatpickr-calendar .flatpickr-current-month input.cur-year:hover,.flatpickr-calendar .flatpickr-current-month span.cur-month:hover{background:#e9ecef;border-radius:.375rem}.fc-header-toolbar{display:none}.fc-scroller{height:auto!important}.fc th{padding:.75rem 1rem;font-size:.75rem;font-weight:600;color:#8898aa;text-transform:uppercase}.fc div.fc-row{margin-right:0;border:0}.fc button .fc-icon{top:-5px}.fc-unthemed td.fc-today{background-color:transparent}.fc-unthemed td.fc-today span{color:#fb6340}.fc-event{padding:0;font-size:.75rem;border-radius:.25rem;border:0}.fc-event .fc-title{padding:.4rem .5rem;display:block;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.fc-event .fc-time{float:left;background:rgba(0,0,0,.2);padding:2px 6px;margin:0 0 0 -1px}.fc-view,.fc-view>table{border:0;overflow:hidden}.fc-view>table>tbody>tr .ui-widget-content{border-top:0}.fc-body{border:0}.fc-icon{font-family:NucleoIcons,sans-serif;font-size:1rem;width:35px;height:35px;border-radius:50%;line-height:35px}.fc-icon:hover{color:#5e72e4}.fc-button{border:0;background:transparent;-webkit-box-shadow:none;box-shadow:none}.fc-button:active,.fc-button:focus{outline:0}.calendar{z-index:0}.calendar td,.calendar th{border-color:#eff1f3}.calendar .fc-toolbar{height:250px;background-color:#fff;border-radius:.375rem .375rem 0 0;position:relative;margin-bottom:-2px;z-index:2}@media (max-width:575.98px){.calendar .fc-toolbar{height:135px}}.calendar .fc-day-number{padding:.5rem 1rem;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}@media (min-width:576px){.calendar .fc-day-number{font-size:.875rem;font-weight:600;color:#67779d}}.calendar .fc-day-header{text-align:left}.calendar .fc-day-grid-event{margin:1px 9px}[data-calendar-month]{background-size:contain;-webkit-transition:background-image .3s;transition:background-image .3s}@media (prefers-reduced-motion:reduce){[data-calendar-month]{-webkit-transition:none;transition:none}}[data-calendar-month="0"]{background-image:url(/img/calendar/january.jpg)}[data-calendar-month="1"]{background-image:url(/img/calendar/february.jpg)}[data-calendar-month="2"]{background-image:url(/img/calendar/march.jpg)}[data-calendar-month="3"]{background-image:url(/img/calendar/april.jpg)}[data-calendar-month="4"]{background-image:url(/img/calendar/may.jpg)}[data-calendar-month="5"]{background-image:url(/img/calendar/june.jpg)}[data-calendar-month="6"]{background-image:url(/img/calendar/july.jpg)}[data-calendar-month="7"]{background-image:url(/img/calendar/august.jpg)}[data-calendar-month="8"]{background-image:url(/img/calendar/september.jpg)}[data-calendar-month="9"]{background-image:url(/img/calendar/october.jpg)}[data-calendar-month="10"]{background-image:url(/img/calendar/november.jpg)}[data-calendar-month="11"]{background-image:url(/img/calendar/december.jpg)}.card-calendar .card-header{border-bottom:0}.card-calendar table{background:transparent}.card-calendar table tr>td:first-child{border-left-width:0}.card-calendar table tr>td:last-child{border-right-width:0}.widget-calendar{position:relative;z-index:0}.widget-calendar td,.widget-calendar th{border-color:transparent;text-align:center}.widget-calendar .fc-toolbar{margin-top:1.25rem}.widget-calendar .fc-toolbar h2{font-size:1rem}.widget-calendar .fc-day-number{text-align:center;width:100%;padding:0}.widget-calendar .fc table{font-size:.875rem}.widget-calendar .fc th{padding:.75rem .5rem;font-size:.75rem}.vector-map{position:relative;height:600px}.vector-map-sm{height:180px} - -/*! - * Lavalamp - * http://lavalamp.magicmediamuse.com/ - */.lavalamp,.lavalamp-item{position:relative}.lavalamp-item{z-index:5}.lavalamp-object{position:absolute;top:0;left:0}.lavalamp .lavalamp-object{-webkit-transition-property:width,height,-webkit-transform;transition-property:width,height,-webkit-transform;transition-property:transform,width,height;transition-property:transform,width,height,-webkit-transform}.lavalamp .lavalamp-object.ease{-webkit-transition-timing-function:ease;transition-timing-function:ease}.lavalamp .lavalamp-object.ease-in{-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}.lavalamp .lavalamp-object.ease-out{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.lavalamp .lavalamp-object.ease-in-out{-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.lavalamp .lavalamp-object.linear{-webkit-transition-timing-function:linear;transition-timing-function:linear}.lavalamp .lavalamp-object.easeInQuad{-webkit-transition-timing-function:cubic-bezier(.55,.085,.68,.53);transition-timing-function:cubic-bezier(.55,.085,.68,.53)}.lavalamp .lavalamp-object.easeInCubic{-webkit-transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.lavalamp .lavalamp-object.easeInQuart{-webkit-transition-timing-function:cubic-bezier(.895,.03,.685,.22);transition-timing-function:cubic-bezier(.895,.03,.685,.22)}.lavalamp .lavalamp-object.easeInQuint{-webkit-transition-timing-function:cubic-bezier(.755,.05,.855,.06);transition-timing-function:cubic-bezier(.755,.05,.855,.06)}.lavalamp .lavalamp-object.easeInSine{-webkit-transition-timing-function:cubic-bezier(.47,0,.745,.715);transition-timing-function:cubic-bezier(.47,0,.745,.715)}.lavalamp .lavalamp-object.easeInExpo{-webkit-transition-timing-function:cubic-bezier(.95,.05,.795,.035);transition-timing-function:cubic-bezier(.95,.05,.795,.035)}.lavalamp .lavalamp-object.easeInCirc{-webkit-transition-timing-function:cubic-bezier(.6,.04,.98,.335);transition-timing-function:cubic-bezier(.6,.04,.98,.335)}.lavalamp .lavalamp-object.easeInBack{-webkit-transition-timing-function:cubic-bezier(.6,-.28,.735,.045);transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}.lavalamp .lavalamp-object.easeOutQuad{-webkit-transition-timing-function:cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.lavalamp .lavalamp-object.easeOutCubic{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.lavalamp .lavalamp-object.easeOutQuart{-webkit-transition-timing-function:cubic-bezier(.165,.84,.44,1);transition-timing-function:cubic-bezier(.165,.84,.44,1)}.lavalamp .lavalamp-object.easeOutQuint{-webkit-transition-timing-function:cubic-bezier(.23,1,.32,1);transition-timing-function:cubic-bezier(.23,1,.32,1)}.lavalamp .lavalamp-object.easeOutSine{-webkit-transition-timing-function:cubic-bezier(.39,.575,.565,1);transition-timing-function:cubic-bezier(.39,.575,.565,1)}.lavalamp .lavalamp-object.easeOutExpo{-webkit-transition-timing-function:cubic-bezier(.19,1,.22,1);transition-timing-function:cubic-bezier(.19,1,.22,1)}.lavalamp .lavalamp-object.easeOutCirc{-webkit-transition-timing-function:cubic-bezier(.075,.82,.165,1);transition-timing-function:cubic-bezier(.075,.82,.165,1)}.lavalamp .lavalamp-object.easeOutBack{-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}.lavalamp .lavalamp-object.easeInOutQuad{-webkit-transition-timing-function:cubic-bezier(.455,.03,.515,.955);transition-timing-function:cubic-bezier(.455,.03,.515,.955)}.lavalamp .lavalamp-object.easeInOutCubic,.lavalamp .lavalamp-object.easeInOutQuart{-webkit-transition-timing-function:cubic-bezier(.645,.045,.355,1);transition-timing-function:cubic-bezier(.645,.045,.355,1)}.lavalamp .lavalamp-object.easeInOutQuint{-webkit-transition-timing-function:cubic-bezier(.86,0,.07,1);transition-timing-function:cubic-bezier(.86,0,.07,1)}.lavalamp .lavalamp-object.easeInOutSine{-webkit-transition-timing-function:cubic-bezier(.445,.05,.55,.95);transition-timing-function:cubic-bezier(.445,.05,.55,.95)}.lavalamp .lavalamp-object.easeInOutExpo{-webkit-transition-timing-function:cubic-bezier(1,0,0,1);transition-timing-function:cubic-bezier(1,0,0,1)}.lavalamp .lavalamp-object.easeInOutCirc{-webkit-transition-timing-function:cubic-bezier(.785,.135,.15,.86);transition-timing-function:cubic-bezier(.785,.135,.15,.86)}.lavalamp .lavalamp-object.easeInOutBack{-webkit-transition-timing-function:cubic-bezier(.68,-.55,.265,1.55);transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;left:0;height:100%;width:100%;-webkit-transform-origin:0 0;transform-origin:0 0}html:not([dir=rtl]) .noUi-horizontal .noUi-origin{left:auto;right:0}.noUi-vertical .noUi-origin{width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{position:absolute}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}html:not([dir=rtl]) .noUi-horizontal .noUi-handle{right:-17px;left:auto}.noUi-connects{border-radius:3px}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#fff;cursor:default;-webkit-box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb;outline:none}.noUi-active{outline:none}[disabled] .noUi-connect{background:#b8b8b8}[disabled].noUi-handle,[disabled] .noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{-webkit-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#ccc}.noUi-marker-large,.noUi-marker-sub{background:#aaa}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translateY(-50%);transform:translateY(-50%);padding-left:25px}.noUi-rtl .noUi-value-vertical{-webkit-transform:translateY(50%);transform:translateY(50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%);transform:translate(-50%);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translateY(-50%);transform:translateY(-50%);top:50%;right:120%}.noUi-target{background:#eceeef;border-radius:5px;border:0;-webkit-box-shadow:inset 0 1px 2px rgba(90,97,105,.1);box-shadow:inset 0 1px 2px rgba(90,97,105,.1);margin:15px 0;cursor:pointer}.noUi-horizontal{height:5px}html:not([dir=rtl]) .noUi-horizontal .noUi-handle{right:-10px}.noUi-vertical{width:5px}.noUi-connect{background:#5e72e4;-webkit-box-shadow:none;box-shadow:none}.noUi-horizontal .noUi-handle,.noUi-vertical .noUi-handle{top:-5px;width:15px;height:15px;border-radius:100%;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;background-color:#5e72e4;border:0;-webkit-transition:-webkit-box-shadow .15s,-webkit-transform .15s;transition:-webkit-box-shadow .15s,-webkit-transform .15s;transition:box-shadow .15s,transform .15s;transition:box-shadow .15s,transform .15s,-webkit-box-shadow .15s,-webkit-transform .15s}.noUi-horizontal .noUi-handle.noUi-active,.noUi-vertical .noUi-handle.noUi-active{-webkit-box-shadow:0 0 0 2px #5e72e4;box-shadow:0 0 0 2px #5e72e4}.input-slider--cyan .noUi-connect{background:#2bffc6}[disabled].noUi-connect,[disabled] .noUi-connect{background:#b2b2b2}[disabled] .noUi-handle,[disabled].noUi-origin{cursor:not-allowed}.range-slider-value{font-size:.75rem;font-weight:500;background-color:rgba(33,37,41,.7);color:#fff;border-radius:10px;padding:.4em .8em .3em .85em}.range-slider-wrapper .upper-info{font-weight:400;margin-bottom:5px}.input-slider-value-output{background:#333;color:#fff;padding:4px 8px;position:relative;top:12px;font-size:11px;border-radius:2px}.input-slider-value-output:after{bottom:100%;left:10px;content:" ";height:0;width:0;position:absolute;pointer-events:none;border:4px solid rgba(136,183,213,0);border-bottom-color:#333;margin-left:-4px}.input-slider-value-output.left:after{left:10px;right:auto}.input-slider-value-output.right:after{right:10px;left:auto}.ql-container{font-family:Open Sans,sans-serif}.ql-toolbar{position:relative;padding:.625rem .75rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem .25rem 0 0;color:#8898aa}.ql-toolbar+.ql-container{margin-top:-1px}.ql-toolbar+.ql-container .ql-editor{border-top-left-radius:0;border-top-right-radius:0}.ql-editor{min-height:6rem;display:block;width:100%;padding:.625rem .75rem;font-size:1rem;line-height:1.5;color:#8898aa;background-color:#fff;background-clip:padding-box;border:1px solid #dee2e6;border-radius:.25rem;-webkit-box-shadow:0 3px 2px rgba(233,236,239,.05);box-shadow:0 3px 2px rgba(233,236,239,.05);-webkit-transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion:reduce){.ql-editor{-webkit-transition:none;transition:none}}.ql-editor::-ms-expand{background-color:transparent;border:0}.ql-editor:focus{color:#8898aa;background-color:#fff;border-color:#5e72e4;outline:0;-webkit-box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1);box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1);border-color:#dee2e6}.ql-hidden{position:absolute;-webkit-transform:scale(0);transform:scale(0)}.ql-editor.ql-blank:before{top:.625rem;left:.75rem;font-style:normal;color:#adb5bd}.ql-editor:focus:before{display:none}.ql-formats{padding-left:.5rem;padding-right:.5rem}.ql-formats:first-child{padding-left:0}.ql-formats:last-child{padding-right:0}.ql-toolbar button{padding:0 .25rem;background:none;border:none;color:#525f7f;cursor:pointer;-webkit-transition:all .15s ease;transition:all .15s ease}.ql-toolbar button:hover{color:#5e72e4}.ql-toolbar button:first-child{margin-left:-.25rem}.ql-toolbar .ql-active{color:#5e72e4}.ql-toolbar button svg{height:1.25rem;width:1.25rem}.ql-toolbar .ql-stroke{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.ql-toolbar .ql-thin{stroke-width:1}.ql-toolbar .ql-fill{fill:currentColor}.ql-toolbar input.ql-image{position:absolute;-webkit-transform:scale(0);transform:scale(0)}.ql-tooltip{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:18.5rem;background-color:#fff;border:1px solid rgba(0,0,0,.05);border-radius:.4375rem;padding:.625rem .75rem;margin-top:.6rem;-webkit-box-shadow:0 .5rem 2rem 0 rgba(0,0,0,.2);box-shadow:0 .5rem 2rem 0 rgba(0,0,0,.2)}.ql-tooltip:after,.ql-tooltip:before{content:"";position:absolute;left:50%;bottom:100%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ql-tooltip:before{border-bottom:.6rem solid rgba(0,0,0,.05);border-left:.6rem solid transparent;border-right:.6rem solid transparent}.ql-tooltip:after{border-bottom:.5rem solid #fff;border-left:.5rem solid transparent;border-right:.5rem solid transparent}.ql-container .ql-tooltip:hover{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.ql-tooltip .ql-preview{width:100%;padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.ql-tooltip .ql-preview{-webkit-transition:none;transition:none}}.ql-tooltip.ql-editing .ql-preview{display:none}.ql-tooltip input{display:none;width:100%;padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);background-color:transparent;font-size:.875rem;line-height:1.5;border:none;color:#8898aa}.ql-tooltip input:focus{outline:none}.ql-tooltip.ql-editing input{display:block}.ql-tooltip .ql-action,.ql-tooltip .ql-remove{margin-left:.25rem}.ql-tooltip .ql-action:before,.ql-tooltip .ql-remove:before{display:inline-block;font-weight:600;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;cursor:pointer;padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.ql-tooltip .ql-action:before,.ql-tooltip .ql-remove:before{-webkit-transition:none;transition:none}}.ql-tooltip .ql-action:before:focus,.ql-tooltip .ql-action:before:hover,.ql-tooltip .ql-remove:before:focus,.ql-tooltip .ql-remove:before:hover{text-decoration:none}.ql-tooltip .ql-action:before.focus,.ql-tooltip .ql-action:before:focus,.ql-tooltip .ql-remove:before.focus,.ql-tooltip .ql-remove:before:focus{outline:0;-webkit-box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08);box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08)}.ql-tooltip .ql-action:before,.ql-tooltip.ql-editing .ql-action:before{color:#fff;background-color:#5e72e4;border-color:#5e72e4;-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.ql-tooltip .ql-action:before:hover,.ql-tooltip.ql-editing .ql-action:before:hover{color:#fff;background-color:#5e72e4;border-color:#5e72e4}.ql-tooltip .ql-action:before.focus,.ql-tooltip .ql-action:before:focus,.ql-tooltip.ql-editing .ql-action:before.focus,.ql-tooltip.ql-editing .ql-action:before:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(94,114,228,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(94,114,228,.5)}.ql-tooltip .ql-action:before.disabled,.ql-tooltip .ql-action:before:disabled,.ql-tooltip.ql-editing .ql-action:before.disabled,.ql-tooltip.ql-editing .ql-action:before:disabled{color:#fff;background-color:#5e72e4;border-color:#5e72e4}.ql-tooltip .ql-action:before:not(:disabled):not(.disabled).active,.ql-tooltip .ql-action:before:not(:disabled):not(.disabled):active,.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled).active,.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled):active,.show>.ql-tooltip .ql-action:before.dropdown-toggle,.show>.ql-tooltip.ql-editing .ql-action:before.dropdown-toggle{color:#fff;background-color:#324cdd;border-color:#5e72e4}.ql-tooltip .ql-action:before:not(:disabled):not(.disabled).active:focus,.ql-tooltip .ql-action:before:not(:disabled):not(.disabled):active:focus,.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled).active:focus,.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled):active:focus,.show>.ql-tooltip .ql-action:before.dropdown-toggle:focus,.show>.ql-tooltip.ql-editing .ql-action:before.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 rgba(94,114,228,.5);box-shadow:none,0 0 0 0 rgba(94,114,228,.5)}.ql-tooltip .ql-action:before{content:"Edit"}.ql-tooltip.ql-editing .ql-action:before{content:"Save"}.ql-tooltip .ql-remove:before{color:#212529;background-color:#fff;-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);content:"Remove";border-color:#dee2e6}.ql-tooltip .ql-remove:before:hover{color:#212529;background-color:#fff;border-color:#fff}.ql-tooltip .ql-remove:before.focus,.ql-tooltip .ql-remove:before:focus{-webkit-box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 hsla(0,0%,100%,.5);box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 hsla(0,0%,100%,.5)}.ql-tooltip .ql-remove:before.disabled,.ql-tooltip .ql-remove:before:disabled{color:#212529;background-color:#fff;border-color:#fff}.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled).active,.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled):active,.show>.ql-tooltip .ql-remove:before.dropdown-toggle{color:#212529;background-color:#e6e5e5;border-color:#fff}.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled).active:focus,.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled):active:focus,.show>.ql-tooltip .ql-remove:before.dropdown-toggle:focus{-webkit-box-shadow:none,0 0 0 0 hsla(0,0%,100%,.5);box-shadow:none,0 0 0 0 hsla(0,0%,100%,.5)}.ql-tooltip.ql-editing .ql-remove:before{display:none}.ql-editor blockquote{margin-bottom:1rem;font-size:1.25rem}.ql-editor img{max-width:100%;height:auto}.scroll-wrapper{overflow:hidden!important;padding:0!important;position:relative}.scroll-wrapper>.scroll-content{border:none!important;-webkit-box-sizing:content-box!important;box-sizing:content-box!important;height:auto;left:0;margin:0;max-height:none;max-width:none!important;overflow:scroll!important;padding:0;position:relative!important;top:0;width:auto!important}.scroll-wrapper>.scroll-content::-webkit-scrollbar{height:0;width:0}.scroll-wrapper.scroll--rtl{direction:rtl}.scroll-element{display:none}.scroll-element,.scroll-element div{-webkit-box-sizing:content-box;box-sizing:content-box}.scroll-element .scroll-arrow,.scroll-element .scroll-bar{cursor:default}.scroll-element.scroll-x.scroll-scrollx_visible,.scroll-element.scroll-y.scroll-scrolly_visible{display:block}.scroll-textarea{border:1px solid #ccc;border-top-color:#999}.scroll-textarea>.scroll-content{overflow:hidden!important}.scroll-textarea>.scroll-content>textarea{border:none!important;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%!important;margin:0;max-height:none!important;max-width:none!important;overflow:scroll!important;outline:none;padding:2px;position:relative!important;top:0;width:100%!important}.scroll-textarea>.scroll-content>textarea::-webkit-scrollbar{height:0;width:0}.scrollbar-inner>.scroll-element,.scrollbar-inner>.scroll-element div{border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-inner>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-inner>.scroll-element.scroll-x{bottom:2px;height:8px;left:0;width:100%}.scrollbar-inner>.scroll-element.scroll-y{height:100%;right:2px;top:0;width:8px}.scrollbar-inner>.scroll-element .scroll-element_outer{overflow:hidden}.scrollbar-inner>.scroll-element .scroll-bar,.scrollbar-inner>.scroll-element .scroll-element_outer,.scrollbar-inner>.scroll-element .scroll-element_track{border-radius:8px}.scrollbar-inner>.scroll-element .scroll-bar,.scrollbar-inner>.scroll-element .scroll-element_track{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";filter:alpha(opacity=40);opacity:.4}.scrollbar-inner>.scroll-element .scroll-element_track{background-color:#e0e0e0}.scrollbar-inner>.scroll-element .scroll-bar{background-color:#c2c2c2}.scrollbar-inner>.scroll-element.scroll-draggable .scroll-bar,.scrollbar-inner>.scroll-element:hover .scroll-bar{background-color:#919191}.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-12px}.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-12px}.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-12px}.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-12px}.scrollbar-outer>.scroll-element,.scrollbar-outer>.scroll-element div{border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-outer>.scroll-element{background-color:#fff}.scrollbar-outer>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-outer>.scroll-element.scroll-x{bottom:0;height:12px;left:0;width:100%}.scrollbar-outer>.scroll-element.scroll-y{height:100%;right:0;top:0;width:12px}.scrollbar-outer>.scroll-element.scroll-x .scroll-element_outer{height:8px;top:2px}.scrollbar-outer>.scroll-element.scroll-y .scroll-element_outer{left:2px;width:8px}.scrollbar-outer>.scroll-element .scroll-element_outer{overflow:hidden}.scrollbar-outer>.scroll-element .scroll-element_track{background-color:#eee}.scrollbar-outer>.scroll-element .scroll-bar,.scrollbar-outer>.scroll-element .scroll-element_outer,.scrollbar-outer>.scroll-element .scroll-element_track{border-radius:8px}.scrollbar-outer>.scroll-element .scroll-bar{background-color:#d9d9d9}.scrollbar-outer>.scroll-element .scroll-bar:hover{background-color:#c2c2c2}.scrollbar-outer>.scroll-element.scroll-draggable .scroll-bar{background-color:#919191}.scrollbar-outer>.scroll-content.scroll-scrolly_visible{left:-12px;margin-left:12px}.scrollbar-outer>.scroll-content.scroll-scrollx_visible{top:-12px;margin-top:12px}.scrollbar-outer>.scroll-element.scroll-x .scroll-bar{min-width:10px}.scrollbar-outer>.scroll-element.scroll-y .scroll-bar{min-height:10px}.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-14px}.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-14px}.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-14px}.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-14px}.scrollbar-macosx>.scroll-element,.scrollbar-macosx>.scroll-element div{background:none;border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-macosx>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-macosx>.scroll-element .scroll-element_track{display:none}.scrollbar-macosx>.scroll-element .scroll-bar{background-color:#6c6e71;display:block;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;border-radius:7px;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.scrollbar-macosx:hover>.scroll-element .scroll-bar,.scrollbar-macosx>.scroll-element.scroll-draggable .scroll-bar{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";filter:alpha(opacity=70);opacity:.7}.scrollbar-macosx>.scroll-element.scroll-x{bottom:0;height:0;left:0;min-width:100%;overflow:visible;width:100%}.scrollbar-macosx>.scroll-element.scroll-y{height:100%;min-height:100%;right:0;top:0;width:0}.scrollbar-macosx>.scroll-element.scroll-x .scroll-bar{height:7px;min-width:10px;top:-9px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-bar{left:-9px;min-height:10px;width:7px}.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_outer{left:2px}.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_outer{top:2px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-macosx>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-11px}.scrollbar-macosx>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-11px}.scrollbar-light>.scroll-element,.scrollbar-light>.scroll-element div{border:none;margin:0;overflow:hidden;padding:0;position:absolute;z-index:10}.scrollbar-light>.scroll-element{background-color:#fff}.scrollbar-light>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-light>.scroll-element .scroll-element_outer{border-radius:10px}.scrollbar-light>.scroll-element .scroll-element_size{background:#dbdbdb;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMTAwJSIgeTI9IjAlIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZGJkYmRiIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZThlOGU4Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNMCAwaDF2MUgweiIvPjwvc3ZnPg==");background:-webkit-gradient(linear,left top,right top,from(#dbdbdb),to(#e8e8e8));background:linear-gradient(90deg,#dbdbdb 0,#e8e8e8);border-radius:10px}.scrollbar-light>.scroll-element.scroll-x{bottom:0;height:17px;left:0;min-width:100%;width:100%}.scrollbar-light>.scroll-element.scroll-y{height:100%;min-height:100%;right:0;top:0;width:17px}.scrollbar-light>.scroll-element .scroll-bar{background:#fefefe;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMTAwJSIgeTI9IjAlIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZmVmZWZlIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZjVmNWY1Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNMCAwaDF2MUgweiIvPjwvc3ZnPg==");background:-webkit-gradient(linear,left top,right top,from(#fefefe),to(#f5f5f5));background:linear-gradient(90deg,#fefefe 0,#f5f5f5);border:1px solid #dbdbdb;border-radius:10px}.scrollbar-light>.scroll-content.scroll-scrolly_visible{left:-17px;margin-left:17px}.scrollbar-light>.scroll-content.scroll-scrollx_visible{top:-17px;margin-top:17px}.scrollbar-light>.scroll-element.scroll-x .scroll-bar{height:10px;min-width:10px;top:0}.scrollbar-light>.scroll-element.scroll-y .scroll-bar{left:0;min-height:10px;width:10px}.scrollbar-light>.scroll-element.scroll-x .scroll-element_outer{height:12px;left:2px;top:2px}.scrollbar-light>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-light>.scroll-element.scroll-y .scroll-element_outer{left:2px;top:2px;width:12px}.scrollbar-light>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-19px}.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-19px}.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-19px}.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-19px}.scrollbar-rail>.scroll-element,.scrollbar-rail>.scroll-element div{border:none;margin:0;overflow:hidden;padding:0;position:absolute;z-index:10}.scrollbar-rail>.scroll-element{background-color:#fff}.scrollbar-rail>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-rail>.scroll-element .scroll-element_size{background-color:#999;background-color:rgba(0,0,0,.3)}.scrollbar-rail>.scroll-element .scroll-element_outer:hover .scroll-element_size{background-color:#666;background-color:rgba(0,0,0,.5)}.scrollbar-rail>.scroll-element.scroll-x{bottom:0;height:12px;left:0;min-width:100%;padding:3px 0 2px;width:100%}.scrollbar-rail>.scroll-element.scroll-y{height:100%;min-height:100%;padding:0 2px 0 3px;right:0;top:0;width:12px}.scrollbar-rail>.scroll-element .scroll-bar{background-color:#d0b9a0;border-radius:2px;-webkit-box-shadow:1px 1px 3px rgba(0,0,0,.5);box-shadow:1px 1px 3px rgba(0,0,0,.5)}.scrollbar-rail>.scroll-element .scroll-element_outer:hover .scroll-bar{-webkit-box-shadow:1px 1px 3px rgba(0,0,0,.6);box-shadow:1px 1px 3px rgba(0,0,0,.6)}.scrollbar-rail>.scroll-content.scroll-scrolly_visible{left:-17px;margin-left:17px}.scrollbar-rail>.scroll-content.scroll-scrollx_visible{margin-top:17px;top:-17px}.scrollbar-rail>.scroll-element.scroll-x .scroll-bar{height:10px;min-width:10px;top:1px}.scrollbar-rail>.scroll-element.scroll-y .scroll-bar{left:1px;min-height:10px;width:10px}.scrollbar-rail>.scroll-element.scroll-x .scroll-element_outer{height:15px;left:5px}.scrollbar-rail>.scroll-element.scroll-x .scroll-element_size{height:2px;left:-10px;top:5px}.scrollbar-rail>.scroll-element.scroll-y .scroll-element_outer{top:5px;width:15px}.scrollbar-rail>.scroll-element.scroll-y .scroll-element_size{left:5px;top:-10px;width:2px}.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-25px}.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-25px}.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-25px}.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-25px}.scrollbar-dynamic>.scroll-element,.scrollbar-dynamic>.scroll-element div{background:none;border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-dynamic>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-dynamic>.scroll-element.scroll-x{bottom:2px;height:7px;left:0;min-width:100%;width:100%}.scrollbar-dynamic>.scroll-element.scroll-y{height:100%;min-height:100%;right:2px;top:0;width:7px}.scrollbar-dynamic>.scroll-element .scroll-element_outer{opacity:.3;border-radius:12px}.scrollbar-dynamic>.scroll-element .scroll-element_size{background-color:#ccc;opacity:0;border-radius:12px;-webkit-transition:opacity .2s;transition:opacity .2s}.scrollbar-dynamic>.scroll-element .scroll-bar{background-color:#6c6e71;border-radius:7px}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-bar{bottom:0;height:7px;min-width:24px;top:auto}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-bar{left:auto;min-height:24px;right:0;width:7px}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_outer{bottom:0;top:auto;left:2px;-webkit-transition:height .2s;transition:height .2s}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_outer{left:auto;right:0;top:2px;-webkit-transition:width .2s;transition:width .2s}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-dynamic>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-11px}.scrollbar-dynamic>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-11px}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer{overflow:hidden;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";filter:alpha(opacity=70);opacity:.7}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-element_size{opacity:1}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-bar,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-bar{height:100%;width:100%;border-radius:12px}.scrollbar-dynamic>.scroll-element.scroll-x.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element.scroll-x:hover .scroll-element_outer{height:20px;min-height:7px}.scrollbar-dynamic>.scroll-element.scroll-y.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element.scroll-y:hover .scroll-element_outer{min-width:7px;width:20px}.scrollbar-chrome>.scroll-element,.scrollbar-chrome>.scroll-element div{border:none;margin:0;overflow:hidden;padding:0;position:absolute;z-index:10}.scrollbar-chrome>.scroll-element{background-color:#fff}.scrollbar-chrome>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-chrome>.scroll-element .scroll-element_track{background:#f1f1f1;border:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-x{bottom:0;height:16px;left:0;min-width:100%;width:100%}.scrollbar-chrome>.scroll-element.scroll-y{height:100%;min-height:100%;right:0;top:0;width:16px}.scrollbar-chrome>.scroll-element .scroll-bar{background-color:#d9d9d9;border:1px solid #bdbdbd;cursor:default;border-radius:2px}.scrollbar-chrome>.scroll-element .scroll-bar:hover{background-color:#c2c2c2;border-color:#a9a9a9}.scrollbar-chrome>.scroll-element.scroll-draggable .scroll-bar{background-color:#919191;border-color:#7e7e7e}.scrollbar-chrome>.scroll-content.scroll-scrolly_visible{left:-16px;margin-left:16px}.scrollbar-chrome>.scroll-content.scroll-scrollx_visible{top:-16px;margin-top:16px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-bar{height:8px;min-width:10px;top:3px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-bar{left:3px;min-height:10px;width:8px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_outer{border-left:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_track{height:14px;left:-3px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_size{height:14px;left:-4px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_outer{border-top:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_track{top:-3px;width:14px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_size{top:-4px;width:14px}.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-19px}.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-19px}.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-19px}.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-19px}.scrollbar-inner{height:100%}.scrollbar-inner:not(:hover) .scroll-element{opacity:0}.scrollbar-inner .scroll-element{-webkit-transition:opacity .3s;transition:opacity .3s;margin-right:2px}.scrollbar-inner .scroll-element .scroll-bar,.scrollbar-inner .scroll-element .scroll-element_track{-webkit-transition:background-color .3s;transition:background-color .3s}.scrollbar-inner .scroll-element .scroll-element_track{background-color:transparent}.scrollbar-inner .scroll-element:hover{width:4px}.scrollbar-inner .scroll-element.scroll-y{width:3px;right:0}.scrollbar-inner .scroll-element.scroll-x{height:3px;bottom:0}.form-group .el-select{width:100%}.el-select .el-input .el-input__inner{font-size:.875rem;width:100%;height:calc(1.5em + 1.25rem + 2px);-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}@media (prefers-reduced-motion:reduce){.el-select .el-input .el-input__inner{-webkit-transition:none;transition:none}}.el-select .el-input .el-input__inner:focus{border-color:#324cdd!important;border:1px solid #2a44db}.el-select .el-input .el-input__inner::-webkit-input-placeholder{color:#adb5bd;opacity:1}.el-select .el-input .el-input__inner::-moz-placeholder{color:#adb5bd;opacity:1}.el-select .el-input .el-input__inner:-ms-input-placeholder{color:#adb5bd;opacity:1}.el-select .el-input .el-input__inner::-ms-input-placeholder{color:#adb5bd;opacity:1}.el-select .el-input .el-input__inner::placeholder{color:#adb5bd;opacity:1}.el-select .el-input .el-input__inner:disabled{background-color:#e9ecef;opacity:1}.el-select .el-input.is-focus .el-input__inner{border-color:#324cdd!important;border:1px solid #2a44db}.el-select-dropdown.el-popper .el-select-dropdown__item.selected,.el-select-dropdown.el-popper.is-multiple .el-select-dropdown__item.selected{color:#5e72e4}.el-select .el-select__tags{padding-left:10px}.el-select .el-select__tags .el-tag{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.625rem .625rem .5rem;height:25px;margin:.125rem;border-radius:.25rem;background:#172b4d;color:#fff;line-height:1.5;cursor:pointer;-webkit-box-shadow:0 1px 2px rgba(68,68,68,.25);box-shadow:0 1px 2px rgba(68,68,68,.25);-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.el-select .el-select__tags .el-tag{-webkit-transition:none;transition:none}}.el-select .el-select__tags .el-tag .el-tag__close.el-icon-close{background-color:transparent;color:#fff;font-size:12px}.swal2-popup{padding:1.5rem}.swal2-popup #swal2-title{font-size:1.5rem}.swal2-popup #swal2-content{font-size:.875rem}.swal2-popup #swal2-image{max-width:200px}.el-tag.el-tag--primary{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.625rem .625rem .5rem;height:33px;margin:.125rem;border-radius:.25rem;background:#172b4d;color:#fff;line-height:1.5;cursor:pointer;font-weight:600;-webkit-box-shadow:0 1px 2px rgba(68,68,68,.25);box-shadow:0 1px 2px rgba(68,68,68,.25);-webkit-transition:all .15s ease;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.el-tag.el-tag--primary{-webkit-transition:none;transition:none}}.el-tag.el-tag--primary .el-tag__close.el-icon-close{background-color:transparent;color:#fff;font-size:14px}.tags-input__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.tags-input__wrapper input.form-control{border:none;-webkit-box-shadow:none;box-shadow:none} \ No newline at end of file diff --git a/public/css/argon.min.css b/public/css/argon.min.css deleted file mode 100644 index e49eefe1e..000000000 --- a/public/css/argon.min.css +++ /dev/null @@ -1,19 +0,0 @@ -@charset 'UTF-8';/*! - -========================================================= -* Argon Dashboard PRO - v1.1.0 -========================================================= - -* Product Page: https://www.creative-tim.com/product/argon-dashboard -* Copyright 2019 Creative Tim (https://www.creative-tim.com) - -* Coded by www.creative-tim.com - -========================================================= - -* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -*/:root{--blue:#5e72e4;--indigo:#5603ad;--purple:#8965e0;--pink:#f3a4b5;--red:#f5365c;--orange:#fb6340;--yellow:#ffd600;--green:#2dce89;--teal:#11cdef;--cyan:#2bffc6;--white:#fff;--gray:#8898aa;--gray-dark:#32325d;--light:#ced4da;--lighter:#e9ecef;--primary:#5e72e4;--secondary:#f7fafc;--success:#2dce89;--info:#11cdef;--warning:#fb6340;--danger:#f5365c;--light:#adb5bd;--dark:#212529;--default:#172b4d;--white:#fff;--neutral:#fff;--darker:black;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:Open Sans,sans-serif;--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{font-family:Open Sans,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;margin:0;text-align:left;color:#525f7f;background-color:#f8f9fe}[tabindex='-1']:focus{outline:0!important}hr{overflow:visible;box-sizing:content-box;height:0}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit;margin-bottom:1rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{text-decoration:none;color:#5e72e4;background-color:transparent}a:hover{text-decoration:none;color:#233dd2}a:not([href]):not([tabindex]){text-decoration:none;color:inherit}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{text-decoration:none;color:inherit}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:1em}pre{overflow:auto;margin-top:0;margin-bottom:1rem}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:1rem;padding-bottom:1rem;caption-side:bottom;text-align:left;color:#8898aa}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{font-size:1.5rem;line-height:inherit;display:block;width:100%;max-width:100%;margin-bottom:.5rem;padding:0;white-space:normal;color:inherit}@media (max-width:1200px){legend{font-size:calc(1.275rem + .3vw)}}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:600;line-height:1.5;margin-bottom:.5rem;color:#32325d}.h1,h1{font-size:1.625rem}@media (max-width:1200px){.h1,h1{font-size:calc(1.2875rem + .45vw)}}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1.0625rem}.h4,h4{font-size:.9375rem}.h5,h5{font-size:.8125rem}.h6,h6{font-size:.625rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:3.3rem;font-weight:600;line-height:1.5}@media (max-width:1200px){.display-1{font-size:calc(1.455rem + 2.46vw)}}.display-2{font-size:2.75rem;font-weight:600;line-height:1.5}@media (max-width:1200px){.display-2{font-size:calc(1.4rem + 1.8vw)}}.display-3{font-size:2.1875rem;font-weight:600;line-height:1.5}@media (max-width:1200px){.display-3{font-size:calc(1.34375rem + 1.125vw)}}.display-4{font-size:1.6275rem;font-weight:600;line-height:1.5}@media (max-width:1200px){.display-4{font-size:calc(1.28775rem + .453vw)}}hr{margin-top:2rem;margin-bottom:2rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote-footer{font-size:80%;display:block;color:#8898aa}.blockquote-footer::before{content:'\2014\00A0'}.img-fluid{max-width:100%;height:auto}.img-thumbnail{max-width:100%;height:auto;padding:.25rem;border:1px solid #dee2e6;border-radius:.375rem;background-color:#f8f9fe;box-shadow:0 1px 2px rgba(0,0,0,.075)}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{font-size:90%;color:#8898aa}code{font-size:87.5%;word-break:break-word;color:#f3a4b5}a>code{color:inherit}kbd{font-size:87.5%;padding:.2rem .4rem;color:#fff;border-radius:.25rem;background-color:#212529;box-shadow:inset 0 -.1rem 0 rgba(0,0,0,.25)}kbd kbd{font-size:100%;font-weight:600;padding:0;box-shadow:none}pre{font-size:87.5%;display:block;color:#212529}pre code{font-size:inherit;word-break:normal;color:inherit}.pre-scrollable{overflow-y:scroll;max-height:340px}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}.row{display:flex;margin-right:-15px;margin-left:-15px;flex-wrap:wrap}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{max-width:100%;flex-basis:0;flex-grow:1}.col-auto{width:auto;max-width:100%;flex:0 0 auto}.col-1{max-width:8.33333%;flex:0 0 8.33333%}.col-2{max-width:16.66667%;flex:0 0 16.66667%}.col-3{max-width:25%;flex:0 0 25%}.col-4{max-width:33.33333%;flex:0 0 33.33333%}.col-5{max-width:41.66667%;flex:0 0 41.66667%}.col-6{max-width:50%;flex:0 0 50%}.col-7{max-width:58.33333%;flex:0 0 58.33333%}.col-8{max-width:66.66667%;flex:0 0 66.66667%}.col-9{max-width:75%;flex:0 0 75%}.col-10{max-width:83.33333%;flex:0 0 83.33333%}.col-11{max-width:91.66667%;flex:0 0 91.66667%}.col-12{max-width:100%;flex:0 0 100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{max-width:100%;flex-basis:0;flex-grow:1}.col-sm-auto{width:auto;max-width:100%;flex:0 0 auto}.col-sm-1{max-width:8.33333%;flex:0 0 8.33333%}.col-sm-2{max-width:16.66667%;flex:0 0 16.66667%}.col-sm-3{max-width:25%;flex:0 0 25%}.col-sm-4{max-width:33.33333%;flex:0 0 33.33333%}.col-sm-5{max-width:41.66667%;flex:0 0 41.66667%}.col-sm-6{max-width:50%;flex:0 0 50%}.col-sm-7{max-width:58.33333%;flex:0 0 58.33333%}.col-sm-8{max-width:66.66667%;flex:0 0 66.66667%}.col-sm-9{max-width:75%;flex:0 0 75%}.col-sm-10{max-width:83.33333%;flex:0 0 83.33333%}.col-sm-11{max-width:91.66667%;flex:0 0 91.66667%}.col-sm-12{max-width:100%;flex:0 0 100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{max-width:100%;flex-basis:0;flex-grow:1}.col-md-auto{width:auto;max-width:100%;flex:0 0 auto}.col-md-1{max-width:8.33333%;flex:0 0 8.33333%}.col-md-2{max-width:16.66667%;flex:0 0 16.66667%}.col-md-3{max-width:25%;flex:0 0 25%}.col-md-4{max-width:33.33333%;flex:0 0 33.33333%}.col-md-5{max-width:41.66667%;flex:0 0 41.66667%}.col-md-6{max-width:50%;flex:0 0 50%}.col-md-7{max-width:58.33333%;flex:0 0 58.33333%}.col-md-8{max-width:66.66667%;flex:0 0 66.66667%}.col-md-9{max-width:75%;flex:0 0 75%}.col-md-10{max-width:83.33333%;flex:0 0 83.33333%}.col-md-11{max-width:91.66667%;flex:0 0 91.66667%}.col-md-12{max-width:100%;flex:0 0 100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{max-width:100%;flex-basis:0;flex-grow:1}.col-lg-auto{width:auto;max-width:100%;flex:0 0 auto}.col-lg-1{max-width:8.33333%;flex:0 0 8.33333%}.col-lg-2{max-width:16.66667%;flex:0 0 16.66667%}.col-lg-3{max-width:25%;flex:0 0 25%}.col-lg-4{max-width:33.33333%;flex:0 0 33.33333%}.col-lg-5{max-width:41.66667%;flex:0 0 41.66667%}.col-lg-6{max-width:50%;flex:0 0 50%}.col-lg-7{max-width:58.33333%;flex:0 0 58.33333%}.col-lg-8{max-width:66.66667%;flex:0 0 66.66667%}.col-lg-9{max-width:75%;flex:0 0 75%}.col-lg-10{max-width:83.33333%;flex:0 0 83.33333%}.col-lg-11{max-width:91.66667%;flex:0 0 91.66667%}.col-lg-12{max-width:100%;flex:0 0 100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{max-width:100%;flex-basis:0;flex-grow:1}.col-xl-auto{width:auto;max-width:100%;flex:0 0 auto}.col-xl-1{max-width:8.33333%;flex:0 0 8.33333%}.col-xl-2{max-width:16.66667%;flex:0 0 16.66667%}.col-xl-3{max-width:25%;flex:0 0 25%}.col-xl-4{max-width:33.33333%;flex:0 0 33.33333%}.col-xl-5{max-width:41.66667%;flex:0 0 41.66667%}.col-xl-6{max-width:50%;flex:0 0 50%}.col-xl-7{max-width:58.33333%;flex:0 0 58.33333%}.col-xl-8{max-width:66.66667%;flex:0 0 66.66667%}.col-xl-9{max-width:75%;flex:0 0 75%}.col-xl-10{max-width:83.33333%;flex:0 0 83.33333%}.col-xl-11{max-width:91.66667%;flex:0 0 91.66667%}.col-xl-12{max-width:100%;flex:0 0 100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;margin-bottom:1rem;color:#525f7f;background-color:transparent}.table td,.table th{padding:1rem;vertical-align:top;border-top:1px solid #e9ecef}.table thead th{vertical-align:bottom;border-bottom:2px solid #e9ecef}.table tbody+tbody{border-top:2px solid #e9ecef}.table-sm td,.table-sm th{padding:.5rem}.table-bordered{border:1px solid #e9ecef}.table-bordered td,.table-bordered th{border:1px solid #e9ecef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(246,249,252,.3)}.table-hover tbody tr:hover{color:#525f7f;background-color:#f6f9fc}.table-primary,.table-primary>td,.table-primary>th{background-color:#d2d8f7}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#abb6f1}.table-hover .table-primary:hover{background-color:#bcc5f3}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#bcc5f3}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#fdfefe}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#fbfcfd}.table-hover .table-secondary:hover{background-color:#ecf6f6}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#ecf6f6}.table-success,.table-success>td,.table-success>th{background-color:#c4f1de}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#92e6c2}.table-hover .table-success:hover{background-color:#afecd2}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#afecd2}.table-info,.table-info>td,.table-info>th{background-color:#bcf1fb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#83e5f7}.table-hover .table-info:hover{background-color:#a4ecfa}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a4ecfa}.table-warning,.table-warning>td,.table-warning>th{background-color:#fed3ca}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#fdae9c}.table-hover .table-warning:hover{background-color:#febeb1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#febeb1}.table-danger,.table-danger>td,.table-danger>th{background-color:#fcc7d1}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#fa96aa}.table-hover .table-danger:hover{background-color:#fbafbd}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#fbafbd}.table-light,.table-light>td,.table-light>th{background-color:#e8eaed}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#d4d9dd}.table-hover .table-light:hover{background-color:#dadde2}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#dadde2}.table-dark,.table-dark>td,.table-dark>th{background-color:#c1c2c3}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#8c8e90}.table-hover .table-dark:hover{background-color:#b4b5b6}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b4b5b6}.table-default,.table-default>td,.table-default>th{background-color:#bec4cd}.table-default tbody+tbody,.table-default td,.table-default th,.table-default thead th{border-color:#8691a2}.table-hover .table-default:hover{background-color:#b0b7c2}.table-hover .table-default:hover>td,.table-hover .table-default:hover>th{background-color:#b0b7c2}.table-white,.table-white>td,.table-white>th{background-color:#fff}.table-white tbody+tbody,.table-white td,.table-white th,.table-white thead th{border-color:#fff}.table-hover .table-white:hover{background-color:#f2f2f2}.table-hover .table-white:hover>td,.table-hover .table-white:hover>th{background-color:#f2f2f2}.table-neutral,.table-neutral>td,.table-neutral>th{background-color:#fff}.table-neutral tbody+tbody,.table-neutral td,.table-neutral th,.table-neutral thead th{border-color:#fff}.table-hover .table-neutral:hover{background-color:#f2f2f2}.table-hover .table-neutral:hover>td,.table-hover .table-neutral:hover>th{background-color:#f2f2f2}.table-darker,.table-darker>td,.table-darker>th{background-color:#b8b8b8}.table-darker tbody+tbody,.table-darker td,.table-darker th,.table-darker thead th{border-color:#7a7a7a}.table-hover .table-darker:hover{background-color:#ababab}.table-hover .table-darker:hover>td,.table-hover .table-darker:hover>th{background-color:#ababab}.table-active,.table-active>td,.table-active>th{background-color:#f6f9fc}.table-hover .table-active:hover{background-color:#e3ecf6}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:#e3ecf6}.table .thead-dark th{color:#f8f9fe;border-color:#1f3a68;background-color:#172b4d}.table .thead-light th{color:#8898aa;border-color:#e9ecef;background-color:#f6f9fc}.table-dark{color:#f8f9fe;background-color:#172b4d}.table-dark td,.table-dark th,.table-dark thead th{border-color:#1f3a68}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#f8f9fe;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{font-size:.875rem;font-weight:400;line-height:1.5;display:block;width:100%;height:calc(1.5em + 1.25rem + 2px);padding:.625rem .75rem;transition:all .15s cubic-bezier(.68,-.55,.265,1.55);color:#8898aa;border:1px solid #dee2e6;border-radius:.25rem;background-color:#fff;background-clip:padding-box;box-shadow:0 3px 2px rgba(233,236,239,.05)}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{border:0;background-color:transparent}.form-control:focus{color:#8898aa;border-color:#5e72e4;outline:0;background-color:#fff;box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.form-control::-ms-input-placeholder{opacity:1;color:#adb5bd}.form-control::placeholder{opacity:1;color:#adb5bd}.form-control:disabled,.form-control[readonly]{opacity:1;background-color:#e9ecef}select.form-control:focus::-ms-value{color:#8898aa;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-top:calc(.625rem + 1px);padding-bottom:calc(.625rem + 1px)}.col-form-label-lg{font-size:.875rem;line-height:1.5;padding-top:calc(.875rem + 1px);padding-bottom:calc(.875rem + 1px)}.col-form-label-sm{font-size:.75rem;line-height:1.5;padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px)}.form-control-plaintext{line-height:1.5;display:block;width:100%;margin-bottom:0;padding-top:.625rem;padding-bottom:.625rem;color:#525f7f;border:solid transparent;border-width:1px 0;background-color:transparent}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{font-size:.75rem;line-height:1.5;height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;border-radius:.25rem}.form-control-lg{font-size:.875rem;line-height:1.5;height:calc(1.5em + 1.75rem + 2px);padding:.875rem 1rem;border-radius:.4375rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1.5rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;margin-right:-5px;margin-left:-5px;flex-wrap:wrap}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#8898aa}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;margin-right:.75rem;padding-left:0;align-items:center}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{font-size:80%;display:none;width:100%;margin-top:.25rem;color:#2dce89}.valid-tooltip{font-size:.875rem;line-height:1;position:absolute;z-index:5;top:100%;display:none;max-width:100%;margin-top:.1rem;padding:.5rem;color:#fff;border-radius:.2rem;background-color:rgba(45,206,137,.8)}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#2dce89}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#2dce89}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#2dce89}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#2dce89}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#93e7c3;background-color:#93e7c3}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#93e7c3;background-color:#54daa1}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #f8f9fe,0 0 0 0 rgba(45,206,137,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#2dce89}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 0 rgba(45,206,137,.25)}.invalid-feedback{font-size:80%;display:none;width:100%;margin-top:.25rem;color:#fb6340}.invalid-tooltip{font-size:.875rem;line-height:1;position:absolute;z-index:5;top:100%;display:none;max-width:100%;margin-top:.1rem;padding:.5rem;color:#fff;border-radius:.2rem;background-color:rgba(251,99,64,.8)}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#fb6340}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#fb6340}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#fb6340}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#fb6340}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#fec9bd;background-color:#fec9bd}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#fec9bd;background-color:#fc8c72}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #f8f9fe,0 0 0 0 rgba(251,99,64,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#fb6340}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 0 rgba(251,99,64,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;margin-bottom:0;align-items:center;justify-content:center}.form-inline .form-group{display:flex;margin-bottom:0;flex:0 0 auto;flex-flow:row wrap;align-items:center}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;width:auto;padding-left:0;align-items:center;justify-content:center}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0;flex-shrink:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{font-size:.875rem;font-weight:600;line-height:1.5;display:inline-block;padding:.625rem 1.25rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;text-align:center;vertical-align:middle;color:#525f7f;border:1px solid transparent;border-radius:.25rem;background-color:transparent}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{text-decoration:none;color:#525f7f}.btn.focus,.btn:focus{outline:0;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08)}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{box-shadow:none}.btn:not(:disabled):not(.disabled).active:focus,.btn:not(:disabled):not(.disabled):active:focus{box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08)}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;border-color:#5e72e4;background-color:#5e72e4;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-primary:hover{color:#fff;border-color:#5e72e4;background-color:#5e72e4}.btn-primary.focus,.btn-primary:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(94,114,228,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;border-color:#5e72e4;background-color:#5e72e4}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;border-color:#5e72e4;background-color:#324cdd}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(94,114,228,.5)}.btn-secondary{color:#212529;border-color:#f7fafc;background-color:#f7fafc;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-secondary:hover{color:#212529;border-color:#f7fafc;background-color:#f7fafc}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(247,250,252,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#212529;border-color:#f7fafc;background-color:#f7fafc}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#212529;border-color:#f7fafc;background-color:#d2e3ee}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(247,250,252,.5)}.btn-success{color:#fff;border-color:#2dce89;background-color:#2dce89;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-success:hover{color:#fff;border-color:#2dce89;background-color:#2dce89}.btn-success.focus,.btn-success:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(45,206,137,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;border-color:#2dce89;background-color:#2dce89}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;border-color:#2dce89;background-color:#24a46d}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(45,206,137,.5)}.btn-info{color:#fff;border-color:#11cdef;background-color:#11cdef;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-info:hover{color:#fff;border-color:#11cdef;background-color:#11cdef}.btn-info.focus,.btn-info:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(17,205,239,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;border-color:#11cdef;background-color:#11cdef}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;border-color:#11cdef;background-color:#0da5c0}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(17,205,239,.5)}.btn-warning{color:#fff;border-color:#fb6340;background-color:#fb6340;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-warning:hover{color:#fff;border-color:#fb6340;background-color:#fb6340}.btn-warning.focus,.btn-warning:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(251,99,64,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;border-color:#fb6340;background-color:#fb6340}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#fff;border-color:#fb6340;background-color:#fa3a0e}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(251,99,64,.5)}.btn-danger{color:#fff;border-color:#f5365c;background-color:#f5365c;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-danger:hover{color:#fff;border-color:#f5365c;background-color:#f5365c}.btn-danger.focus,.btn-danger:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(245,54,92,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;border-color:#f5365c;background-color:#f5365c}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;border-color:#f5365c;background-color:#ec0c38}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(245,54,92,.5)}.btn-light{color:#fff;border-color:#adb5bd;background-color:#adb5bd;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-light:hover{color:#fff;border-color:#adb5bd;background-color:#adb5bd}.btn-light.focus,.btn-light:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(173,181,189,.5)}.btn-light.disabled,.btn-light:disabled{color:#fff;border-color:#adb5bd;background-color:#adb5bd}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#fff;border-color:#adb5bd;background-color:#919ca6}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(173,181,189,.5)}.btn-dark{color:#fff;border-color:#212529;background-color:#212529;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-dark:hover{color:#fff;border-color:#212529;background-color:#212529}.btn-dark.focus,.btn-dark:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(33,37,41,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;border-color:#212529;background-color:#212529}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;border-color:#212529;background-color:#0a0c0d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(33,37,41,.5)}.btn-default{color:#fff;border-color:#172b4d;background-color:#172b4d;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-default:hover{color:#fff;border-color:#172b4d;background-color:#172b4d}.btn-default.focus,.btn-default:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(23,43,77,.5)}.btn-default.disabled,.btn-default:disabled{color:#fff;border-color:#172b4d;background-color:#172b4d}.btn-default:not(:disabled):not(.disabled).active,.btn-default:not(:disabled):not(.disabled):active,.show>.btn-default.dropdown-toggle{color:#fff;border-color:#172b4d;background-color:#0b1526}.btn-default:not(:disabled):not(.disabled).active:focus,.btn-default:not(:disabled):not(.disabled):active:focus,.show>.btn-default.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(23,43,77,.5)}.btn-white{color:#212529;border-color:#fff;background-color:#fff;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-white:hover{color:#212529;border-color:#fff;background-color:#fff}.btn-white.focus,.btn-white:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(255,255,255,.5)}.btn-white.disabled,.btn-white:disabled{color:#212529;border-color:#fff;background-color:#fff}.btn-white:not(:disabled):not(.disabled).active,.btn-white:not(:disabled):not(.disabled):active,.show>.btn-white.dropdown-toggle{color:#212529;border-color:#fff;background-color:#e6e6e6}.btn-white:not(:disabled):not(.disabled).active:focus,.btn-white:not(:disabled):not(.disabled):active:focus,.show>.btn-white.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(255,255,255,.5)}.btn-neutral{color:#212529;border-color:#fff;background-color:#fff;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-neutral:hover{color:#212529;border-color:#fff;background-color:#fff}.btn-neutral.focus,.btn-neutral:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(255,255,255,.5)}.btn-neutral.disabled,.btn-neutral:disabled{color:#212529;border-color:#fff;background-color:#fff}.btn-neutral:not(:disabled):not(.disabled).active,.btn-neutral:not(:disabled):not(.disabled):active,.show>.btn-neutral.dropdown-toggle{color:#212529;border-color:#fff;background-color:#e6e6e6}.btn-neutral:not(:disabled):not(.disabled).active:focus,.btn-neutral:not(:disabled):not(.disabled):active:focus,.show>.btn-neutral.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(255,255,255,.5)}.btn-darker{color:#fff;border-color:#000;background-color:#000;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-darker:hover{color:#fff;border-color:#000;background-color:#000}.btn-darker.focus,.btn-darker:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(0,0,0,.5)}.btn-darker.disabled,.btn-darker:disabled{color:#fff;border-color:#000;background-color:#000}.btn-darker:not(:disabled):not(.disabled).active,.btn-darker:not(:disabled):not(.disabled):active,.show>.btn-darker.dropdown-toggle{color:#fff;border-color:#000;background-color:#000}.btn-darker:not(:disabled):not(.disabled).active:focus,.btn-darker:not(:disabled):not(.disabled):active:focus,.show>.btn-darker.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(0,0,0,.5)}.btn-outline-primary{color:#5e72e4;border-color:#5e72e4;background-color:transparent;background-image:none}.btn-outline-primary:hover{color:#fff;border-color:#5e72e4;background-color:#5e72e4}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 0 rgba(94,114,228,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#5e72e4;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;border-color:#5e72e4;background-color:#5e72e4}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(94,114,228,.5)}.btn-outline-secondary{color:#f7fafc;border-color:#f7fafc;background-color:transparent;background-image:none}.btn-outline-secondary:hover{color:#212529;border-color:#f7fafc;background-color:#f7fafc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 0 rgba(247,250,252,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#f7fafc;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#212529;border-color:#f7fafc;background-color:#f7fafc}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(247,250,252,.5)}.btn-outline-success{color:#2dce89;border-color:#2dce89;background-color:transparent;background-image:none}.btn-outline-success:hover{color:#fff;border-color:#2dce89;background-color:#2dce89}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 0 rgba(45,206,137,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#2dce89;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;border-color:#2dce89;background-color:#2dce89}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(45,206,137,.5)}.btn-outline-info{color:#11cdef;border-color:#11cdef;background-color:transparent;background-image:none}.btn-outline-info:hover{color:#fff;border-color:#11cdef;background-color:#11cdef}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 0 rgba(17,205,239,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#11cdef;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;border-color:#11cdef;background-color:#11cdef}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(17,205,239,.5)}.btn-outline-warning{color:#fb6340;border-color:#fb6340;background-color:transparent;background-image:none}.btn-outline-warning:hover{color:#fff;border-color:#fb6340;background-color:#fb6340}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 0 rgba(251,99,64,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#fb6340;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;border-color:#fb6340;background-color:#fb6340}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(251,99,64,.5)}.btn-outline-danger{color:#f5365c;border-color:#f5365c;background-color:transparent;background-image:none}.btn-outline-danger:hover{color:#fff;border-color:#f5365c;background-color:#f5365c}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 0 rgba(245,54,92,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#f5365c;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;border-color:#f5365c;background-color:#f5365c}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(245,54,92,.5)}.btn-outline-light{color:#adb5bd;border-color:#adb5bd;background-color:transparent;background-image:none}.btn-outline-light:hover{color:#fff;border-color:#adb5bd;background-color:#adb5bd}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 0 rgba(173,181,189,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#adb5bd;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#fff;border-color:#adb5bd;background-color:#adb5bd}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(173,181,189,.5)}.btn-outline-dark{color:#212529;border-color:#212529;background-color:transparent;background-image:none}.btn-outline-dark:hover{color:#fff;border-color:#212529;background-color:#212529}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 0 rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;border-color:#212529;background-color:#212529}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(33,37,41,.5)}.btn-outline-default{color:#172b4d;border-color:#172b4d;background-color:transparent;background-image:none}.btn-outline-default:hover{color:#fff;border-color:#172b4d;background-color:#172b4d}.btn-outline-default.focus,.btn-outline-default:focus{box-shadow:0 0 0 0 rgba(23,43,77,.5)}.btn-outline-default.disabled,.btn-outline-default:disabled{color:#172b4d;background-color:transparent}.btn-outline-default:not(:disabled):not(.disabled).active,.btn-outline-default:not(:disabled):not(.disabled):active,.show>.btn-outline-default.dropdown-toggle{color:#fff;border-color:#172b4d;background-color:#172b4d}.btn-outline-default:not(:disabled):not(.disabled).active:focus,.btn-outline-default:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-default.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(23,43,77,.5)}.btn-outline-white{color:#fff;border-color:#fff;background-color:transparent;background-image:none}.btn-outline-white:hover{color:#212529;border-color:#fff;background-color:#fff}.btn-outline-white.focus,.btn-outline-white:focus{box-shadow:0 0 0 0 rgba(255,255,255,.5)}.btn-outline-white.disabled,.btn-outline-white:disabled{color:#fff;background-color:transparent}.btn-outline-white:not(:disabled):not(.disabled).active,.btn-outline-white:not(:disabled):not(.disabled):active,.show>.btn-outline-white.dropdown-toggle{color:#212529;border-color:#fff;background-color:#fff}.btn-outline-white:not(:disabled):not(.disabled).active:focus,.btn-outline-white:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-white.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(255,255,255,.5)}.btn-outline-neutral{color:#fff;border-color:#fff;background-color:transparent;background-image:none}.btn-outline-neutral:hover{color:#212529;border-color:#fff;background-color:#fff}.btn-outline-neutral.focus,.btn-outline-neutral:focus{box-shadow:0 0 0 0 rgba(255,255,255,.5)}.btn-outline-neutral.disabled,.btn-outline-neutral:disabled{color:#fff;background-color:transparent}.btn-outline-neutral:not(:disabled):not(.disabled).active,.btn-outline-neutral:not(:disabled):not(.disabled):active,.show>.btn-outline-neutral.dropdown-toggle{color:#212529;border-color:#fff;background-color:#fff}.btn-outline-neutral:not(:disabled):not(.disabled).active:focus,.btn-outline-neutral:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-neutral.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(255,255,255,.5)}.btn-outline-darker{color:#000;border-color:#000;background-color:transparent;background-image:none}.btn-outline-darker:hover{color:#fff;border-color:#000;background-color:#000}.btn-outline-darker.focus,.btn-outline-darker:focus{box-shadow:0 0 0 0 rgba(0,0,0,.5)}.btn-outline-darker.disabled,.btn-outline-darker:disabled{color:#000;background-color:transparent}.btn-outline-darker:not(:disabled):not(.disabled).active,.btn-outline-darker:not(:disabled):not(.disabled):active,.show>.btn-outline-darker.dropdown-toggle{color:#fff;border-color:#000;background-color:#000}.btn-outline-darker:not(:disabled):not(.disabled).active:focus,.btn-outline-darker:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-darker.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(0,0,0,.5)}.btn-link{font-weight:400;text-decoration:none;color:#5e72e4}.btn-link:hover{text-decoration:none;color:#233dd2}.btn-link.focus,.btn-link:focus{text-decoration:none;box-shadow:none}.btn-link.disabled,.btn-link:disabled{pointer-events:none;color:#8898aa}.btn-group-lg>.btn,.btn-lg{font-size:.875rem;line-height:1.5;padding:.875rem 1rem;border-radius:.4375rem}.btn-group-sm>.btn,.btn-sm{font-size:.75rem;line-height:1.5;padding:.25rem .5rem;border-radius:.25rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;overflow:hidden;height:0;transition:height .3s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;content:'';vertical-align:.255em;border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{font-size:1rem;position:absolute;z-index:1000;top:100%;left:0;display:none;float:left;min-width:10rem;margin:.125rem 0 0;padding:.5rem 0;list-style:none;text-align:left;color:#525f7f;border:0 solid rgba(0,0,0,.15);border-radius:.4375rem;background-color:#fff;background-clip:padding-box;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1)}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;content:'';vertical-align:.255em;border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;content:'';vertical-align:.255em;border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;content:'';vertical-align:.255em}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;content:'';vertical-align:.255em;border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{overflow:hidden;height:0;margin:.5rem 0;border-top:1px solid #e9ecef}.dropdown-item{font-weight:400;display:block;clear:both;width:100%;padding:.5rem 1rem;text-align:inherit;white-space:nowrap;color:#212529;border:0;background-color:transparent}.dropdown-item:focus,.dropdown-item:hover{text-decoration:none;color:#16181b;background-color:#f6f9fc}.dropdown-item.active,.dropdown-item:active{text-decoration:none;color:#16181b;background-color:transparent}.dropdown-item.disabled,.dropdown-item:disabled{pointer-events:none;color:#8898aa;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{font-size:.875rem;display:block;margin-bottom:0;padding:.5rem 1rem;white-space:nowrap;color:#8898aa}.dropdown-item-text{display:block;padding:.5rem 1rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.9375rem;padding-left:.9375rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:none}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;width:100%;flex-wrap:wrap;align-items:stretch}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;width:1%;margin-bottom:0;flex:1 1 auto}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{font-size:.875rem;font-weight:400;line-height:1.5;display:flex;margin-bottom:0;padding:.625rem .75rem;text-align:center;white-space:nowrap;color:#adb5bd;border:1px solid #dee2e6;border-radius:.25rem;background-color:#fff;align-items:center}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1.75rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{font-size:.875rem;line-height:1.5;padding:.875rem 1rem;border-radius:.4375rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{font-size:.75rem;line-height:1.5;padding:.25rem .5rem;border-radius:.25rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:2.75rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#5e72e4;background-color:#5e72e4;box-shadow:0 3px 2px rgba(233,236,239,.05)}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 3px 2px rgba(233,236,239,.05),0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#5e72e4}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;border-color:#5e72e4;background-color:#5e72e4;box-shadow:0 3px 2px rgba(233,236,239,.05)}.custom-control-input:disabled~.custom-control-label{color:#8898aa}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-2.75rem;display:block;width:1rem;height:1rem;content:'';pointer-events:none;border:#dee2e6 solid 1px;background-color:#fff;box-shadow:0 3px 2px rgba(233,236,239,.05)}.custom-control-label::after{position:absolute;top:.25rem;left:-2.75rem;display:block;width:1rem;height:1rem;content:'';background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e')}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#5e72e4;background-color:#5e72e4;box-shadow:none}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e')}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(94,114,228,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(94,114,228,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'%3e%3ccircle r=\'3\' fill=\'%23fff\'/%3e%3c/svg%3e')}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(94,114,228,.5)}.custom-switch{padding-left:3.5rem}.custom-switch .custom-control-label::before{left:-3.5rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-3.5rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border-radius:.5rem;background-color:#dee2e6}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{transform:translateX(.75rem);background-color:#fff}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(94,114,228,.5)}.custom-select{font-size:.875rem;font-weight:400;line-height:1.5;display:inline-block;width:100%;height:calc(1.5em + 1.25rem + 2px);padding:.625rem 1.75rem .625rem .75rem;vertical-align:middle;color:#8898aa;border:1px solid #dee2e6;border-radius:.375rem;background:url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%2332325d\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e') no-repeat right .75rem center/8px 10px;background-color:#fff;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#5e72e4;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 0 #5e72e4}.custom-select:focus::-ms-value{color:#8898aa;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size='1']){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#8898aa;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{font-size:.75rem;height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem}.custom-select-lg{font-size:.875rem;height:calc(1.5em + 1.75rem + 2px);padding-top:.875rem;padding-bottom:.875rem;padding-left:1rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + 1.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + 1.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#5e72e4;box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:'Browse'}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{font-weight:400;line-height:1.5;position:absolute;z-index:1;top:0;right:0;left:0;height:calc(1.5em + 1.25rem + 2px);padding:.625rem .75rem;color:#8898aa;border:1px solid #dee2e6;border-radius:.25rem;background-color:#fff;box-shadow:0 3px 2px rgba(233,236,239,.05)}.custom-file-label::after{line-height:1.5;position:absolute;z-index:3;top:0;right:0;bottom:0;display:block;height:calc(1.5em + 1.25rem);padding:.625rem .75rem;content:'Browse';color:#8898aa;border-left:inherit;border-radius:0 .25rem .25rem 0;background-color:#fff}.custom-range{width:100%;height:calc(1rem + 0);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f8f9fe,0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f8f9fe,0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #f8f9fe,0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:0;border-radius:1rem;background-color:#5e72e4;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#f7f8fe}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;cursor:pointer;color:transparent;border-color:transparent;border-radius:1rem;background-color:#dee2e6;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:0;border-radius:1rem;background-color:#5e72e4;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#f7f8fe}.custom-range::-moz-range-track{width:100%;height:.5rem;cursor:pointer;color:transparent;border-color:transparent;border-radius:1rem;background-color:#dee2e6;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:0;margin-left:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:0;border-radius:1rem;background-color:#5e72e4;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#f7f8fe}.custom-range::-ms-track{width:100%;height:.5rem;cursor:pointer;color:transparent;border-width:.5rem;border-color:transparent;background-color:transparent;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower{border-radius:1rem;background-color:#dee2e6}.custom-range::-ms-fill-upper{margin-right:15px;border-radius:1rem;background-color:#dee2e6}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;margin-bottom:0;padding-left:0;list-style:none;flex-wrap:wrap}.nav-link{display:block;padding:.25rem .75rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{cursor:default;pointer-events:none;color:#8898aa}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.375rem;border-top-right-radius:.375rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#8898aa;border-color:transparent;background-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#525f7f;border-color:#dee2e6 #dee2e6 #f8f9fe;background-color:#f8f9fe}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.375rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#5e72e4}.nav-fill .nav-item{text-align:center;flex:1 1 auto}.nav-justified .nav-item{text-align:center;flex-basis:0;flex-grow:1}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;padding:1rem 1rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{font-size:1.25rem;line-height:inherit;display:inline-block;margin-right:1rem;padding-top:.0625rem;padding-bottom:.0625rem;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;margin-bottom:0;padding-left:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.25rem;padding-bottom:.25rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{font-size:1.25rem;line-height:1;padding:.25rem .75rem;border:1px solid transparent;border-radius:.25rem;background-color:transparent}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;content:'';vertical-align:middle;background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.6)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.6);border-color:transparent}.navbar-light .navbar-toggler-icon{background-image:url('data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.6)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e')}.navbar-light .navbar-text{color:rgba(0,0,0,.6)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:rgba(255,255,255,.65)}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:rgba(255,255,255,.65)}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.95)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.65)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:rgba(255,255,255,.65)}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.95);border-color:transparent}.navbar-dark .navbar-toggler-icon{background-image:url('data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.95)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e')}.navbar-dark .navbar-text{color:rgba(255,255,255,.95)}.navbar-dark .navbar-text a{color:rgba(255,255,255,.65)}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:rgba(255,255,255,.65)}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;border:1px solid rgba(0,0,0,.05);border-radius:.375rem;background-color:#fff;background-clip:border-box}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.card-body{padding:1.5rem;flex:1 1 auto}.card-title{margin-bottom:1.25rem}.card-subtitle{margin-top:-.625rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.5rem}.card-header{margin-bottom:0;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.05);background-color:#fff}.card-header:first-child{border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:1.25rem 1.5rem;border-top:1px solid rgba(0,0,0,.05);background-color:#fff}.card-footer:last-child{border-radius:0 0 calc(.375rem - 1px) calc(.375rem - 1px)}.card-header-tabs{margin-right:-.75rem;margin-bottom:-1.25rem;margin-left:-.75rem;border-bottom:0}.card-header-pills{margin-right:-.75rem;margin-left:-.75rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.375rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{margin-right:-15px;margin-left:-15px;flex-flow:row wrap}.card-deck .card{display:flex;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px;flex:1 0}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{flex-flow:row wrap}.card-group>.card{margin-bottom:0;flex:1 0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:1.25rem}@media (min-width:576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:flex;margin-bottom:1rem;padding:.5rem 1rem;list-style:none;border-radius:.375rem;background-color:#f6f9fc;flex-wrap:wrap}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;content:'-';color:#8898aa}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#8898aa}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.375rem}.page-link{line-height:1.25;position:relative;display:block;margin-left:-1px;padding:.5rem .75rem;color:#8898aa;border:1px solid #dee2e6;background-color:#fff}.page-link:hover{z-index:2;text-decoration:none;color:#8898aa;border-color:#dee2e6;background-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:none}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.page-item.active .page-link{z-index:1;color:#fff;border-color:#5e72e4;background-color:#5e72e4}.page-item.disabled .page-link{cursor:auto;pointer-events:none;color:#8898aa;border-color:#dee2e6;background-color:#fff}.pagination-lg .page-link{font-size:1.25rem;line-height:1.5;padding:.75rem 1.5rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.4375rem;border-bottom-left-radius:.4375rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.4375rem;border-bottom-right-radius:.4375rem}.pagination-sm .page-link{font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.badge{font-size:66%;font-weight:600;line-height:1;display:inline-block;padding:.35rem .375rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;text-align:center;vertical-align:baseline;white-space:nowrap;border-radius:.375rem}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.875em;padding-left:.875em;border-radius:10rem}.badge-primary{color:#2643e9;background-color:#eaecfb}.badge-primary[href]:focus,.badge-primary[href]:hover{text-decoration:none;color:#fff;background-color:#2a44db}.badge-secondary{color:#cfe3f1;background-color:#fff}.badge-secondary[href]:focus,.badge-secondary[href]:hover{text-decoration:none;color:#212529;background-color:#cadeeb}.badge-success{color:#1aae6f;background-color:#b0eed3}.badge-success[href]:focus,.badge-success[href]:hover{text-decoration:none;color:#fff;background-color:#229c68}.badge-info{color:#03acca;background-color:#aaedf9}.badge-info[href]:focus,.badge-info[href]:hover{text-decoration:none;color:#fff;background-color:#0c9cb7}.badge-warning{color:#ff3709;background-color:#fee6e0}.badge-warning[href]:focus,.badge-warning[href]:hover{text-decoration:none;color:#fff;background-color:#f93305}.badge-danger{color:#f80031;background-color:#fdd1da}.badge-danger[href]:focus,.badge-danger[href]:hover{text-decoration:none;color:#fff;background-color:#e30b36}.badge-light{color:#879cb0;background-color:#fff}.badge-light[href]:focus,.badge-light[href]:hover{text-decoration:none;color:#fff;background-color:#8b96a2}.badge-dark{color:#090c0e;background-color:#6a7783}.badge-dark[href]:focus,.badge-dark[href]:hover{text-decoration:none;color:#fff;background-color:#060607}.badge-default{color:#091428;background-color:#4172c6}.badge-default[href]:focus,.badge-default[href]:hover{text-decoration:none;color:#fff;background-color:#09111e}.badge-white{color:#e8e3e3;background-color:#fff}.badge-white[href]:focus,.badge-white[href]:hover{text-decoration:none;color:#212529;background-color:#e0e0e0}.badge-neutral{color:#e8e3e3;background-color:#fff}.badge-neutral[href]:focus,.badge-neutral[href]:hover{text-decoration:none;color:#212529;background-color:#e0e0e0}.badge-darker{color:#000;background-color:#525252}.badge-darker[href]:focus,.badge-darker[href]:hover{text-decoration:none;color:#fff;background-color:#000}.jumbotron{margin-bottom:2rem;padding:2rem 1rem;border-radius:.4375rem;background-color:#e9ecef}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;margin-bottom:1rem;padding:1rem 1.5rem;border:1px solid transparent;border-radius:.375rem}.alert-heading{color:inherit}.alert-link{font-weight:600}.alert-dismissible{padding-right:4.5rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:1rem 1.5rem;color:inherit}.alert-primary{color:#fff;border-color:#7889e8;background-color:#7889e8}.alert-primary a{font-weight:600;color:#1d32aa}.alert-primary a:hover{color:#fff}.alert-primary hr{border-top-color:#6276e4}.alert-primary .alert-link{color:#324cdd}.alert-secondary{color:#212529;border-color:#f8fbfc;background-color:#f8fbfc}.alert-secondary a{font-weight:600;color:#8dbece}.alert-secondary a:hover{color:#212529}.alert-secondary hr{border-top-color:#e6f1f4}.alert-secondary .alert-link{color:#d2e3ee}.alert-success{color:#fff;border-color:#4fd69c;background-color:#4fd69c}.alert-success a{font-weight:600;color:#1a724c}.alert-success a:hover{color:#fff}.alert-success hr{border-top-color:#3ad190}.alert-success .alert-link{color:#24a46d}.alert-info{color:#fff;border-color:#37d5f2;background-color:#37d5f2}.alert-info a{font-weight:600;color:#097487}.alert-info a:hover{color:#fff}.alert-info hr{border-top-color:#1fd0f0}.alert-info .alert-link{color:#0da5c0}.alert-warning{color:#fff;border-color:#fc7c5f;background-color:#fc7c5f}.alert-warning a{font-weight:600;color:#be2604}.alert-warning a:hover{color:#fff}.alert-warning hr{border-top-color:#fc6846}.alert-warning .alert-link{color:#fa3a0e}.alert-danger{color:#fff;border-color:#f75676;background-color:#f75676}.alert-danger a{font-weight:600;color:#ac0829}.alert-danger a:hover{color:#fff}.alert-danger hr{border-top-color:#f63e62}.alert-danger .alert-link{color:#ec0c38}.alert-light{color:#fff;border-color:#bac1c8;background-color:#bac1c8}.alert-light a{font-weight:600;color:#677582}.alert-light a:hover{color:#fff}.alert-light hr{border-top-color:#acb4bd}.alert-light .alert-link{color:#919ca6}.alert-dark{color:#fff;border-color:#45484b;background-color:#45484b}.alert-dark a{font-weight:600;color:#000}.alert-dark a:hover{color:#fff}.alert-dark hr{border-top-color:#393b3e}.alert-dark .alert-link{color:#0a0c0d}.alert-default{color:#fff;border-color:#3c4d69;background-color:#3c4d69}.alert-default a{font-weight:600;color:#040608}.alert-default a:hover{color:#fff}.alert-default hr{border-top-color:#334159}.alert-default .alert-link{color:#0b1526}.alert-white{color:#212529;border-color:#fff;background-color:#fff}.alert-white a{font-weight:600;color:#b3b3b3}.alert-white a:hover{color:#212529}.alert-white hr{border-top-color:#f2f2f2}.alert-white .alert-link{color:#e6e6e6}.alert-neutral{color:#212529;border-color:#fff;background-color:#fff}.alert-neutral a{font-weight:600;color:#b3b3b3}.alert-neutral a:hover{color:#212529}.alert-neutral hr{border-top-color:#f2f2f2}.alert-neutral .alert-link{color:#e6e6e6}.alert-darker{color:#fff;border-color:#292929;background-color:#292929}.alert-darker a{font-weight:600;color:#000}.alert-darker a:hover{color:#fff}.alert-darker hr{border-top-color:#1c1c1c}.alert-darker .alert-link{color:#000}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{font-size:.75rem;display:flex;overflow:hidden;height:1rem;border-radius:.375rem;background-color:#e9ecef;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:flex;flex-direction:column;transition:width .6s ease;text-align:center;white-space:nowrap;color:#fff;background-color:#5e72e4;justify-content:center}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1 1}.list-group{display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-item-action{width:100%;text-align:inherit;color:#525f7f}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;text-decoration:none;color:#525f7f;background-color:#f6f9fc}.list-group-item-action:active{color:#525f7f;background-color:#e9ecef}.list-group-item{position:relative;display:block;margin-bottom:-1px;padding:1rem 1rem;border:1px solid #e9ecef;background-color:#fff}.list-group-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.list-group-item.disabled,.list-group-item:disabled{pointer-events:none;color:#8898aa;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;border-color:#5e72e4;background-color:#5e72e4}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:0;border-bottom-left-radius:.375rem}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:0;border-bottom-left-radius:.375rem}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:0;border-bottom-left-radius:.375rem}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:0;border-bottom-left-radius:.375rem}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:0;border-bottom-left-radius:.375rem}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#313b77;background-color:#d2d8f7}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#313b77;background-color:#bcc5f3}.list-group-item-primary.list-group-item-action.active{color:#fff;border-color:#313b77;background-color:#313b77}.list-group-item-secondary{color:#808283;background-color:#fdfefe}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#808283;background-color:#ecf6f6}.list-group-item-secondary.list-group-item-action.active{color:#fff;border-color:#808283;background-color:#808283}.list-group-item-success{color:#176b47;background-color:#c4f1de}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#176b47;background-color:#afecd2}.list-group-item-success.list-group-item-action.active{color:#fff;border-color:#176b47;background-color:#176b47}.list-group-item-info{color:#096b7c;background-color:#bcf1fb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#096b7c;background-color:#a4ecfa}.list-group-item-info.list-group-item-action.active{color:#fff;border-color:#096b7c;background-color:#096b7c}.list-group-item-warning{color:#833321;background-color:#fed3ca}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#833321;background-color:#febeb1}.list-group-item-warning.list-group-item-action.active{color:#fff;border-color:#833321;background-color:#833321}.list-group-item-danger{color:#7f1c30;background-color:#fcc7d1}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#7f1c30;background-color:#fbafbd}.list-group-item-danger.list-group-item-action.active{color:#fff;border-color:#7f1c30;background-color:#7f1c30}.list-group-item-light{color:#5a5e62;background-color:#e8eaed}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#5a5e62;background-color:#dadde2}.list-group-item-light.list-group-item-action.active{color:#fff;border-color:#5a5e62;background-color:#5a5e62}.list-group-item-dark{color:#111315;background-color:#c1c2c3}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#111315;background-color:#b4b5b6}.list-group-item-dark.list-group-item-action.active{color:#fff;border-color:#111315;background-color:#111315}.list-group-item-default{color:#0c1628;background-color:#bec4cd}.list-group-item-default.list-group-item-action:focus,.list-group-item-default.list-group-item-action:hover{color:#0c1628;background-color:#b0b7c2}.list-group-item-default.list-group-item-action.active{color:#fff;border-color:#0c1628;background-color:#0c1628}.list-group-item-white{color:#858585;background-color:#fff}.list-group-item-white.list-group-item-action:focus,.list-group-item-white.list-group-item-action:hover{color:#858585;background-color:#f2f2f2}.list-group-item-white.list-group-item-action.active{color:#fff;border-color:#858585;background-color:#858585}.list-group-item-neutral{color:#858585;background-color:#fff}.list-group-item-neutral.list-group-item-action:focus,.list-group-item-neutral.list-group-item-action:hover{color:#858585;background-color:#f2f2f2}.list-group-item-neutral.list-group-item-action.active{color:#fff;border-color:#858585;background-color:#858585}.list-group-item-darker{color:#000;background-color:#b8b8b8}.list-group-item-darker.list-group-item-action:focus,.list-group-item-darker.list-group-item-action:hover{color:#000;background-color:#ababab}.list-group-item-darker.list-group-item-action.active{color:#fff;border-color:#000;background-color:#000}.close{font-size:1.5rem;font-weight:600;line-height:1;float:right;opacity:.5;color:rgba(0,0,0,.6);text-shadow:none}@media (max-width:1200px){.close{font-size:calc(1.275rem + .3vw)}}.close:hover{text-decoration:none;color:rgba(0,0,0,.6)}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;border:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;z-index:1050;top:0;left:0;display:none;overflow:hidden;width:100%;height:100%;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{overflow:hidden;max-height:calc(100vh - 1rem)}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;min-height:calc(100% - 1rem);align-items:center}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:''}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;height:100%;justify-content:center}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;border:0 solid rgba(0,0,0,.2);border-radius:.4375rem;outline:0;background-color:#fff;background-clip:padding-box;box-shadow:0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.17)}.modal-backdrop{position:fixed;z-index:1040;top:0;left:0;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.16}.modal-header{display:flex;padding:1.25rem;border-bottom:0 solid #e9ecef;border-top-left-radius:.4375rem;border-top-right-radius:.4375rem;align-items:flex-start;justify-content:space-between}.modal-header .close{margin:-1rem -1rem -1rem auto;padding:1.25rem}.modal-title{line-height:1.1;margin-bottom:0}.modal-body{position:relative;padding:1.5rem;flex:1 1 auto}.modal-footer{display:flex;padding:1.5rem;border-top:0 solid #e9ecef;border-bottom-right-radius:.4375rem;border-bottom-left-radius:.4375rem;align-items:center;justify-content:flex-end}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;overflow:scroll;width:50px;height:50px}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-content{box-shadow:0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.17)}.modal-sm{max-width:380px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{font-family:Open Sans,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:1.5;position:absolute;z-index:1070;display:block;margin:0;text-align:left;text-align:start;white-space:normal;text-decoration:none;letter-spacing:normal;word-spacing:normal;text-transform:none;word-wrap:break-word;word-break:normal;opacity:0;text-shadow:none;line-break:auto}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:'';border-style:solid;border-color:transparent}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;text-align:center;color:#fff;border-radius:.375rem;background-color:#000}.popover{font-family:Open Sans,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;line-height:1.5;position:absolute;z-index:1060;top:0;left:0;display:block;max-width:276px;text-align:left;text-align:start;white-space:normal;text-decoration:none;letter-spacing:normal;word-spacing:normal;text-transform:none;word-wrap:break-word;word-break:normal;border:1px solid rgba(0,0,0,.05);border-radius:.4375rem;background-color:#fff;background-clip:padding-box;box-shadow:0 .5rem 2rem 0 rgba(0,0,0,.2);text-shadow:none;line-break:auto}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .4375rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:'';border-style:solid;border-color:transparent}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:transparent}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.4375rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:transparent}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:transparent}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:'';border-bottom:1px solid #fff}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.4375rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:transparent}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{font-size:1rem;margin-bottom:0;padding:.5rem .95rem;color:#32325d;border-bottom:1px solid #f2f2f2;border-top-left-radius:calc(.4375rem - 1px);border-top-right-radius:calc(.4375rem - 1px);background-color:#fff}.popover-header:empty{display:none}.popover-body{padding:.5rem .95rem;color:#525f7f}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner::after{display:block;clear:both;content:''}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{transition-property:opacity;transform:none;opacity:0}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;transition:0s .6s opacity;opacity:0}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;z-index:1;top:0;bottom:0;display:flex;width:15%;transition:opacity .15s ease;text-align:center;opacity:.5;color:#fff;align-items:center;justify-content:center}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{text-decoration:none;opacity:.9;color:#fff;outline:0}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e')}.carousel-control-next-icon{background-image:url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e')}.carousel-indicators{position:absolute;z-index:15;right:0;bottom:0;left:0;display:flex;margin-right:15%;margin-left:15%;padding-left:0;list-style:none;justify-content:center}.carousel-indicators li{box-sizing:content-box;width:30px;height:3px;margin-right:3px;margin-left:3px;cursor:pointer;transition:opacity .6s ease;text-indent:-999px;opacity:.5;border-top:10px solid transparent;border-bottom:10px solid transparent;background-color:#fff;background-clip:padding-box;flex:0 1 auto}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;z-index:10;right:15%;bottom:20px;left:15%;padding-top:20px;padding-bottom:20px;text-align:center;color:#fff}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#5e72e4!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#324cdd!important}.bg-secondary{background-color:#f7fafc!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#d2e3ee!important}.bg-success{background-color:#2dce89!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#24a46d!important}.bg-info{background-color:#11cdef!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#0da5c0!important}.bg-warning{background-color:#fb6340!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#fa3a0e!important}.bg-danger{background-color:#f5365c!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#ec0c38!important}.bg-light{background-color:#adb5bd!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#919ca6!important}.bg-dark{background-color:#212529!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#0a0c0d!important}.bg-default{background-color:#172b4d!important}a.bg-default:focus,a.bg-default:hover,button.bg-default:focus,button.bg-default:hover{background-color:#0b1526!important}.bg-white{background-color:#fff!important}a.bg-white:focus,a.bg-white:hover,button.bg-white:focus,button.bg-white:hover{background-color:#e6e6e6!important}.bg-neutral{background-color:#fff!important}a.bg-neutral:focus,a.bg-neutral:hover,button.bg-neutral:focus,button.bg-neutral:hover{background-color:#e6e6e6!important}.bg-darker{background-color:#000!important}a.bg-darker:focus,a.bg-darker:hover,button.bg-darker:focus,button.bg-darker:hover{background-color:#000!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #e9ecef!important}.border-top{border-top:1px solid #e9ecef!important}.border-right{border-right:1px solid #e9ecef!important}.border-bottom{border-bottom:1px solid #e9ecef!important}.border-left{border-left:1px solid #e9ecef!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#5e72e4!important}.border-secondary{border-color:#f7fafc!important}.border-success{border-color:#2dce89!important}.border-info{border-color:#11cdef!important}.border-warning{border-color:#fb6340!important}.border-danger{border-color:#f5365c!important}.border-light{border-color:#adb5bd!important}.border-dark{border-color:#212529!important}.border-default{border-color:#172b4d!important}.border-white{border-color:#fff!important}.border-neutral{border-color:#fff!important}.border-darker{border-color:#000!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.25rem!important}.rounded{border-radius:.375rem!important}.rounded-top{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}.rounded-right{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.rounded-bottom{border-bottom-right-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.rounded-left{border-top-left-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.rounded-lg{border-radius:.4375rem!important}.avatar.rounded-circle img,.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:''}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;overflow:hidden;width:100%;padding:0}.embed-responsive::before{display:block;content:''}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;z-index:1030;top:0;right:0;left:0}.fixed-bottom{position:fixed;z-index:1030;right:0;bottom:0;left:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;z-index:1020;top:0}}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;padding:0;white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;overflow:visible;clip:auto;width:auto;height:auto;white-space:normal}.shadow-sm{box-shadow:0 0 .5rem rgba(136,152,170,.075)!important}.shadow{box-shadow:0 0 2rem 0 rgba(136,152,170,.15)!important}.shadow-lg{box-shadow:0 0 3rem rgba(136,152,170,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;content:'';pointer-events:auto;background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.m--9{margin:-10rem!important}.mt--9,.my--9{margin-top:-10rem!important}.mr--9,.mx--9{margin-right:-10rem!important}.mb--9,.my--9{margin-bottom:-10rem!important}.ml--9,.mx--9{margin-left:-10rem!important}.m--8{margin:-8rem!important}.mt--8,.my--8{margin-top:-8rem!important}.mr--8,.mx--8{margin-right:-8rem!important}.mb--8,.my--8{margin-bottom:-8rem!important}.ml--8,.mx--8{margin-left:-8rem!important}.m--7{margin:-6rem!important}.mt--7,.my--7{margin-top:-6rem!important}.mr--7,.mx--7{margin-right:-6rem!important}.mb--7,.my--7{margin-bottom:-6rem!important}.ml--7,.mx--7{margin-left:-6rem!important}.m--6{margin:-4.5rem!important}.mt--6,.my--6{margin-top:-4.5rem!important}.mr--6,.mx--6{margin-right:-4.5rem!important}.mb--6,.my--6{margin-bottom:-4.5rem!important}.ml--6,.mx--6{margin-left:-4.5rem!important}.m--5{margin:-3rem!important}.mt--5,.my--5{margin-top:-3rem!important}.mr--5,.mx--5{margin-right:-3rem!important}.mb--5,.my--5{margin-bottom:-3rem!important}.ml--5,.mx--5{margin-left:-3rem!important}.m--4{margin:-1.5rem!important}.mt--4,.my--4{margin-top:-1.5rem!important}.mr--4,.mx--4{margin-right:-1.5rem!important}.mb--4,.my--4{margin-bottom:-1.5rem!important}.ml--4,.mx--4{margin-left:-1.5rem!important}.m--3{margin:-1rem!important}.mt--3,.my--3{margin-top:-1rem!important}.mr--3,.mx--3{margin-right:-1rem!important}.mb--3,.my--3{margin-bottom:-1rem!important}.ml--3,.mx--3{margin-left:-1rem!important}.m--2{margin:-.5rem!important}.mt--2,.my--2{margin-top:-.5rem!important}.mr--2,.mx--2{margin-right:-.5rem!important}.mb--2,.my--2{margin-bottom:-.5rem!important}.ml--2,.mx--2{margin-left:-.5rem!important}.m--1{margin:-.25rem!important}.mt--1,.my--1{margin-top:-.25rem!important}.mr--1,.mx--1{margin-right:-.25rem!important}.mb--1,.my--1{margin-bottom:-.25rem!important}.ml--1,.mx--1{margin-left:-.25rem!important}.m-6{margin:4.5rem!important}.mt-6,.my-6{margin-top:4.5rem!important}.mr-6,.mx-6{margin-right:4.5rem!important}.mb-6,.my-6{margin-bottom:4.5rem!important}.ml-6,.mx-6{margin-left:4.5rem!important}.m-7{margin:6rem!important}.mt-7,.my-7{margin-top:6rem!important}.mr-7,.mx-7{margin-right:6rem!important}.mb-7,.my-7{margin-bottom:6rem!important}.ml-7,.mx-7{margin-left:6rem!important}.m-8{margin:8rem!important}.mt-8,.my-8{margin-top:8rem!important}.mr-8,.mx-8{margin-right:8rem!important}.mb-8,.my-8{margin-bottom:8rem!important}.ml-8,.mx-8{margin-left:8rem!important}.m-9{margin:10rem!important}.mt-9,.my-9{margin-top:10rem!important}.mr-9,.mx-9{margin-right:10rem!important}.mb-9,.my-9{margin-bottom:10rem!important}.ml-9,.mx-9{margin-left:10rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.p-6{padding:4.5rem!important}.pt-6,.py-6{padding-top:4.5rem!important}.pr-6,.px-6{padding-right:4.5rem!important}.pb-6,.py-6{padding-bottom:4.5rem!important}.pl-6,.px-6{padding-left:4.5rem!important}.p-7{padding:6rem!important}.pt-7,.py-7{padding-top:6rem!important}.pr-7,.px-7{padding-right:6rem!important}.pb-7,.py-7{padding-bottom:6rem!important}.pl-7,.px-7{padding-left:6rem!important}.p-8{padding:8rem!important}.pt-8,.py-8{padding-top:8rem!important}.pr-8,.px-8{padding-right:8rem!important}.pb-8,.py-8{padding-bottom:8rem!important}.pl-8,.px-8{padding-left:8rem!important}.p-9{padding:10rem!important}.pt-9,.py-9{padding-top:10rem!important}.pr-9,.px-9{padding-right:10rem!important}.pb-9,.py-9{padding-bottom:10rem!important}.pl-9,.px-9{padding-left:10rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-n-9{margin:10rem!important}.mt-n-9,.my-n-9{margin-top:10rem!important}.mr-n-9,.mx-n-9{margin-right:10rem!important}.mb-n-9,.my-n-9{margin-bottom:10rem!important}.ml-n-9,.mx-n-9{margin-left:10rem!important}.m-n-8{margin:8rem!important}.mt-n-8,.my-n-8{margin-top:8rem!important}.mr-n-8,.mx-n-8{margin-right:8rem!important}.mb-n-8,.my-n-8{margin-bottom:8rem!important}.ml-n-8,.mx-n-8{margin-left:8rem!important}.m-n-7{margin:6rem!important}.mt-n-7,.my-n-7{margin-top:6rem!important}.mr-n-7,.mx-n-7{margin-right:6rem!important}.mb-n-7,.my-n-7{margin-bottom:6rem!important}.ml-n-7,.mx-n-7{margin-left:6rem!important}.m-n-6{margin:4.5rem!important}.mt-n-6,.my-n-6{margin-top:4.5rem!important}.mr-n-6,.mx-n-6{margin-right:4.5rem!important}.mb-n-6,.my-n-6{margin-bottom:4.5rem!important}.ml-n-6,.mx-n-6{margin-left:4.5rem!important}.m-n-5{margin:3rem!important}.mt-n-5,.my-n-5{margin-top:3rem!important}.mr-n-5,.mx-n-5{margin-right:3rem!important}.mb-n-5,.my-n-5{margin-bottom:3rem!important}.ml-n-5,.mx-n-5{margin-left:3rem!important}.m-n-4{margin:1.5rem!important}.mt-n-4,.my-n-4{margin-top:1.5rem!important}.mr-n-4,.mx-n-4{margin-right:1.5rem!important}.mb-n-4,.my-n-4{margin-bottom:1.5rem!important}.ml-n-4,.mx-n-4{margin-left:1.5rem!important}.m-n-3{margin:1rem!important}.mt-n-3,.my-n-3{margin-top:1rem!important}.mr-n-3,.mx-n-3{margin-right:1rem!important}.mb-n-3,.my-n-3{margin-bottom:1rem!important}.ml-n-3,.mx-n-3{margin-left:1rem!important}.m-n-2{margin:.5rem!important}.mt-n-2,.my-n-2{margin-top:.5rem!important}.mr-n-2,.mx-n-2{margin-right:.5rem!important}.mb-n-2,.my-n-2{margin-bottom:.5rem!important}.ml-n-2,.mx-n-2{margin-left:.5rem!important}.m-n-1{margin:.25rem!important}.mt-n-1,.my-n-1{margin-top:.25rem!important}.mr-n-1,.mx-n-1{margin-right:.25rem!important}.mb-n-1,.my-n-1{margin-bottom:.25rem!important}.ml-n-1,.mx-n-1{margin-left:.25rem!important}.m-n6{margin:-4.5rem!important}.mt-n6,.my-n6{margin-top:-4.5rem!important}.mr-n6,.mx-n6{margin-right:-4.5rem!important}.mb-n6,.my-n6{margin-bottom:-4.5rem!important}.ml-n6,.mx-n6{margin-left:-4.5rem!important}.m-n7{margin:-6rem!important}.mt-n7,.my-n7{margin-top:-6rem!important}.mr-n7,.mx-n7{margin-right:-6rem!important}.mb-n7,.my-n7{margin-bottom:-6rem!important}.ml-n7,.mx-n7{margin-left:-6rem!important}.m-n8{margin:-8rem!important}.mt-n8,.my-n8{margin-top:-8rem!important}.mr-n8,.mx-n8{margin-right:-8rem!important}.mb-n8,.my-n8{margin-bottom:-8rem!important}.ml-n8,.mx-n8{margin-left:-8rem!important}.m-n9{margin:-10rem!important}.mt-n9,.my-n9{margin-top:-10rem!important}.mr-n9,.mx-n9{margin-right:-10rem!important}.mb-n9,.my-n9{margin-bottom:-10rem!important}.ml-n9,.mx-n9{margin-left:-10rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.m-sm--9{margin:-10rem!important}.mt-sm--9,.my-sm--9{margin-top:-10rem!important}.mr-sm--9,.mx-sm--9{margin-right:-10rem!important}.mb-sm--9,.my-sm--9{margin-bottom:-10rem!important}.ml-sm--9,.mx-sm--9{margin-left:-10rem!important}.m-sm--8{margin:-8rem!important}.mt-sm--8,.my-sm--8{margin-top:-8rem!important}.mr-sm--8,.mx-sm--8{margin-right:-8rem!important}.mb-sm--8,.my-sm--8{margin-bottom:-8rem!important}.ml-sm--8,.mx-sm--8{margin-left:-8rem!important}.m-sm--7{margin:-6rem!important}.mt-sm--7,.my-sm--7{margin-top:-6rem!important}.mr-sm--7,.mx-sm--7{margin-right:-6rem!important}.mb-sm--7,.my-sm--7{margin-bottom:-6rem!important}.ml-sm--7,.mx-sm--7{margin-left:-6rem!important}.m-sm--6{margin:-4.5rem!important}.mt-sm--6,.my-sm--6{margin-top:-4.5rem!important}.mr-sm--6,.mx-sm--6{margin-right:-4.5rem!important}.mb-sm--6,.my-sm--6{margin-bottom:-4.5rem!important}.ml-sm--6,.mx-sm--6{margin-left:-4.5rem!important}.m-sm--5{margin:-3rem!important}.mt-sm--5,.my-sm--5{margin-top:-3rem!important}.mr-sm--5,.mx-sm--5{margin-right:-3rem!important}.mb-sm--5,.my-sm--5{margin-bottom:-3rem!important}.ml-sm--5,.mx-sm--5{margin-left:-3rem!important}.m-sm--4{margin:-1.5rem!important}.mt-sm--4,.my-sm--4{margin-top:-1.5rem!important}.mr-sm--4,.mx-sm--4{margin-right:-1.5rem!important}.mb-sm--4,.my-sm--4{margin-bottom:-1.5rem!important}.ml-sm--4,.mx-sm--4{margin-left:-1.5rem!important}.m-sm--3{margin:-1rem!important}.mt-sm--3,.my-sm--3{margin-top:-1rem!important}.mr-sm--3,.mx-sm--3{margin-right:-1rem!important}.mb-sm--3,.my-sm--3{margin-bottom:-1rem!important}.ml-sm--3,.mx-sm--3{margin-left:-1rem!important}.m-sm--2{margin:-.5rem!important}.mt-sm--2,.my-sm--2{margin-top:-.5rem!important}.mr-sm--2,.mx-sm--2{margin-right:-.5rem!important}.mb-sm--2,.my-sm--2{margin-bottom:-.5rem!important}.ml-sm--2,.mx-sm--2{margin-left:-.5rem!important}.m-sm--1{margin:-.25rem!important}.mt-sm--1,.my-sm--1{margin-top:-.25rem!important}.mr-sm--1,.mx-sm--1{margin-right:-.25rem!important}.mb-sm--1,.my-sm--1{margin-bottom:-.25rem!important}.ml-sm--1,.mx-sm--1{margin-left:-.25rem!important}.m-sm-6{margin:4.5rem!important}.mt-sm-6,.my-sm-6{margin-top:4.5rem!important}.mr-sm-6,.mx-sm-6{margin-right:4.5rem!important}.mb-sm-6,.my-sm-6{margin-bottom:4.5rem!important}.ml-sm-6,.mx-sm-6{margin-left:4.5rem!important}.m-sm-7{margin:6rem!important}.mt-sm-7,.my-sm-7{margin-top:6rem!important}.mr-sm-7,.mx-sm-7{margin-right:6rem!important}.mb-sm-7,.my-sm-7{margin-bottom:6rem!important}.ml-sm-7,.mx-sm-7{margin-left:6rem!important}.m-sm-8{margin:8rem!important}.mt-sm-8,.my-sm-8{margin-top:8rem!important}.mr-sm-8,.mx-sm-8{margin-right:8rem!important}.mb-sm-8,.my-sm-8{margin-bottom:8rem!important}.ml-sm-8,.mx-sm-8{margin-left:8rem!important}.m-sm-9{margin:10rem!important}.mt-sm-9,.my-sm-9{margin-top:10rem!important}.mr-sm-9,.mx-sm-9{margin-right:10rem!important}.mb-sm-9,.my-sm-9{margin-bottom:10rem!important}.ml-sm-9,.mx-sm-9{margin-left:10rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.p-sm-6{padding:4.5rem!important}.pt-sm-6,.py-sm-6{padding-top:4.5rem!important}.pr-sm-6,.px-sm-6{padding-right:4.5rem!important}.pb-sm-6,.py-sm-6{padding-bottom:4.5rem!important}.pl-sm-6,.px-sm-6{padding-left:4.5rem!important}.p-sm-7{padding:6rem!important}.pt-sm-7,.py-sm-7{padding-top:6rem!important}.pr-sm-7,.px-sm-7{padding-right:6rem!important}.pb-sm-7,.py-sm-7{padding-bottom:6rem!important}.pl-sm-7,.px-sm-7{padding-left:6rem!important}.p-sm-8{padding:8rem!important}.pt-sm-8,.py-sm-8{padding-top:8rem!important}.pr-sm-8,.px-sm-8{padding-right:8rem!important}.pb-sm-8,.py-sm-8{padding-bottom:8rem!important}.pl-sm-8,.px-sm-8{padding-left:8rem!important}.p-sm-9{padding:10rem!important}.pt-sm-9,.py-sm-9{padding-top:10rem!important}.pr-sm-9,.px-sm-9{padding-right:10rem!important}.pb-sm-9,.py-sm-9{padding-bottom:10rem!important}.pl-sm-9,.px-sm-9{padding-left:10rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-n-9{margin:10rem!important}.mt-sm-n-9,.my-sm-n-9{margin-top:10rem!important}.mr-sm-n-9,.mx-sm-n-9{margin-right:10rem!important}.mb-sm-n-9,.my-sm-n-9{margin-bottom:10rem!important}.ml-sm-n-9,.mx-sm-n-9{margin-left:10rem!important}.m-sm-n-8{margin:8rem!important}.mt-sm-n-8,.my-sm-n-8{margin-top:8rem!important}.mr-sm-n-8,.mx-sm-n-8{margin-right:8rem!important}.mb-sm-n-8,.my-sm-n-8{margin-bottom:8rem!important}.ml-sm-n-8,.mx-sm-n-8{margin-left:8rem!important}.m-sm-n-7{margin:6rem!important}.mt-sm-n-7,.my-sm-n-7{margin-top:6rem!important}.mr-sm-n-7,.mx-sm-n-7{margin-right:6rem!important}.mb-sm-n-7,.my-sm-n-7{margin-bottom:6rem!important}.ml-sm-n-7,.mx-sm-n-7{margin-left:6rem!important}.m-sm-n-6{margin:4.5rem!important}.mt-sm-n-6,.my-sm-n-6{margin-top:4.5rem!important}.mr-sm-n-6,.mx-sm-n-6{margin-right:4.5rem!important}.mb-sm-n-6,.my-sm-n-6{margin-bottom:4.5rem!important}.ml-sm-n-6,.mx-sm-n-6{margin-left:4.5rem!important}.m-sm-n-5{margin:3rem!important}.mt-sm-n-5,.my-sm-n-5{margin-top:3rem!important}.mr-sm-n-5,.mx-sm-n-5{margin-right:3rem!important}.mb-sm-n-5,.my-sm-n-5{margin-bottom:3rem!important}.ml-sm-n-5,.mx-sm-n-5{margin-left:3rem!important}.m-sm-n-4{margin:1.5rem!important}.mt-sm-n-4,.my-sm-n-4{margin-top:1.5rem!important}.mr-sm-n-4,.mx-sm-n-4{margin-right:1.5rem!important}.mb-sm-n-4,.my-sm-n-4{margin-bottom:1.5rem!important}.ml-sm-n-4,.mx-sm-n-4{margin-left:1.5rem!important}.m-sm-n-3{margin:1rem!important}.mt-sm-n-3,.my-sm-n-3{margin-top:1rem!important}.mr-sm-n-3,.mx-sm-n-3{margin-right:1rem!important}.mb-sm-n-3,.my-sm-n-3{margin-bottom:1rem!important}.ml-sm-n-3,.mx-sm-n-3{margin-left:1rem!important}.m-sm-n-2{margin:.5rem!important}.mt-sm-n-2,.my-sm-n-2{margin-top:.5rem!important}.mr-sm-n-2,.mx-sm-n-2{margin-right:.5rem!important}.mb-sm-n-2,.my-sm-n-2{margin-bottom:.5rem!important}.ml-sm-n-2,.mx-sm-n-2{margin-left:.5rem!important}.m-sm-n-1{margin:.25rem!important}.mt-sm-n-1,.my-sm-n-1{margin-top:.25rem!important}.mr-sm-n-1,.mx-sm-n-1{margin-right:.25rem!important}.mb-sm-n-1,.my-sm-n-1{margin-bottom:.25rem!important}.ml-sm-n-1,.mx-sm-n-1{margin-left:.25rem!important}.m-sm-n6{margin:-4.5rem!important}.mt-sm-n6,.my-sm-n6{margin-top:-4.5rem!important}.mr-sm-n6,.mx-sm-n6{margin-right:-4.5rem!important}.mb-sm-n6,.my-sm-n6{margin-bottom:-4.5rem!important}.ml-sm-n6,.mx-sm-n6{margin-left:-4.5rem!important}.m-sm-n7{margin:-6rem!important}.mt-sm-n7,.my-sm-n7{margin-top:-6rem!important}.mr-sm-n7,.mx-sm-n7{margin-right:-6rem!important}.mb-sm-n7,.my-sm-n7{margin-bottom:-6rem!important}.ml-sm-n7,.mx-sm-n7{margin-left:-6rem!important}.m-sm-n8{margin:-8rem!important}.mt-sm-n8,.my-sm-n8{margin-top:-8rem!important}.mr-sm-n8,.mx-sm-n8{margin-right:-8rem!important}.mb-sm-n8,.my-sm-n8{margin-bottom:-8rem!important}.ml-sm-n8,.mx-sm-n8{margin-left:-8rem!important}.m-sm-n9{margin:-10rem!important}.mt-sm-n9,.my-sm-n9{margin-top:-10rem!important}.mr-sm-n9,.mx-sm-n9{margin-right:-10rem!important}.mb-sm-n9,.my-sm-n9{margin-bottom:-10rem!important}.ml-sm-n9,.mx-sm-n9{margin-left:-10rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.m-md--9{margin:-10rem!important}.mt-md--9,.my-md--9{margin-top:-10rem!important}.mr-md--9,.mx-md--9{margin-right:-10rem!important}.mb-md--9,.my-md--9{margin-bottom:-10rem!important}.ml-md--9,.mx-md--9{margin-left:-10rem!important}.m-md--8{margin:-8rem!important}.mt-md--8,.my-md--8{margin-top:-8rem!important}.mr-md--8,.mx-md--8{margin-right:-8rem!important}.mb-md--8,.my-md--8{margin-bottom:-8rem!important}.ml-md--8,.mx-md--8{margin-left:-8rem!important}.m-md--7{margin:-6rem!important}.mt-md--7,.my-md--7{margin-top:-6rem!important}.mr-md--7,.mx-md--7{margin-right:-6rem!important}.mb-md--7,.my-md--7{margin-bottom:-6rem!important}.ml-md--7,.mx-md--7{margin-left:-6rem!important}.m-md--6{margin:-4.5rem!important}.mt-md--6,.my-md--6{margin-top:-4.5rem!important}.mr-md--6,.mx-md--6{margin-right:-4.5rem!important}.mb-md--6,.my-md--6{margin-bottom:-4.5rem!important}.ml-md--6,.mx-md--6{margin-left:-4.5rem!important}.m-md--5{margin:-3rem!important}.mt-md--5,.my-md--5{margin-top:-3rem!important}.mr-md--5,.mx-md--5{margin-right:-3rem!important}.mb-md--5,.my-md--5{margin-bottom:-3rem!important}.ml-md--5,.mx-md--5{margin-left:-3rem!important}.m-md--4{margin:-1.5rem!important}.mt-md--4,.my-md--4{margin-top:-1.5rem!important}.mr-md--4,.mx-md--4{margin-right:-1.5rem!important}.mb-md--4,.my-md--4{margin-bottom:-1.5rem!important}.ml-md--4,.mx-md--4{margin-left:-1.5rem!important}.m-md--3{margin:-1rem!important}.mt-md--3,.my-md--3{margin-top:-1rem!important}.mr-md--3,.mx-md--3{margin-right:-1rem!important}.mb-md--3,.my-md--3{margin-bottom:-1rem!important}.ml-md--3,.mx-md--3{margin-left:-1rem!important}.m-md--2{margin:-.5rem!important}.mt-md--2,.my-md--2{margin-top:-.5rem!important}.mr-md--2,.mx-md--2{margin-right:-.5rem!important}.mb-md--2,.my-md--2{margin-bottom:-.5rem!important}.ml-md--2,.mx-md--2{margin-left:-.5rem!important}.m-md--1{margin:-.25rem!important}.mt-md--1,.my-md--1{margin-top:-.25rem!important}.mr-md--1,.mx-md--1{margin-right:-.25rem!important}.mb-md--1,.my-md--1{margin-bottom:-.25rem!important}.ml-md--1,.mx-md--1{margin-left:-.25rem!important}.m-md-6{margin:4.5rem!important}.mt-md-6,.my-md-6{margin-top:4.5rem!important}.mr-md-6,.mx-md-6{margin-right:4.5rem!important}.mb-md-6,.my-md-6{margin-bottom:4.5rem!important}.ml-md-6,.mx-md-6{margin-left:4.5rem!important}.m-md-7{margin:6rem!important}.mt-md-7,.my-md-7{margin-top:6rem!important}.mr-md-7,.mx-md-7{margin-right:6rem!important}.mb-md-7,.my-md-7{margin-bottom:6rem!important}.ml-md-7,.mx-md-7{margin-left:6rem!important}.m-md-8{margin:8rem!important}.mt-md-8,.my-md-8{margin-top:8rem!important}.mr-md-8,.mx-md-8{margin-right:8rem!important}.mb-md-8,.my-md-8{margin-bottom:8rem!important}.ml-md-8,.mx-md-8{margin-left:8rem!important}.m-md-9{margin:10rem!important}.mt-md-9,.my-md-9{margin-top:10rem!important}.mr-md-9,.mx-md-9{margin-right:10rem!important}.mb-md-9,.my-md-9{margin-bottom:10rem!important}.ml-md-9,.mx-md-9{margin-left:10rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.p-md-6{padding:4.5rem!important}.pt-md-6,.py-md-6{padding-top:4.5rem!important}.pr-md-6,.px-md-6{padding-right:4.5rem!important}.pb-md-6,.py-md-6{padding-bottom:4.5rem!important}.pl-md-6,.px-md-6{padding-left:4.5rem!important}.p-md-7{padding:6rem!important}.pt-md-7,.py-md-7{padding-top:6rem!important}.pr-md-7,.px-md-7{padding-right:6rem!important}.pb-md-7,.py-md-7{padding-bottom:6rem!important}.pl-md-7,.px-md-7{padding-left:6rem!important}.p-md-8{padding:8rem!important}.pt-md-8,.py-md-8{padding-top:8rem!important}.pr-md-8,.px-md-8{padding-right:8rem!important}.pb-md-8,.py-md-8{padding-bottom:8rem!important}.pl-md-8,.px-md-8{padding-left:8rem!important}.p-md-9{padding:10rem!important}.pt-md-9,.py-md-9{padding-top:10rem!important}.pr-md-9,.px-md-9{padding-right:10rem!important}.pb-md-9,.py-md-9{padding-bottom:10rem!important}.pl-md-9,.px-md-9{padding-left:10rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-n-9{margin:10rem!important}.mt-md-n-9,.my-md-n-9{margin-top:10rem!important}.mr-md-n-9,.mx-md-n-9{margin-right:10rem!important}.mb-md-n-9,.my-md-n-9{margin-bottom:10rem!important}.ml-md-n-9,.mx-md-n-9{margin-left:10rem!important}.m-md-n-8{margin:8rem!important}.mt-md-n-8,.my-md-n-8{margin-top:8rem!important}.mr-md-n-8,.mx-md-n-8{margin-right:8rem!important}.mb-md-n-8,.my-md-n-8{margin-bottom:8rem!important}.ml-md-n-8,.mx-md-n-8{margin-left:8rem!important}.m-md-n-7{margin:6rem!important}.mt-md-n-7,.my-md-n-7{margin-top:6rem!important}.mr-md-n-7,.mx-md-n-7{margin-right:6rem!important}.mb-md-n-7,.my-md-n-7{margin-bottom:6rem!important}.ml-md-n-7,.mx-md-n-7{margin-left:6rem!important}.m-md-n-6{margin:4.5rem!important}.mt-md-n-6,.my-md-n-6{margin-top:4.5rem!important}.mr-md-n-6,.mx-md-n-6{margin-right:4.5rem!important}.mb-md-n-6,.my-md-n-6{margin-bottom:4.5rem!important}.ml-md-n-6,.mx-md-n-6{margin-left:4.5rem!important}.m-md-n-5{margin:3rem!important}.mt-md-n-5,.my-md-n-5{margin-top:3rem!important}.mr-md-n-5,.mx-md-n-5{margin-right:3rem!important}.mb-md-n-5,.my-md-n-5{margin-bottom:3rem!important}.ml-md-n-5,.mx-md-n-5{margin-left:3rem!important}.m-md-n-4{margin:1.5rem!important}.mt-md-n-4,.my-md-n-4{margin-top:1.5rem!important}.mr-md-n-4,.mx-md-n-4{margin-right:1.5rem!important}.mb-md-n-4,.my-md-n-4{margin-bottom:1.5rem!important}.ml-md-n-4,.mx-md-n-4{margin-left:1.5rem!important}.m-md-n-3{margin:1rem!important}.mt-md-n-3,.my-md-n-3{margin-top:1rem!important}.mr-md-n-3,.mx-md-n-3{margin-right:1rem!important}.mb-md-n-3,.my-md-n-3{margin-bottom:1rem!important}.ml-md-n-3,.mx-md-n-3{margin-left:1rem!important}.m-md-n-2{margin:.5rem!important}.mt-md-n-2,.my-md-n-2{margin-top:.5rem!important}.mr-md-n-2,.mx-md-n-2{margin-right:.5rem!important}.mb-md-n-2,.my-md-n-2{margin-bottom:.5rem!important}.ml-md-n-2,.mx-md-n-2{margin-left:.5rem!important}.m-md-n-1{margin:.25rem!important}.mt-md-n-1,.my-md-n-1{margin-top:.25rem!important}.mr-md-n-1,.mx-md-n-1{margin-right:.25rem!important}.mb-md-n-1,.my-md-n-1{margin-bottom:.25rem!important}.ml-md-n-1,.mx-md-n-1{margin-left:.25rem!important}.m-md-n6{margin:-4.5rem!important}.mt-md-n6,.my-md-n6{margin-top:-4.5rem!important}.mr-md-n6,.mx-md-n6{margin-right:-4.5rem!important}.mb-md-n6,.my-md-n6{margin-bottom:-4.5rem!important}.ml-md-n6,.mx-md-n6{margin-left:-4.5rem!important}.m-md-n7{margin:-6rem!important}.mt-md-n7,.my-md-n7{margin-top:-6rem!important}.mr-md-n7,.mx-md-n7{margin-right:-6rem!important}.mb-md-n7,.my-md-n7{margin-bottom:-6rem!important}.ml-md-n7,.mx-md-n7{margin-left:-6rem!important}.m-md-n8{margin:-8rem!important}.mt-md-n8,.my-md-n8{margin-top:-8rem!important}.mr-md-n8,.mx-md-n8{margin-right:-8rem!important}.mb-md-n8,.my-md-n8{margin-bottom:-8rem!important}.ml-md-n8,.mx-md-n8{margin-left:-8rem!important}.m-md-n9{margin:-10rem!important}.mt-md-n9,.my-md-n9{margin-top:-10rem!important}.mr-md-n9,.mx-md-n9{margin-right:-10rem!important}.mb-md-n9,.my-md-n9{margin-bottom:-10rem!important}.ml-md-n9,.mx-md-n9{margin-left:-10rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.m-lg--9{margin:-10rem!important}.mt-lg--9,.my-lg--9{margin-top:-10rem!important}.mr-lg--9,.mx-lg--9{margin-right:-10rem!important}.mb-lg--9,.my-lg--9{margin-bottom:-10rem!important}.ml-lg--9,.mx-lg--9{margin-left:-10rem!important}.m-lg--8{margin:-8rem!important}.mt-lg--8,.my-lg--8{margin-top:-8rem!important}.mr-lg--8,.mx-lg--8{margin-right:-8rem!important}.mb-lg--8,.my-lg--8{margin-bottom:-8rem!important}.ml-lg--8,.mx-lg--8{margin-left:-8rem!important}.m-lg--7{margin:-6rem!important}.mt-lg--7,.my-lg--7{margin-top:-6rem!important}.mr-lg--7,.mx-lg--7{margin-right:-6rem!important}.mb-lg--7,.my-lg--7{margin-bottom:-6rem!important}.ml-lg--7,.mx-lg--7{margin-left:-6rem!important}.m-lg--6{margin:-4.5rem!important}.mt-lg--6,.my-lg--6{margin-top:-4.5rem!important}.mr-lg--6,.mx-lg--6{margin-right:-4.5rem!important}.mb-lg--6,.my-lg--6{margin-bottom:-4.5rem!important}.ml-lg--6,.mx-lg--6{margin-left:-4.5rem!important}.m-lg--5{margin:-3rem!important}.mt-lg--5,.my-lg--5{margin-top:-3rem!important}.mr-lg--5,.mx-lg--5{margin-right:-3rem!important}.mb-lg--5,.my-lg--5{margin-bottom:-3rem!important}.ml-lg--5,.mx-lg--5{margin-left:-3rem!important}.m-lg--4{margin:-1.5rem!important}.mt-lg--4,.my-lg--4{margin-top:-1.5rem!important}.mr-lg--4,.mx-lg--4{margin-right:-1.5rem!important}.mb-lg--4,.my-lg--4{margin-bottom:-1.5rem!important}.ml-lg--4,.mx-lg--4{margin-left:-1.5rem!important}.m-lg--3{margin:-1rem!important}.mt-lg--3,.my-lg--3{margin-top:-1rem!important}.mr-lg--3,.mx-lg--3{margin-right:-1rem!important}.mb-lg--3,.my-lg--3{margin-bottom:-1rem!important}.ml-lg--3,.mx-lg--3{margin-left:-1rem!important}.m-lg--2{margin:-.5rem!important}.mt-lg--2,.my-lg--2{margin-top:-.5rem!important}.mr-lg--2,.mx-lg--2{margin-right:-.5rem!important}.mb-lg--2,.my-lg--2{margin-bottom:-.5rem!important}.ml-lg--2,.mx-lg--2{margin-left:-.5rem!important}.m-lg--1{margin:-.25rem!important}.mt-lg--1,.my-lg--1{margin-top:-.25rem!important}.mr-lg--1,.mx-lg--1{margin-right:-.25rem!important}.mb-lg--1,.my-lg--1{margin-bottom:-.25rem!important}.ml-lg--1,.mx-lg--1{margin-left:-.25rem!important}.m-lg-6{margin:4.5rem!important}.mt-lg-6,.my-lg-6{margin-top:4.5rem!important}.mr-lg-6,.mx-lg-6{margin-right:4.5rem!important}.mb-lg-6,.my-lg-6{margin-bottom:4.5rem!important}.ml-lg-6,.mx-lg-6{margin-left:4.5rem!important}.m-lg-7{margin:6rem!important}.mt-lg-7,.my-lg-7{margin-top:6rem!important}.mr-lg-7,.mx-lg-7{margin-right:6rem!important}.mb-lg-7,.my-lg-7{margin-bottom:6rem!important}.ml-lg-7,.mx-lg-7{margin-left:6rem!important}.m-lg-8{margin:8rem!important}.mt-lg-8,.my-lg-8{margin-top:8rem!important}.mr-lg-8,.mx-lg-8{margin-right:8rem!important}.mb-lg-8,.my-lg-8{margin-bottom:8rem!important}.ml-lg-8,.mx-lg-8{margin-left:8rem!important}.m-lg-9{margin:10rem!important}.mt-lg-9,.my-lg-9{margin-top:10rem!important}.mr-lg-9,.mx-lg-9{margin-right:10rem!important}.mb-lg-9,.my-lg-9{margin-bottom:10rem!important}.ml-lg-9,.mx-lg-9{margin-left:10rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.p-lg-6{padding:4.5rem!important}.pt-lg-6,.py-lg-6{padding-top:4.5rem!important}.pr-lg-6,.px-lg-6{padding-right:4.5rem!important}.pb-lg-6,.py-lg-6{padding-bottom:4.5rem!important}.pl-lg-6,.px-lg-6{padding-left:4.5rem!important}.p-lg-7{padding:6rem!important}.pt-lg-7,.py-lg-7{padding-top:6rem!important}.pr-lg-7,.px-lg-7{padding-right:6rem!important}.pb-lg-7,.py-lg-7{padding-bottom:6rem!important}.pl-lg-7,.px-lg-7{padding-left:6rem!important}.p-lg-8{padding:8rem!important}.pt-lg-8,.py-lg-8{padding-top:8rem!important}.pr-lg-8,.px-lg-8{padding-right:8rem!important}.pb-lg-8,.py-lg-8{padding-bottom:8rem!important}.pl-lg-8,.px-lg-8{padding-left:8rem!important}.p-lg-9{padding:10rem!important}.pt-lg-9,.py-lg-9{padding-top:10rem!important}.pr-lg-9,.px-lg-9{padding-right:10rem!important}.pb-lg-9,.py-lg-9{padding-bottom:10rem!important}.pl-lg-9,.px-lg-9{padding-left:10rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-n-9{margin:10rem!important}.mt-lg-n-9,.my-lg-n-9{margin-top:10rem!important}.mr-lg-n-9,.mx-lg-n-9{margin-right:10rem!important}.mb-lg-n-9,.my-lg-n-9{margin-bottom:10rem!important}.ml-lg-n-9,.mx-lg-n-9{margin-left:10rem!important}.m-lg-n-8{margin:8rem!important}.mt-lg-n-8,.my-lg-n-8{margin-top:8rem!important}.mr-lg-n-8,.mx-lg-n-8{margin-right:8rem!important}.mb-lg-n-8,.my-lg-n-8{margin-bottom:8rem!important}.ml-lg-n-8,.mx-lg-n-8{margin-left:8rem!important}.m-lg-n-7{margin:6rem!important}.mt-lg-n-7,.my-lg-n-7{margin-top:6rem!important}.mr-lg-n-7,.mx-lg-n-7{margin-right:6rem!important}.mb-lg-n-7,.my-lg-n-7{margin-bottom:6rem!important}.ml-lg-n-7,.mx-lg-n-7{margin-left:6rem!important}.m-lg-n-6{margin:4.5rem!important}.mt-lg-n-6,.my-lg-n-6{margin-top:4.5rem!important}.mr-lg-n-6,.mx-lg-n-6{margin-right:4.5rem!important}.mb-lg-n-6,.my-lg-n-6{margin-bottom:4.5rem!important}.ml-lg-n-6,.mx-lg-n-6{margin-left:4.5rem!important}.m-lg-n-5{margin:3rem!important}.mt-lg-n-5,.my-lg-n-5{margin-top:3rem!important}.mr-lg-n-5,.mx-lg-n-5{margin-right:3rem!important}.mb-lg-n-5,.my-lg-n-5{margin-bottom:3rem!important}.ml-lg-n-5,.mx-lg-n-5{margin-left:3rem!important}.m-lg-n-4{margin:1.5rem!important}.mt-lg-n-4,.my-lg-n-4{margin-top:1.5rem!important}.mr-lg-n-4,.mx-lg-n-4{margin-right:1.5rem!important}.mb-lg-n-4,.my-lg-n-4{margin-bottom:1.5rem!important}.ml-lg-n-4,.mx-lg-n-4{margin-left:1.5rem!important}.m-lg-n-3{margin:1rem!important}.mt-lg-n-3,.my-lg-n-3{margin-top:1rem!important}.mr-lg-n-3,.mx-lg-n-3{margin-right:1rem!important}.mb-lg-n-3,.my-lg-n-3{margin-bottom:1rem!important}.ml-lg-n-3,.mx-lg-n-3{margin-left:1rem!important}.m-lg-n-2{margin:.5rem!important}.mt-lg-n-2,.my-lg-n-2{margin-top:.5rem!important}.mr-lg-n-2,.mx-lg-n-2{margin-right:.5rem!important}.mb-lg-n-2,.my-lg-n-2{margin-bottom:.5rem!important}.ml-lg-n-2,.mx-lg-n-2{margin-left:.5rem!important}.m-lg-n-1{margin:.25rem!important}.mt-lg-n-1,.my-lg-n-1{margin-top:.25rem!important}.mr-lg-n-1,.mx-lg-n-1{margin-right:.25rem!important}.mb-lg-n-1,.my-lg-n-1{margin-bottom:.25rem!important}.ml-lg-n-1,.mx-lg-n-1{margin-left:.25rem!important}.m-lg-n6{margin:-4.5rem!important}.mt-lg-n6,.my-lg-n6{margin-top:-4.5rem!important}.mr-lg-n6,.mx-lg-n6{margin-right:-4.5rem!important}.mb-lg-n6,.my-lg-n6{margin-bottom:-4.5rem!important}.ml-lg-n6,.mx-lg-n6{margin-left:-4.5rem!important}.m-lg-n7{margin:-6rem!important}.mt-lg-n7,.my-lg-n7{margin-top:-6rem!important}.mr-lg-n7,.mx-lg-n7{margin-right:-6rem!important}.mb-lg-n7,.my-lg-n7{margin-bottom:-6rem!important}.ml-lg-n7,.mx-lg-n7{margin-left:-6rem!important}.m-lg-n8{margin:-8rem!important}.mt-lg-n8,.my-lg-n8{margin-top:-8rem!important}.mr-lg-n8,.mx-lg-n8{margin-right:-8rem!important}.mb-lg-n8,.my-lg-n8{margin-bottom:-8rem!important}.ml-lg-n8,.mx-lg-n8{margin-left:-8rem!important}.m-lg-n9{margin:-10rem!important}.mt-lg-n9,.my-lg-n9{margin-top:-10rem!important}.mr-lg-n9,.mx-lg-n9{margin-right:-10rem!important}.mb-lg-n9,.my-lg-n9{margin-bottom:-10rem!important}.ml-lg-n9,.mx-lg-n9{margin-left:-10rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.m-xl--9{margin:-10rem!important}.mt-xl--9,.my-xl--9{margin-top:-10rem!important}.mr-xl--9,.mx-xl--9{margin-right:-10rem!important}.mb-xl--9,.my-xl--9{margin-bottom:-10rem!important}.ml-xl--9,.mx-xl--9{margin-left:-10rem!important}.m-xl--8{margin:-8rem!important}.mt-xl--8,.my-xl--8{margin-top:-8rem!important}.mr-xl--8,.mx-xl--8{margin-right:-8rem!important}.mb-xl--8,.my-xl--8{margin-bottom:-8rem!important}.ml-xl--8,.mx-xl--8{margin-left:-8rem!important}.m-xl--7{margin:-6rem!important}.mt-xl--7,.my-xl--7{margin-top:-6rem!important}.mr-xl--7,.mx-xl--7{margin-right:-6rem!important}.mb-xl--7,.my-xl--7{margin-bottom:-6rem!important}.ml-xl--7,.mx-xl--7{margin-left:-6rem!important}.m-xl--6{margin:-4.5rem!important}.mt-xl--6,.my-xl--6{margin-top:-4.5rem!important}.mr-xl--6,.mx-xl--6{margin-right:-4.5rem!important}.mb-xl--6,.my-xl--6{margin-bottom:-4.5rem!important}.ml-xl--6,.mx-xl--6{margin-left:-4.5rem!important}.m-xl--5{margin:-3rem!important}.mt-xl--5,.my-xl--5{margin-top:-3rem!important}.mr-xl--5,.mx-xl--5{margin-right:-3rem!important}.mb-xl--5,.my-xl--5{margin-bottom:-3rem!important}.ml-xl--5,.mx-xl--5{margin-left:-3rem!important}.m-xl--4{margin:-1.5rem!important}.mt-xl--4,.my-xl--4{margin-top:-1.5rem!important}.mr-xl--4,.mx-xl--4{margin-right:-1.5rem!important}.mb-xl--4,.my-xl--4{margin-bottom:-1.5rem!important}.ml-xl--4,.mx-xl--4{margin-left:-1.5rem!important}.m-xl--3{margin:-1rem!important}.mt-xl--3,.my-xl--3{margin-top:-1rem!important}.mr-xl--3,.mx-xl--3{margin-right:-1rem!important}.mb-xl--3,.my-xl--3{margin-bottom:-1rem!important}.ml-xl--3,.mx-xl--3{margin-left:-1rem!important}.m-xl--2{margin:-.5rem!important}.mt-xl--2,.my-xl--2{margin-top:-.5rem!important}.mr-xl--2,.mx-xl--2{margin-right:-.5rem!important}.mb-xl--2,.my-xl--2{margin-bottom:-.5rem!important}.ml-xl--2,.mx-xl--2{margin-left:-.5rem!important}.m-xl--1{margin:-.25rem!important}.mt-xl--1,.my-xl--1{margin-top:-.25rem!important}.mr-xl--1,.mx-xl--1{margin-right:-.25rem!important}.mb-xl--1,.my-xl--1{margin-bottom:-.25rem!important}.ml-xl--1,.mx-xl--1{margin-left:-.25rem!important}.m-xl-6{margin:4.5rem!important}.mt-xl-6,.my-xl-6{margin-top:4.5rem!important}.mr-xl-6,.mx-xl-6{margin-right:4.5rem!important}.mb-xl-6,.my-xl-6{margin-bottom:4.5rem!important}.ml-xl-6,.mx-xl-6{margin-left:4.5rem!important}.m-xl-7{margin:6rem!important}.mt-xl-7,.my-xl-7{margin-top:6rem!important}.mr-xl-7,.mx-xl-7{margin-right:6rem!important}.mb-xl-7,.my-xl-7{margin-bottom:6rem!important}.ml-xl-7,.mx-xl-7{margin-left:6rem!important}.m-xl-8{margin:8rem!important}.mt-xl-8,.my-xl-8{margin-top:8rem!important}.mr-xl-8,.mx-xl-8{margin-right:8rem!important}.mb-xl-8,.my-xl-8{margin-bottom:8rem!important}.ml-xl-8,.mx-xl-8{margin-left:8rem!important}.m-xl-9{margin:10rem!important}.mt-xl-9,.my-xl-9{margin-top:10rem!important}.mr-xl-9,.mx-xl-9{margin-right:10rem!important}.mb-xl-9,.my-xl-9{margin-bottom:10rem!important}.ml-xl-9,.mx-xl-9{margin-left:10rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.p-xl-6{padding:4.5rem!important}.pt-xl-6,.py-xl-6{padding-top:4.5rem!important}.pr-xl-6,.px-xl-6{padding-right:4.5rem!important}.pb-xl-6,.py-xl-6{padding-bottom:4.5rem!important}.pl-xl-6,.px-xl-6{padding-left:4.5rem!important}.p-xl-7{padding:6rem!important}.pt-xl-7,.py-xl-7{padding-top:6rem!important}.pr-xl-7,.px-xl-7{padding-right:6rem!important}.pb-xl-7,.py-xl-7{padding-bottom:6rem!important}.pl-xl-7,.px-xl-7{padding-left:6rem!important}.p-xl-8{padding:8rem!important}.pt-xl-8,.py-xl-8{padding-top:8rem!important}.pr-xl-8,.px-xl-8{padding-right:8rem!important}.pb-xl-8,.py-xl-8{padding-bottom:8rem!important}.pl-xl-8,.px-xl-8{padding-left:8rem!important}.p-xl-9{padding:10rem!important}.pt-xl-9,.py-xl-9{padding-top:10rem!important}.pr-xl-9,.px-xl-9{padding-right:10rem!important}.pb-xl-9,.py-xl-9{padding-bottom:10rem!important}.pl-xl-9,.px-xl-9{padding-left:10rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-n-9{margin:10rem!important}.mt-xl-n-9,.my-xl-n-9{margin-top:10rem!important}.mr-xl-n-9,.mx-xl-n-9{margin-right:10rem!important}.mb-xl-n-9,.my-xl-n-9{margin-bottom:10rem!important}.ml-xl-n-9,.mx-xl-n-9{margin-left:10rem!important}.m-xl-n-8{margin:8rem!important}.mt-xl-n-8,.my-xl-n-8{margin-top:8rem!important}.mr-xl-n-8,.mx-xl-n-8{margin-right:8rem!important}.mb-xl-n-8,.my-xl-n-8{margin-bottom:8rem!important}.ml-xl-n-8,.mx-xl-n-8{margin-left:8rem!important}.m-xl-n-7{margin:6rem!important}.mt-xl-n-7,.my-xl-n-7{margin-top:6rem!important}.mr-xl-n-7,.mx-xl-n-7{margin-right:6rem!important}.mb-xl-n-7,.my-xl-n-7{margin-bottom:6rem!important}.ml-xl-n-7,.mx-xl-n-7{margin-left:6rem!important}.m-xl-n-6{margin:4.5rem!important}.mt-xl-n-6,.my-xl-n-6{margin-top:4.5rem!important}.mr-xl-n-6,.mx-xl-n-6{margin-right:4.5rem!important}.mb-xl-n-6,.my-xl-n-6{margin-bottom:4.5rem!important}.ml-xl-n-6,.mx-xl-n-6{margin-left:4.5rem!important}.m-xl-n-5{margin:3rem!important}.mt-xl-n-5,.my-xl-n-5{margin-top:3rem!important}.mr-xl-n-5,.mx-xl-n-5{margin-right:3rem!important}.mb-xl-n-5,.my-xl-n-5{margin-bottom:3rem!important}.ml-xl-n-5,.mx-xl-n-5{margin-left:3rem!important}.m-xl-n-4{margin:1.5rem!important}.mt-xl-n-4,.my-xl-n-4{margin-top:1.5rem!important}.mr-xl-n-4,.mx-xl-n-4{margin-right:1.5rem!important}.mb-xl-n-4,.my-xl-n-4{margin-bottom:1.5rem!important}.ml-xl-n-4,.mx-xl-n-4{margin-left:1.5rem!important}.m-xl-n-3{margin:1rem!important}.mt-xl-n-3,.my-xl-n-3{margin-top:1rem!important}.mr-xl-n-3,.mx-xl-n-3{margin-right:1rem!important}.mb-xl-n-3,.my-xl-n-3{margin-bottom:1rem!important}.ml-xl-n-3,.mx-xl-n-3{margin-left:1rem!important}.m-xl-n-2{margin:.5rem!important}.mt-xl-n-2,.my-xl-n-2{margin-top:.5rem!important}.mr-xl-n-2,.mx-xl-n-2{margin-right:.5rem!important}.mb-xl-n-2,.my-xl-n-2{margin-bottom:.5rem!important}.ml-xl-n-2,.mx-xl-n-2{margin-left:.5rem!important}.m-xl-n-1{margin:.25rem!important}.mt-xl-n-1,.my-xl-n-1{margin-top:.25rem!important}.mr-xl-n-1,.mx-xl-n-1{margin-right:.25rem!important}.mb-xl-n-1,.my-xl-n-1{margin-bottom:.25rem!important}.ml-xl-n-1,.mx-xl-n-1{margin-left:.25rem!important}.m-xl-n6{margin:-4.5rem!important}.mt-xl-n6,.my-xl-n6{margin-top:-4.5rem!important}.mr-xl-n6,.mx-xl-n6{margin-right:-4.5rem!important}.mb-xl-n6,.my-xl-n6{margin-bottom:-4.5rem!important}.ml-xl-n6,.mx-xl-n6{margin-left:-4.5rem!important}.m-xl-n7{margin:-6rem!important}.mt-xl-n7,.my-xl-n7{margin-top:-6rem!important}.mr-xl-n7,.mx-xl-n7{margin-right:-6rem!important}.mb-xl-n7,.my-xl-n7{margin-bottom:-6rem!important}.ml-xl-n7,.mx-xl-n7{margin-left:-6rem!important}.m-xl-n8{margin:-8rem!important}.mt-xl-n8,.my-xl-n8{margin-top:-8rem!important}.mr-xl-n8,.mx-xl-n8{margin-right:-8rem!important}.mb-xl-n8,.my-xl-n8{margin-bottom:-8rem!important}.ml-xl-n8,.mx-xl-n8{margin-left:-8rem!important}.m-xl-n9{margin:-10rem!important}.mt-xl-n9,.my-xl-n9{margin-top:-10rem!important}.mr-xl-n9,.mx-xl-n9{margin-right:-10rem!important}.mb-xl-n9,.my-xl-n9{margin-bottom:-10rem!important}.ml-xl-n9,.mx-xl-n9{margin-left:-10rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:600!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#5e72e4!important}a.text-primary:focus,a.text-primary:hover{color:#233dd2!important}.text-secondary{color:#f7fafc!important}a.text-secondary:focus,a.text-secondary:hover{color:#bfd7e7!important}.text-success{color:#2dce89!important}a.text-success:focus,a.text-success:hover{color:#1f8f5f!important}.text-info{color:#11cdef!important}a.text-info:focus,a.text-info:hover{color:#0b90a8!important}.text-warning{color:#fb6340!important}a.text-warning:focus,a.text-warning:hover{color:#ea3005!important}.text-danger{color:#f5365c!important}a.text-danger:focus,a.text-danger:hover{color:#d40b33!important}.text-light{color:#adb5bd!important}a.text-light:focus,a.text-light:hover{color:#838f9b!important}.text-dark{color:#212529!important}a.text-dark:focus,a.text-dark:hover{color:#000!important}.text-default{color:#172b4d!important}a.text-default:focus,a.text-default:hover{color:#050a12!important}.text-white{color:#fff!important}a.text-white:focus,a.text-white:hover{color:#d9d9d9!important}.text-neutral{color:#fff!important}a.text-neutral:focus,a.text-neutral:hover{color:#d9d9d9!important}.text-darker{color:#000!important}a.text-darker:focus,a.text-darker:hover{color:#000!important}.text-body{color:#525f7f!important}.text-muted{color:#8898aa!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;border:0;background-color:transparent;text-shadow:none}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{box-shadow:none!important;text-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:' (' attr(title) ')'}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#e9ecef}.table .thead-dark th{color:inherit;border-color:#e9ecef}}.alert{font-size:.875rem}.alert-heading{font-size:.9375rem;font-weight:600;margin-top:.15rem}.alert-icon{font-size:1.25rem;display:inline-block;margin-right:1.25rem;vertical-align:middle}.alert-icon i.ni{position:relative;top:2px}.alert-text{display:inline-block;vertical-align:middle}[class*=alert-] .alert-link{color:#fff;border-bottom:1px dotted rgba(255,255,255,.5)}.alert-dismissible .close{top:50%;right:1.5rem;padding:0;transform:translateY(-50%);opacity:1}@media (max-width:575.98px){.alert-dismissible .close{top:1rem;right:.5rem}}.alert-dismissible .close>span:not(.sr-only){font-size:1.5rem;color:rgba(255,255,255,.6);background-color:transparent}.alert-dismissible .close:focus>span:not(.sr-only),.alert-dismissible .close:hover>span:not(.sr-only){color:#fff;background-color:transparent}.alert-secondary .close>span:not(.sr-only){color:rgba(23,43,77,.6)}.alert-secondary .close:focus>span:not(.sr-only),.alert-secondary .close:hover>span:not(.sr-only){color:#172b4d}.alert-notify{display:flex!important;width:calc(100% - 30px);max-width:600px;padding-right:80px;color:rgba(255,255,255,.85);box-shadow:0 3px 10px rgba(0,0,0,.15)}.alert-notify:hover{z-index:1081!important}.alert-notify:not(.alert-info):not(.alert-success):not(.alert-warning):not(.alert-danger){background-color:rgba(0,0,0,.95)}.alert-notify:not(.alert-info):not(.alert-success):not(.alert-warning):not(.alert-danger) .alert-notify-close{color:#ffd600}.alert-notify:not(.alert-info):not(.alert-success):not(.alert-warning):not(.alert-danger) .alert-notify-close:hover{opacity:.8}.alert-notify .alert-icon.ni{position:relative;top:4px}.alert-notify .alert-title{font-size:1rem;font-weight:600;display:block}.alert-notify .close{top:1rem!important;right:1.5rem!important;transform:translateY(0)}.avatar{font-size:1rem;display:inline-flex;width:48px;height:48px;color:#fff;border-radius:.375rem;background-color:#adb5bd;align-items:center;justify-content:center}.avatar img{width:100%;border-radius:.375rem}.avatar+.avatar-content{display:inline-block;margin-left:.75rem}.avatar-xl{width:74px;height:74px}.avatar-lg{font-size:.875rem;width:58px;height:58px}.avatar-sm{font-size:.875rem;width:36px;height:36px}.avatar-xs{font-size:.75rem;width:24px;height:24px}.avatar-group .avatar{position:relative;z-index:2;border:2px solid #fff}.avatar-group .avatar:hover{z-index:3}.avatar-group .avatar+.avatar{margin-left:-1rem}.badge{text-transform:uppercase}.badge a{color:#fff}.badge-md{padding:.65em 1em}.badge-lg{padding:.85em 1.375em}.badge-inline{margin-right:.625rem}.badge-inline+span{position:relative;top:2px}.badge-inline+span>a{text-decoration:underline}.badge-default{color:#fff}.badge-secondary{color:#212529;background-color:#f7fafc}.btn .badge:not(:first-child){margin-left:.5rem}.btn .badge:not(:last-child){margin-right:.5rem}.badge-circle{font-size:.75rem;font-weight:600;display:inline-flex;width:1.25rem;height:1.25rem;padding:0!important;text-align:center;border-radius:50%;align-items:center;justify-content:center}.badge-circle.badge-md{width:1.5rem;height:1.5rem}.badge-circle.badge-lg{width:2rem;height:2rem}.badge-dot{font-size:.875rem;font-weight:400;padding-right:0;padding-left:0;text-transform:none;background:0 0}.badge-dot strong{color:#32325d}.badge-dot i{display:inline-block;width:.375rem;height:.375rem;margin-right:.375rem;vertical-align:middle;border-radius:50%}.badge-dot.badge-md i{width:.5rem;height:.5rem}.badge-dot.badge-lg i{width:.625rem;height:.625rem}.btn .badge-floating{position:absolute;top:-50%;transform:translateY(50%);border:3px solid}.btn .badge-floating.badge:not(.badge-circle){transform:translate(147%,50%)}.breadcrumb-item{font-size:.875rem}.breadcrumb-dark{background-color:#172b4d}.breadcrumb-dark .breadcrumb-item{font-weight:600}.breadcrumb-dark .breadcrumb-item a{color:#f6f9fc}.breadcrumb-dark .breadcrumb-item a:hover{color:#fff}.breadcrumb-dark .breadcrumb-item+.breadcrumb-item::before{color:#adb5bd}.breadcrumb-dark .breadcrumb-item.active{color:#dee2e6}.breadcrumb-links{margin:0;padding:0;background:0 0}.btn{font-size:.875rem;position:relative;transition:all .15s ease;letter-spacing:.025em;text-transform:none;will-change:transform}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08)}.btn:not(:last-child){margin-right:.5rem}.btn i:not(:first-child),.btn svg:not(:first-child){margin-left:.5rem}.btn i:not(:last-child),.btn svg:not(:last-child){margin-right:.5rem}.btn-group .btn,.input-group .btn{margin-right:0;transform:translateY(0)}.btn-group-sm>.btn,.btn-sm{font-size:.75rem}.btn-group-lg>.btn,.btn-lg{font-size:.875rem}[class*=btn-outline-]{border-width:1px}.btn-outline-secondary{color:#4385b1}.btn-inner--icon i:not(.fas):not(.fab){position:relative;top:2px}.btn-link{font-weight:600;box-shadow:none}.btn-link:hover{transform:none;box-shadow:none}.btn-neutral{color:#5e72e4}.btn-facebook{color:#fff;border-color:#3b5999;background-color:#3b5999;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-facebook:hover{color:#fff;border-color:#3b5999;background-color:#3b5999}.btn-facebook.focus,.btn-facebook:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(59,89,153,.5)}.btn-facebook.disabled,.btn-facebook:disabled{color:#fff;border-color:#3b5999;background-color:#3b5999}.btn-facebook:not(:disabled):not(.disabled).active,.btn-facebook:not(:disabled):not(.disabled):active,.show>.btn-facebook.dropdown-toggle{color:#fff;border-color:#3b5999;background-color:#2d4474}.btn-facebook:not(:disabled):not(.disabled).active:focus,.btn-facebook:not(:disabled):not(.disabled):active:focus,.show>.btn-facebook.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(59,89,153,.5)}.btn-twitter{color:#fff;border-color:#1da1f2;background-color:#1da1f2;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-twitter:hover{color:#fff;border-color:#1da1f2;background-color:#1da1f2}.btn-twitter.focus,.btn-twitter:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(29,161,242,.5)}.btn-twitter.disabled,.btn-twitter:disabled{color:#fff;border-color:#1da1f2;background-color:#1da1f2}.btn-twitter:not(:disabled):not(.disabled).active,.btn-twitter:not(:disabled):not(.disabled):active,.show>.btn-twitter.dropdown-toggle{color:#fff;border-color:#1da1f2;background-color:#0c85d0}.btn-twitter:not(:disabled):not(.disabled).active:focus,.btn-twitter:not(:disabled):not(.disabled):active:focus,.show>.btn-twitter.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(29,161,242,.5)}.btn-google-plus{color:#fff;border-color:#dd4b39;background-color:#dd4b39;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-google-plus:hover{color:#fff;border-color:#dd4b39;background-color:#dd4b39}.btn-google-plus.focus,.btn-google-plus:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(221,75,57,.5)}.btn-google-plus.disabled,.btn-google-plus:disabled{color:#fff;border-color:#dd4b39;background-color:#dd4b39}.btn-google-plus:not(:disabled):not(.disabled).active,.btn-google-plus:not(:disabled):not(.disabled):active,.show>.btn-google-plus.dropdown-toggle{color:#fff;border-color:#dd4b39;background-color:#c23321}.btn-google-plus:not(:disabled):not(.disabled).active:focus,.btn-google-plus:not(:disabled):not(.disabled):active:focus,.show>.btn-google-plus.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(221,75,57,.5)}.btn-instagram{color:#fff;border-color:#e4405f;background-color:#e4405f;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-instagram:hover{color:#fff;border-color:#e4405f;background-color:#e4405f}.btn-instagram.focus,.btn-instagram:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(228,64,95,.5)}.btn-instagram.disabled,.btn-instagram:disabled{color:#fff;border-color:#e4405f;background-color:#e4405f}.btn-instagram:not(:disabled):not(.disabled).active,.btn-instagram:not(:disabled):not(.disabled):active,.show>.btn-instagram.dropdown-toggle{color:#fff;border-color:#e4405f;background-color:#d31e40}.btn-instagram:not(:disabled):not(.disabled).active:focus,.btn-instagram:not(:disabled):not(.disabled):active:focus,.show>.btn-instagram.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(228,64,95,.5)}.btn-pinterest{color:#fff;border-color:#bd081c;background-color:#bd081c;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-pinterest:hover{color:#fff;border-color:#bd081c;background-color:#bd081c}.btn-pinterest.focus,.btn-pinterest:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(189,8,28,.5)}.btn-pinterest.disabled,.btn-pinterest:disabled{color:#fff;border-color:#bd081c;background-color:#bd081c}.btn-pinterest:not(:disabled):not(.disabled).active,.btn-pinterest:not(:disabled):not(.disabled):active,.show>.btn-pinterest.dropdown-toggle{color:#fff;border-color:#bd081c;background-color:#8c0615}.btn-pinterest:not(:disabled):not(.disabled).active:focus,.btn-pinterest:not(:disabled):not(.disabled):active:focus,.show>.btn-pinterest.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(189,8,28,.5)}.btn-youtube{color:#fff;border-color:#cd201f;background-color:#cd201f;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-youtube:hover{color:#fff;border-color:#cd201f;background-color:#cd201f}.btn-youtube.focus,.btn-youtube:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(205,32,31,.5)}.btn-youtube.disabled,.btn-youtube:disabled{color:#fff;border-color:#cd201f;background-color:#cd201f}.btn-youtube:not(:disabled):not(.disabled).active,.btn-youtube:not(:disabled):not(.disabled):active,.show>.btn-youtube.dropdown-toggle{color:#fff;border-color:#cd201f;background-color:#a11918}.btn-youtube:not(:disabled):not(.disabled).active:focus,.btn-youtube:not(:disabled):not(.disabled):active:focus,.show>.btn-youtube.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(205,32,31,.5)}.btn-slack{color:#fff;border-color:#3aaf85;background-color:#3aaf85;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-slack:hover{color:#fff;border-color:#3aaf85;background-color:#3aaf85}.btn-slack.focus,.btn-slack:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(58,175,133,.5)}.btn-slack.disabled,.btn-slack:disabled{color:#fff;border-color:#3aaf85;background-color:#3aaf85}.btn-slack:not(:disabled):not(.disabled).active,.btn-slack:not(:disabled):not(.disabled):active,.show>.btn-slack.dropdown-toggle{color:#fff;border-color:#3aaf85;background-color:#2d8968}.btn-slack:not(:disabled):not(.disabled).active:focus,.btn-slack:not(:disabled):not(.disabled):active:focus,.show>.btn-slack.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(58,175,133,.5)}.btn-dribbble{color:#fff;border-color:#ea4c89;background-color:#ea4c89;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-dribbble:hover{color:#fff;border-color:#ea4c89;background-color:#ea4c89}.btn-dribbble.focus,.btn-dribbble:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(234,76,137,.5)}.btn-dribbble.disabled,.btn-dribbble:disabled{color:#fff;border-color:#ea4c89;background-color:#ea4c89}.btn-dribbble:not(:disabled):not(.disabled).active,.btn-dribbble:not(:disabled):not(.disabled):active,.show>.btn-dribbble.dropdown-toggle{color:#fff;border-color:#ea4c89;background-color:#e51e6b}.btn-dribbble:not(:disabled):not(.disabled).active:focus,.btn-dribbble:not(:disabled):not(.disabled):active:focus,.show>.btn-dribbble.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(234,76,137,.5)}.btn-github{color:#fff;border-color:#222;background-color:#222;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-github:hover{color:#fff;border-color:#222;background-color:#222}.btn-github.focus,.btn-github:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(34,34,34,.5)}.btn-github.disabled,.btn-github:disabled{color:#fff;border-color:#222;background-color:#222}.btn-github:not(:disabled):not(.disabled).active,.btn-github:not(:disabled):not(.disabled):active,.show>.btn-github.dropdown-toggle{color:#fff;border-color:#222;background-color:#090909}.btn-github:not(:disabled):not(.disabled).active:focus,.btn-github:not(:disabled):not(.disabled):active:focus,.show>.btn-github.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(34,34,34,.5)}.btn-vimeo{color:#fff;border-color:#04a0f0;background-color:#04a0f0;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.btn-vimeo:hover{color:#fff;border-color:#04a0f0;background-color:#04a0f0}.btn-vimeo.focus,.btn-vimeo:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(4,160,240,.5)}.btn-vimeo.disabled,.btn-vimeo:disabled{color:#fff;border-color:#04a0f0;background-color:#04a0f0}.btn-vimeo:not(:disabled):not(.disabled).active,.btn-vimeo:not(:disabled):not(.disabled):active,.show>.btn-vimeo.dropdown-toggle{color:#fff;border-color:#04a0f0;background-color:#037fbe}.btn-vimeo:not(:disabled):not(.disabled).active:focus,.btn-vimeo:not(:disabled):not(.disabled):active:focus,.show>.btn-vimeo.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(4,160,240,.5)}.btn-group .btn{box-shadow:none}[data-toggle=buttons]:not(.btn-group-colors)>.btn{margin:0;cursor:pointer;border:0;background-color:#f6f9fc;box-shadow:none}[data-toggle=buttons]:not(.btn-group-colors)>.btn:not(.active){color:#525f7f}[data-toggle=buttons]:not(.btn-group-colors)>.btn.active{color:#fff;background-color:#5e72e4}.btn-group-colors>.btn{position:relative;width:30px;height:30px;margin-right:.5rem;margin-bottom:.25rem;padding:0;border-radius:50%!important;box-shadow:none}.btn-group-colors>.btn:not([class*=bg-]){border-color:#f6f9fc!important}.btn-group-colors>.btn:before{font-family:NucleoIcons,sans-serif;font-size:14px;line-height:28px;position:absolute;top:0;left:0;width:100%;height:100%;content:'';transition:transform .2s,opacity .2s;transform:scale(0);opacity:0;color:#fff}@media (prefers-reduced-motion:reduce){.btn-group-colors>.btn:before{transition:none}}.btn-group-colors>.btn.btn:not([class*=bg-]){border:1px solid #cfd5db}.btn-group-colors>.btn.btn:not([class*=bg-]):before{color:#525f7f}.btn-group-colors>.btn.active:before{transform:scale(1);opacity:1}.btn-icon .btn-inner--icon img{width:20px}.btn-icon .btn-inner--text:not(:first-child){margin-left:.75em}.btn-icon .btn-inner--text:not(:last-child){margin-right:.75em}.btn-icon-only{width:2.375rem;height:2.375rem;padding:0}a.btn-icon-only{line-height:2.5}.btn-group-sm>.btn-icon-only.btn,.btn-icon-only.btn-sm{width:2rem;height:2rem}.btn-icon-clipboard{font-family:inherit;font-size:1rem;font-weight:400;line-height:1.25;display:inline-block;width:100%;margin:0;margin:.5rem 0;padding:1.5rem;cursor:pointer;text-align:left;vertical-align:middle;text-decoration:none;color:#32325d;border:0;border-radius:.375rem;background-color:#f6f9fc;-moz-appearance:none}.btn-icon-clipboard:hover{background-color:#fff;box-shadow:rgba(0,0,0,.1) 0 0 0 1px,rgba(0,0,0,.1) 0 4px 16px}.btn-icon-clipboard>div{display:flex;align-items:center}.btn-icon-clipboard i{font-size:1.5rem;box-sizing:content-box;vertical-align:middle;color:#5e72e4}.btn-icon-clipboard span{font-size:.875rem;line-height:1.5;display:inline-block;overflow:hidden;margin-left:16px;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis}.card{margin-bottom:30px;border:0;box-shadow:0 0 2rem 0 rgba(136,152,170,.15)}.card-translucent{background-color:rgba(18,91,152,.08)}.card-deck .card{margin-bottom:30px}.card.shadow{border:0!important}@media (min-width:576px){.card-columns{column-count:1}}@media (min-width:768px){.card-columns{column-count:2}}@media (min-width:1200px){.card-columns{column-count:3;column-gap:1.25rem}}.card-lift--hover:hover{transition:all .15s ease;transform:translateY(-20px)}@media (prefers-reduced-motion:reduce){.card-lift--hover:hover{transition:none}}.card-blockquote{position:relative;padding:2rem}.card-blockquote .svg-bg{position:absolute;top:-94px;left:0;display:block;width:100%;height:95px}.card-serial-number{font-size:1.625rem;display:flex;justify-content:space-between}.card-serial-number>div:not(:last-child){display:flex;flex:1 1 auto}.card-serial-number>div:not(:last-child):after{position:relative;left:-2px;content:'-';text-align:center;flex:1 1 auto}@media (max-width:575.98px){.card-serial-number{font-size:1.0625rem}}.card-pricing .card-header{padding-top:1.25rem;padding-bottom:1.25rem}.card-pricing .list-unstyled li{padding:.5rem 0;color:#8898aa}.card-pricing.popular{z-index:1;border:3px solid #5e72e4!important}@media (min-width:768px){.card-pricing.zoom-in{z-index:1;transform:scale(1.1)}}.card-profile-image{position:relative}.card-profile-image img{position:absolute;left:50%;max-width:140px;transition:all .15s ease;transform:translate(-50%,-50%) scale(1);border:3px solid #fff;border-radius:.375rem}.card-profile-image img:hover{transform:translate(-50%,-50%) scale(1.03)}.card-profile-stats{padding:1rem 0}.card-profile-stats>div{margin-right:1rem;padding:.875rem;text-align:center}.card-profile-stats>div:last-child{margin-right:0}.card-profile-stats>div .heading{font-size:1.1rem;font-weight:700;display:block}.card-profile-stats>div .description{font-size:.875rem;color:#adb5bd}.card-profile-actions{padding:.875rem}.card-stats .card-body{padding:1rem 1.5rem}.card-stats .card-status-bullet{position:absolute;top:0;right:0;transform:translate(50%,-50%)}.chart{position:relative;height:350px}.chart-sm{height:230px}.chart-legend{font-size:.875rem;display:flex;margin-top:2.5rem;text-align:center;color:#8898aa;justify-content:center}.chart-legend-item{display:inline-flex;align-items:center}.chart-legend-item+.chart-legend-item{margin-left:1rem}.chart-legend-indicator{display:inline-block;width:.5rem;height:.5rem;margin-right:.375rem;border-radius:50%}#chart-tooltip{z-index:0}#chart-tooltip .arrow{top:100%;left:50%;transform:translateX(-50%) translateX(-.5rem)}.chart-info-overlay{position:absolute;z-index:1;top:0;left:5%;max-width:350px;padding:20px}.close{transition:all .15s ease}.close>span:not(.sr-only){font-size:1.25rem;line-height:17px;display:block;width:1.25rem;height:1.25rem;transition:all .15s ease;color:rgba(0,0,0,.6);border-radius:50%;background-color:transparent}.close:focus,.close:hover{color:rgba(0,0,0,.9);outline:0;background-color:transparent}.close:focus span:not(.sr-only),.close:hover span:not(.sr-only){background-color:transparent}.close-dark>span:not(.sr-only){color:rgba(255,255,255,.8)}.close-dark:focus>span:not(.sr-only),.close-dark:hover>span:not(.sr-only){color:#fff}.accordion .card-header{position:relative;cursor:pointer}.accordion .card-header:after{font:normal normal normal 14px/1 NucleoIcons;line-height:0;position:absolute;top:50%;right:1.5rem;content:'\ea0f';transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transform:translateY(-50%)}@media (prefers-reduced-motion:reduce){.accordion .card-header:after{transition:none}}.accordion .card-header[aria-expanded=false]:after{content:'\ea0f'}.accordion .card-header[aria-expanded=true]:after{transform:rotate(180deg)}.accordion .card-header[aria-expanded=true] .heading{color:#5e72e4}.main-content{position:relative}.main-content .navbar-top{padding-right:0!important;padding-left:0!important}@media (min-width:768px){.main-content .container-fluid{padding-right:30px!important;padding-left:30px!important}}.custom-checkbox .custom-control-input~.custom-control-label{font-size:.875rem;cursor:pointer}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{border-color:#5e72e4}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e')}.custom-checkbox .custom-control-input:disabled~.custom-control-label::before{border-color:#e9ecef}.custom-checkbox .custom-control-input:disabled:checked::before{border-color:rgba(94,114,228,.5)}.custom-control-label::before{top:.25rem;left:-1.75rem;transition:all .15s cubic-bezier(.68,-.55,.265,1.55);border:1px solid #dee2e6}@media (prefers-reduced-motion:reduce){.custom-control-label::before{transition:none}}.custom-control-label::after{top:.25rem;left:-1.75rem}.custom-control-label span{position:relative;top:2px}.custom-control-label{margin-bottom:0}.custom-control-alternative .custom-control-label::before{border:0;box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02)}.custom-control-alternative .custom-control-input:checked~.custom-control-label::before{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.custom-control-alternative .custom-control-input:active~.custom-control-label::before,.custom-control-alternative .custom-control-input:focus~.custom-control-label::before{box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02)}.custom-checkbox .custom-control-input~.custom-control-label{font-size:.875rem;height:1rem;cursor:pointer}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{border-color:#5e72e4}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e')}.custom-checkbox .custom-control-input:disabled~.custom-control-label::before{border-color:#e9ecef}.custom-checkbox .custom-control-input:disabled:checked::before{border-color:rgba(94,114,228,.5)}.custom-checkbox-primary .custom-control-input:checked~.custom-control-label::before{border-color:#5e72e4;background-color:#5e72e4}.custom-checkbox-primary .custom-control-input:checked~.custom-control-label::after{background-image:#5e72e4}.custom-checkbox-secondary .custom-control-input:checked~.custom-control-label::before{border-color:#f7fafc;background-color:#f7fafc}.custom-checkbox-secondary .custom-control-input:checked~.custom-control-label::after{background-image:#f7fafc}.custom-checkbox-success .custom-control-input:checked~.custom-control-label::before{border-color:#2dce89;background-color:#2dce89}.custom-checkbox-success .custom-control-input:checked~.custom-control-label::after{background-image:#2dce89}.custom-checkbox-info .custom-control-input:checked~.custom-control-label::before{border-color:#11cdef;background-color:#11cdef}.custom-checkbox-info .custom-control-input:checked~.custom-control-label::after{background-image:#11cdef}.custom-checkbox-warning .custom-control-input:checked~.custom-control-label::before{border-color:#fb6340;background-color:#fb6340}.custom-checkbox-warning .custom-control-input:checked~.custom-control-label::after{background-image:#fb6340}.custom-checkbox-danger .custom-control-input:checked~.custom-control-label::before{border-color:#f5365c;background-color:#f5365c}.custom-checkbox-danger .custom-control-input:checked~.custom-control-label::after{background-image:#f5365c}.custom-checkbox-light .custom-control-input:checked~.custom-control-label::before{border-color:#adb5bd;background-color:#adb5bd}.custom-checkbox-light .custom-control-input:checked~.custom-control-label::after{background-image:#adb5bd}.custom-checkbox-dark .custom-control-input:checked~.custom-control-label::before{border-color:#212529;background-color:#212529}.custom-checkbox-dark .custom-control-input:checked~.custom-control-label::after{background-image:#212529}.custom-checkbox-default .custom-control-input:checked~.custom-control-label::before{border-color:#172b4d;background-color:#172b4d}.custom-checkbox-default .custom-control-input:checked~.custom-control-label::after{background-image:#172b4d}.custom-checkbox-white .custom-control-input:checked~.custom-control-label::before{border-color:#fff;background-color:#fff}.custom-checkbox-white .custom-control-input:checked~.custom-control-label::after{background-image:#fff}.custom-checkbox-neutral .custom-control-input:checked~.custom-control-label::before{border-color:#fff;background-color:#fff}.custom-checkbox-neutral .custom-control-input:checked~.custom-control-label::after{background-image:#fff}.custom-checkbox-darker .custom-control-input:checked~.custom-control-label::before{border-color:#000;background-color:#000}.custom-checkbox-darker .custom-control-input:checked~.custom-control-label::after{background-image:#000}.custom-radio .custom-control-input~.custom-control-label{font-size:.875rem;height:1rem;cursor:pointer}.custom-radio .custom-control-input:checked~.custom-control-label::before{border-color:#5e72e4}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'%3e%3ccircle r=\'3\' fill=\'%23fff\'/%3e%3c/svg%3e')}.custom-radio .custom-control-input:disabled~.custom-control-label::before{border-color:#e9ecef}.custom-radio .custom-control-input:disabled:checked::before{border-color:rgba(94,114,228,.5)}.custom-toggle{position:relative;display:inherit;display:inline-block;width:52px;height:1.5rem;margin:0}.custom-toggle input{display:none}.custom-toggle input:checked+.custom-toggle-slider{border:1px solid #5e72e4}.custom-toggle input:checked+.custom-toggle-slider:before{transform:translateX(28px);background:#5e72e4}.custom-toggle input:disabled+.custom-toggle-slider{border:1px solid #e9ecef}.custom-toggle input:disabled:checked+.custom-toggle-slider{border:1px solid #e9ecef}.custom-toggle input:disabled:checked+.custom-toggle-slider:before{background-color:#8a98eb}.custom-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;border:1px solid #ced4da;border-radius:34px!important;background-color:transparent}.custom-toggle-slider:before{position:absolute;bottom:2px;left:2px;width:18px;height:18px;content:'';transition:all .15s cubic-bezier(.68,-.55,.265,1.55);border-radius:50%!important;background-color:#e9ecef}.custom-toggle-wrapper .custom-toggle+.custom-toggle{margin-left:1rem!important}.custom-toggle input:checked+.custom-toggle-slider:after{right:auto;left:0;content:attr(data-label-on);color:#5e72e4}.custom-toggle-slider:after{font-family:inherit;font-size:.75rem;font-weight:600;line-height:24px;position:absolute;top:0;right:0;display:block;overflow:hidden;min-width:1.66667rem;margin:0 .21667rem;content:attr(data-label-off);transition:all .15s ease;text-align:center;color:#ced4da}@media (prefers-reduced-motion:reduce){.custom-toggle-slider:after{transition:none}}.custom-toggle-primary input:checked+.custom-toggle-slider{border-color:#5e72e4}.custom-toggle-primary input:checked+.custom-toggle-slider:before{background:#5e72e4}.custom-toggle-primary input:checked+.custom-toggle-slider:after{color:#5e72e4}.custom-toggle-primary input:disabled:checked+.custom-toggle-slider{border-color:#5e72e4}.custom-toggle-primary input:disabled:checked+.custom-toggle-slider:before{background-color:#8a98eb}.custom-toggle-secondary input:checked+.custom-toggle-slider{border-color:#f7fafc}.custom-toggle-secondary input:checked+.custom-toggle-slider:before{background:#f7fafc}.custom-toggle-secondary input:checked+.custom-toggle-slider:after{color:#f7fafc}.custom-toggle-secondary input:disabled:checked+.custom-toggle-slider{border-color:#f7fafc}.custom-toggle-secondary input:disabled:checked+.custom-toggle-slider:before{background-color:#fff}.custom-toggle-success input:checked+.custom-toggle-slider{border-color:#2dce89}.custom-toggle-success input:checked+.custom-toggle-slider:before{background:#2dce89}.custom-toggle-success input:checked+.custom-toggle-slider:after{color:#2dce89}.custom-toggle-success input:disabled:checked+.custom-toggle-slider{border-color:#2dce89}.custom-toggle-success input:disabled:checked+.custom-toggle-slider:before{background-color:#54daa1}.custom-toggle-info input:checked+.custom-toggle-slider{border-color:#11cdef}.custom-toggle-info input:checked+.custom-toggle-slider:before{background:#11cdef}.custom-toggle-info input:checked+.custom-toggle-slider:after{color:#11cdef}.custom-toggle-info input:disabled:checked+.custom-toggle-slider{border-color:#11cdef}.custom-toggle-info input:disabled:checked+.custom-toggle-slider:before{background-color:#41d7f2}.custom-toggle-warning input:checked+.custom-toggle-slider{border-color:#fb6340}.custom-toggle-warning input:checked+.custom-toggle-slider:before{background:#fb6340}.custom-toggle-warning input:checked+.custom-toggle-slider:after{color:#fb6340}.custom-toggle-warning input:disabled:checked+.custom-toggle-slider{border-color:#fb6340}.custom-toggle-warning input:disabled:checked+.custom-toggle-slider:before{background-color:#fc8c72}.custom-toggle-danger input:checked+.custom-toggle-slider{border-color:#f5365c}.custom-toggle-danger input:checked+.custom-toggle-slider:before{background:#f5365c}.custom-toggle-danger input:checked+.custom-toggle-slider:after{color:#f5365c}.custom-toggle-danger input:disabled:checked+.custom-toggle-slider{border-color:#f5365c}.custom-toggle-danger input:disabled:checked+.custom-toggle-slider:before{background-color:#f76783}.custom-toggle-light input:checked+.custom-toggle-slider{border-color:#adb5bd}.custom-toggle-light input:checked+.custom-toggle-slider:before{background:#adb5bd}.custom-toggle-light input:checked+.custom-toggle-slider:after{color:#adb5bd}.custom-toggle-light input:disabled:checked+.custom-toggle-slider{border-color:#adb5bd}.custom-toggle-light input:disabled:checked+.custom-toggle-slider:before{background-color:#c9cfd4}.custom-toggle-dark input:checked+.custom-toggle-slider{border-color:#212529}.custom-toggle-dark input:checked+.custom-toggle-slider:before{background:#212529}.custom-toggle-dark input:checked+.custom-toggle-slider:after{color:#212529}.custom-toggle-dark input:disabled:checked+.custom-toggle-slider{border-color:#212529}.custom-toggle-dark input:disabled:checked+.custom-toggle-slider:before{background-color:#383f45}.custom-toggle-default input:checked+.custom-toggle-slider{border-color:#172b4d}.custom-toggle-default input:checked+.custom-toggle-slider:before{background:#172b4d}.custom-toggle-default input:checked+.custom-toggle-slider:after{color:#172b4d}.custom-toggle-default input:disabled:checked+.custom-toggle-slider{border-color:#172b4d}.custom-toggle-default input:disabled:checked+.custom-toggle-slider:before{background-color:#234174}.custom-toggle-white input:checked+.custom-toggle-slider{border-color:#fff}.custom-toggle-white input:checked+.custom-toggle-slider:before{background:#fff}.custom-toggle-white input:checked+.custom-toggle-slider:after{color:#fff}.custom-toggle-white input:disabled:checked+.custom-toggle-slider{border-color:#fff}.custom-toggle-white input:disabled:checked+.custom-toggle-slider:before{background-color:#fff}.custom-toggle-neutral input:checked+.custom-toggle-slider{border-color:#fff}.custom-toggle-neutral input:checked+.custom-toggle-slider:before{background:#fff}.custom-toggle-neutral input:checked+.custom-toggle-slider:after{color:#fff}.custom-toggle-neutral input:disabled:checked+.custom-toggle-slider{border-color:#fff}.custom-toggle-neutral input:disabled:checked+.custom-toggle-slider:before{background-color:#fff}.custom-toggle-darker input:checked+.custom-toggle-slider{border-color:#000}.custom-toggle-darker input:checked+.custom-toggle-slider:before{background:#000}.custom-toggle-darker input:checked+.custom-toggle-slider:after{color:#000}.custom-toggle-darker input:disabled:checked+.custom-toggle-slider{border-color:#000}.custom-toggle-darker input:disabled:checked+.custom-toggle-slider:before{background-color:#1a1a1a}.dropdown,.dropleft,.dropright,.dropup{display:inline-block}.dropdown-menu{min-width:12rem}.dropdown-menu .dropdown-item{font-size:.875rem;padding:.5rem 1rem}.dropdown-menu .dropdown-item>i,.dropdown-menu .dropdown-item>svg{font-size:1rem;margin-right:1rem;vertical-align:-17%}.dropdown-menu .dropdown-item img{margin-right:.5rem}.dropdown-header{font-size:.625rem;font-weight:700;padding-right:1rem;padding-left:1rem;text-transform:uppercase}.dropdown-menu a.media>div:first-child{line-height:1}.dropdown-menu a.media p{color:#8898aa}.dropdown-menu a.media:hover .heading,.dropdown-menu a.media:hover p{color:#172b4d!important}.dropdown-menu-dark .h1,.dropdown-menu-dark .h2,.dropdown-menu-dark .h3,.dropdown-menu-dark .h4,.dropdown-menu-dark .h5,.dropdown-menu-dark .h6,.dropdown-menu-dark a{color:#fff}.dropdown-menu-sm{min-width:100px;border:.4375rem}.dropdown-menu-lg{min-width:320px;border-radius:.4375rem}.dropdown-menu-xl{min-width:420px;border-radius:.4375rem}.footer{padding:30px 0;background:#f8f9fe}.footer .col-footer .heading{font-size:.875rem;font-weight:600;margin-bottom:1rem;letter-spacing:0;text-transform:uppercase;color:#8898aa}.footer .footer-link,.footer .nav .nav-item .nav-link{color:#8898aa!important}.footer .footer-link:hover,.footer .nav .nav-item .nav-link:hover{color:#525f7f!important}.footer .list-unstyled li a{font-size:.85rem;display:inline-block;padding:.125rem 0;color:#8898aa}.footer .list-unstyled li a:hover{color:#525f7f}.footer .copyright{font-size:.875rem}.footer-dark .col-footer .heading{color:#fff}.nav-footer .nav-link{font-size:.875rem}.nav-footer .nav-item:last-child .nav-link{padding-right:0}.footer.has-cards{position:relative;overflow:hidden;margin-top:-420px;padding-top:500px;pointer-events:none;background:0 0}.footer.has-cards:before{position:absolute;top:600px;right:0;left:0;height:2000px;content:'';transform:skew(0,-8deg);background:#f7fafc}.footer.has-cards .container{position:relative;pointer-events:auto}.footer-auto-bottom{position:absolute;bottom:0;width:100%}.form-control-label{font-size:.875rem;font-weight:600;color:#525f7f}.form-control{font-size:.875rem;height:calc(1.5em + 1.25rem + 5px);transition:all .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus::-ms-input-placeholder{color:#adb5bd}.form-control:focus::placeholder{color:#adb5bd}.form-control-lg{height:calc(2.25em + 1.25rem + 5px)}.form-control-sm{height:calc(.45em + 1.25rem + 5px)}.form-control-flush{padding:0;border-width:0;background-color:transparent;box-shadow:none}.form-control-flush:focus{border-width:0;background-color:transparent;box-shadow:none}textarea[resize=none]{resize:none!important}textarea[resize=both]{resize:both!important}textarea[resize=vertical]{resize:vertical!important}textarea[resize=horizontal]{resize:horizontal!important}.form-control-muted{border-color:#f7fafe;background-color:#f7fafe;box-shadow:none}.form-control-muted:focus{background-color:#fcfdff}.form-control-alternative{transition:box-shadow .15s ease;border:0;box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02)}.form-control-alternative:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.form-control-lg,.input-group-lg .form-control,.input-group-text{font-size:1rem!important}.custom-control{padding-left:1.75rem}.input-group{transition:all .15s ease-in-out;border-radius:.25rem;box-shadow:0 3px 2px rgba(233,236,239,.05)}@media (prefers-reduced-motion:reduce){.input-group{transition:none}}.input-group .form-control{box-shadow:none}.input-group .form-control:focus{box-shadow:none}.input-group-text{transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion:reduce){.input-group-text{transition:none}}.input-group-text i{font-size:.875rem}.input-group-text .custom-control{line-height:1}.input-group-prepend .input-group-text{border-right:0}.input-group-append .input-group-text{border-left:0}.input-group-merge .form-control:not(:first-child){padding-left:0;border-left:0}.input-group-merge .form-control:not(:last-child){padding-right:0;border-right:0}.input-group-alternative{transition:box-shadow .15s ease;border:0;box-shadow:0 1px 3px rgba(50,50,93,.15),0 1px 0 rgba(0,0,0,.02)}.input-group-alternative .form-control,.input-group-alternative .input-group-text{border:0;box-shadow:none}.focused .input-group-alternative{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)!important}.input-group-flush{box-shadow:none}.input-group-flush>.form-control{padding:0;border-width:0;background-color:transparent}.input-group-flush>.input-group-append>.input-group-text,.input-group-flush>.input-group-prepend>.input-group-text{padding:0;padding-right:1rem;border-width:0;background-color:transparent}.focused .input-group{box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.focused .input-group-text{color:#8898aa;border-color:#5e72e4;background-color:#fff}.focused .form-control{border-color:#5e72e4}.focused .input-group-flush{box-shadow:none}.form-primary .form-control{color:#fff;border-color:#324cdd;background-color:rgba(50,76,221,.5)}.form-primary .form-control:focus{border:1px solid #2a44db;background-color:rgba(42,68,219,.7)}.form-primary .form-control::-ms-input-placeholder{color:rgba(255,255,255,.8)}.form-primary .form-control::placeholder{color:rgba(255,255,255,.8)}.form-primary .input-group-text{color:#fff;border-color:#324cdd;background-color:rgba(50,76,221,.5)}.form-primary .focused .input-group-text{color:#fff;border-color:#2a44db;background-color:rgba(42,68,219,.7)}.has-danger,.has-success{position:relative}.has-danger:after,.has-success:after{font-family:NucleoIcons;font-size:9px;line-height:19px;position:absolute;top:50%;right:15px;display:none;width:19px;height:19px;transform:translateY(-50%);text-align:center;opacity:1;border-radius:50%}.has-danger .input-group-prepend .input-group-text,.has-success .input-group-prepend .input-group-text{border-color:red}.has-success:after{content:'\ea26';color:#1d8357;background-color:#69deac}.has-success .form-control{background-color:#fff}.has-success .form-control::-ms-input-placeholder{color:#2dce89}.has-success .form-control::placeholder{color:#2dce89}.has-danger:after{content:'\ea53';color:#db2d05;background-color:#fda08b}.has-danger .form-control{background-color:#fff}.has-danger .form-control::-ms-input-placeholder{color:#fb6340}.has-danger .form-control::placeholder{color:#fb6340}.row-example>.col span,.row-example>[class^=col-] span{font-size:.875rem;display:block;margin:1rem 0;padding:.75rem;color:#393f49;border-radius:.25rem;background-color:#fff;box-shadow:rgba(0,0,0,.1) 0 0 0 1px,rgba(0,0,0,.1) 0 4px 16px}.no-gutters>.col span,.no-gutters>[class^=col-] span{border-radius:0}.header{position:relative}.icon{width:3rem;height:3rem}.icon i,.icon svg{font-size:2.25rem}.icon+.icon-text{width:calc(100% - 3rem - 1);padding-left:1rem}.icon-xl{width:5rem;height:5rem}.icon-xl i,.icon-xl svg{font-size:4.25rem}.icon-xl+.icon-text{width:calc(100% - 5rem - 1)}.icon-lg{width:4rem;height:4rem}.icon-lg i,.icon-lg svg{font-size:3.25rem}.icon-lg+.icon-text{width:calc(100% - $icon-size-lg - 1)}.icon-sm{width:2rem;height:2rem}.icon-sm i,.icon-sm svg{font-size:1.25rem}.icon-sm+.icon-text{width:calc(100% - $icon-size-sm - 1)}.icon-xs{width:1.25rem;height:1.25rem}.icon-xs i,.icon-xs svg{font-size:.5rem}.icon-xs+.icon-text{width:calc(100% - $icon-size-xs - 1)}.icon-actions>a{font-size:.875rem;display:inline-block;margin-right:.75rem;color:#8898aa}.icon-actions>a:last-of-type{margin-right:0}.icon-actions>a span{font-weight:600;margin-left:.1875rem;color:#8898aa}.icon-actions>a:hover span{color:#6a7e95}.icon-actions>a,.icon-actions>a.active,.icon-actions>a:hover{color:#32325d}.icon-actions>.favorite.active,.icon-actions>.favorite:hover{color:#ffd600}.icon-actions>.love.active,.icon-actions>.love:hover{color:#f5365c}.icon-actions>.like.active,.icon-actions>.like:hover{color:#5e72e4}.icon-actions-lg a{font-size:1.25rem;margin-right:.875rem}.icon-shape{display:inline-flex;padding:12px;text-align:center;border-radius:50%;align-items:center;justify-content:center}.icon-shape i,.icon-shape svg{font-size:1.25rem}.icon-shape.icon-lg i,.icon-shape.icon-lg svg{font-size:1.625rem}.icon-shape.icon-sm i,.icon-shape.icon-sm svg{font-size:.875rem}.icon-shape.icon-xs i,.icon-shape.icon-xs svg{font-size:.6rem}.icon-shape svg{width:30px;height:30px}.icon-shape-primary{color:#2643e9;background-color:rgba(138,152,235,.5)}.icon-shape-secondary{color:#cfe3f1;background-color:rgba(255,255,255,.5)}.icon-shape-success{color:#1aae6f;background-color:rgba(84,218,161,.5)}.icon-shape-info{color:#03acca;background-color:rgba(65,215,242,.5)}.icon-shape-warning{color:#ff3709;background-color:rgba(252,140,114,.5)}.icon-shape-danger{color:#f80031;background-color:rgba(247,103,131,.5)}.icon-shape-light{color:#879cb0;background-color:rgba(201,207,212,.5)}.icon-shape-dark{color:#090c0e;background-color:rgba(56,63,69,.5)}.icon-shape-default{color:#091428;background-color:rgba(35,65,116,.5)}.icon-shape-white{color:#e8e3e3;background-color:rgba(255,255,255,.5)}.icon-shape-neutral{color:#e8e3e3;background-color:rgba(255,255,255,.5)}.icon-shape-darker{color:#000;background-color:rgba(26,26,26,.5)}.list-group-space .list-group-item{margin-bottom:1.5rem;border-radius:.375rem}.list-group-img{width:3rem;height:3rem;margin:-.1rem 1.2rem 0 -.2rem;vertical-align:top;border-radius:50%}.list-group-content{min-width:0;flex:1 1}.list-group-content>p{line-height:1.5;margin:.2rem 0 0;color:#adb5bd}.list-group-heading{font-size:1rem;color:#32325d}.list-group-heading>small{font-weight:500;float:right;color:#adb5bd}.checklist-item{position:relative;display:flex;padding-left:.75rem;justify-content:space-between;align-items:center}.checklist-item:before{position:absolute;top:0;left:0;width:3px;height:100%;content:'';border-radius:8px;background-color:#5e72e4}.checklist-item-checked .checklist-info *{text-decoration:line-through}.checklist-item-primary:before{background-color:#5e72e4}.checklist-item-secondary:before{background-color:#f7fafc}.checklist-item-success:before{background-color:#2dce89}.checklist-item-info:before{background-color:#11cdef}.checklist-item-warning:before{background-color:#fb6340}.checklist-item-danger:before{background-color:#f5365c}.checklist-item-light:before{background-color:#adb5bd}.checklist-item-dark:before{background-color:#212529}.checklist-item-default:before{background-color:#172b4d}.checklist-item-white:before{background-color:#fff}.checklist-item-neutral:before{background-color:#fff}.checklist-item-darker:before{background-color:#000}.map-canvas{position:relative;width:100%;height:500px;border-radius:.375rem}.mask{position:absolute;top:0;left:0;width:100%;height:100%;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.mask{transition:none}}.backdrop{position:fixed;z-index:1040;top:0;left:0;width:100%;height:100%;cursor:pointer}.backdrop-dark{background:rgba(0,0,0,.3)}.backdrop-light{background:rgba(255,255,255,.3)}.media-comment{margin-top:2rem}.media-comment-avatar{position:relative;z-index:1;margin-top:-1rem;margin-right:-2rem;transition:all .15s ease;border:4px solid #fff}@media (prefers-reduced-motion:reduce){.media-comment-avatar{transition:none}}.media-comment-text{position:relative;padding:1rem 1.25rem 1rem 2.5rem;border-radius:.4375rem;border-top-left-radius:0;background-color:#f6f9fc}.media-comment:hover .media-comment-avatar{transform:scale(1.1)}.modal-title{font-size:1.0625rem}.modal-fluid .modal-dialog{margin-top:0;margin-bottom:0}.modal-fluid .modal-content{border-radius:0}.modal-primary .modal-title{color:#fff}.modal-primary .modal-footer,.modal-primary .modal-header{border-color:rgba(255,255,255,.075)}.modal-primary .modal-content{color:#fff;background-color:#5e72e4}.modal-primary .modal-content .heading{color:#fff}.modal-primary .close>span:not(.sr-only){color:#fff}.modal-secondary .modal-title{color:#212529}.modal-secondary .modal-footer,.modal-secondary .modal-header{border-color:rgba(33,37,41,.075)}.modal-secondary .modal-content{color:#212529;background-color:#f7fafc}.modal-secondary .modal-content .heading{color:#212529}.modal-secondary .close>span:not(.sr-only){color:#fff}.modal-success .modal-title{color:#fff}.modal-success .modal-footer,.modal-success .modal-header{border-color:rgba(255,255,255,.075)}.modal-success .modal-content{color:#fff;background-color:#2dce89}.modal-success .modal-content .heading{color:#fff}.modal-success .close>span:not(.sr-only){color:#fff}.modal-info .modal-title{color:#fff}.modal-info .modal-footer,.modal-info .modal-header{border-color:rgba(255,255,255,.075)}.modal-info .modal-content{color:#fff;background-color:#11cdef}.modal-info .modal-content .heading{color:#fff}.modal-info .close>span:not(.sr-only){color:#fff}.modal-warning .modal-title{color:#fff}.modal-warning .modal-footer,.modal-warning .modal-header{border-color:rgba(255,255,255,.075)}.modal-warning .modal-content{color:#fff;background-color:#fb6340}.modal-warning .modal-content .heading{color:#fff}.modal-warning .close>span:not(.sr-only){color:#fff}.modal-danger .modal-title{color:#fff}.modal-danger .modal-footer,.modal-danger .modal-header{border-color:rgba(255,255,255,.075)}.modal-danger .modal-content{color:#fff;background-color:#f5365c}.modal-danger .modal-content .heading{color:#fff}.modal-danger .close>span:not(.sr-only){color:#fff}.modal-light .modal-title{color:#fff}.modal-light .modal-footer,.modal-light .modal-header{border-color:rgba(255,255,255,.075)}.modal-light .modal-content{color:#fff;background-color:#adb5bd}.modal-light .modal-content .heading{color:#fff}.modal-light .close>span:not(.sr-only){color:#fff}.modal-dark .modal-title{color:#fff}.modal-dark .modal-footer,.modal-dark .modal-header{border-color:rgba(255,255,255,.075)}.modal-dark .modal-content{color:#fff;background-color:#212529}.modal-dark .modal-content .heading{color:#fff}.modal-dark .close>span:not(.sr-only){color:#fff}.modal-default .modal-title{color:#fff}.modal-default .modal-footer,.modal-default .modal-header{border-color:rgba(255,255,255,.075)}.modal-default .modal-content{color:#fff;background-color:#172b4d}.modal-default .modal-content .heading{color:#fff}.modal-default .close>span:not(.sr-only){color:#fff}.modal-white .modal-title{color:#212529}.modal-white .modal-footer,.modal-white .modal-header{border-color:rgba(33,37,41,.075)}.modal-white .modal-content{color:#212529;background-color:#fff}.modal-white .modal-content .heading{color:#212529}.modal-white .close>span:not(.sr-only){color:#fff}.modal-neutral .modal-title{color:#212529}.modal-neutral .modal-footer,.modal-neutral .modal-header{border-color:rgba(33,37,41,.075)}.modal-neutral .modal-content{color:#212529;background-color:#fff}.modal-neutral .modal-content .heading{color:#212529}.modal-neutral .close>span:not(.sr-only){color:#fff}.modal-darker .modal-title{color:#fff}.modal-darker .modal-footer,.modal-darker .modal-header{border-color:rgba(255,255,255,.075)}.modal-darker .modal-content{color:#fff;background-color:#000}.modal-darker .modal-content .heading{color:#fff}.modal-darker .close>span:not(.sr-only){color:#fff}.navbar-horizontal .navbar-nav .nav-link{font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:normal}.navbar-horizontal .navbar-nav .nav-link .nav-link-inner--text{margin-left:.25rem}.navbar-horizontal .navbar-brand{font-size:.875rem;font-size:.875rem;font-weight:600;letter-spacing:.05px;text-transform:uppercase}.navbar-horizontal .navbar-brand img{height:30px}.navbar-horizontal .navbar-dark .navbar-brand{color:#fff}.navbar-horizontal .navbar-light .navbar-brand{color:#32325d}.navbar-horizontal .navbar-nav .nav-item .media:not(:last-child){margin-bottom:1.5rem}@media (min-width:992px){.navbar-horizontal .navbar-nav .nav-item{margin-right:.5rem}.navbar-horizontal .navbar-nav .nav-item [data-toggle=dropdown]::after{transition:all .15s ease}.navbar-horizontal .navbar-nav .nav-item.show [data-toggle=dropdown]::after{transform:rotate(180deg)}.navbar-horizontal .navbar-nav .nav-link{padding-top:1rem;padding-bottom:1rem;border-radius:.375rem}.navbar-horizontal .navbar-nav .nav-link i{margin-right:.625rem}.navbar-horizontal .navbar-nav .nav-link-icon{font-size:1rem;padding-right:.5rem!important;padding-left:.5rem!important;border-radius:.375rem}.navbar-horizontal .navbar-nav .nav-link-icon i{margin-right:0}.navbar-horizontal .navbar-nav .dropdown-menu{margin:0;pointer-events:none;opacity:0}.navbar-horizontal .navbar-nav .dropdown-menu:before{position:absolute;z-index:-5;bottom:100%;left:20px;display:block;width:16px;height:16px;content:'';transform:rotate(-45deg) translateY(1rem);border-radius:.25rem;background:#fff;box-shadow:none}.navbar-horizontal .navbar-nav .dropdown-menu-right:before{right:20px;left:auto}.navbar-horizontal .navbar-nav:not(.navbar-nav-hover) .dropdown-menu.show{animation:show-navbar-dropdown .25s ease forwards;pointer-events:auto;opacity:1}.navbar-horizontal .navbar-nav:not(.navbar-nav-hover) .dropdown-menu.close{display:block;animation:hide-navbar-dropdown .15s ease backwards}.navbar-horizontal .navbar-nav.navbar-nav-hover .dropdown-menu{display:block;transition:visibility .25s,opacity .25s,transform .25s;transform:translate(0,10px) perspective(200px) rotateX(-2deg);pointer-events:none;opacity:0}.navbar-horizontal .navbar-nav.navbar-nav-hover .nav-item.dropdown:hover>.dropdown-menu{display:block;visibility:visible;transform:translate(0,0);animation:none;pointer-events:auto;opacity:1}.navbar-horizontal .navbar-nav .dropdown-menu-inner{position:relative;padding:1rem}}.navbar-horizontal.navbar-transparent{position:absolute;z-index:100;top:0;width:100%;border:0;background-color:transparent;box-shadow:none}.navbar-horizontal.navbar-transparent .navbar-brand{color:#fff}.navbar-horizontal.navbar-transparent .navbar-toggler{color:#fff}.navbar-horizontal.navbar-transparent .navbar-toggler-icon{background-image:url('data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.95)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e')}@media (min-width:768px){.navbar-horizontal.navbar-transparent .navbar-nav .nav-link{color:rgba(255,255,255,.95)}.navbar-horizontal.navbar-transparent .navbar-nav .nav-link:focus,.navbar-horizontal.navbar-transparent .navbar-nav .nav-link:hover{color:rgba(255,255,255,.65)}.navbar-horizontal.navbar-transparent .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-horizontal.navbar-transparent .navbar-nav .active>.nav-link,.navbar-horizontal.navbar-transparent .navbar-nav .nav-link.active,.navbar-horizontal.navbar-transparent .navbar-nav .nav-link.show,.navbar-horizontal.navbar-transparent .navbar-nav .show>.nav-link{color:rgba(255,255,255,.65)}.navbar-horizontal.navbar-transparent .navbar-brand{color:rgba(255,255,255,.95)}.navbar-horizontal.navbar-transparent .navbar-brand:focus,.navbar-horizontal.navbar-transparent .navbar-brand:hover{color:rgba(255,255,255,.95)}}.navbar-horizontal .navbar-collapse-header{display:none}@media (max-width:991.98px){.navbar-horizontal .navbar-nav .nav-link{padding:.625rem 0;color:#172b4d!important}.navbar-horizontal .navbar-nav .dropdown-menu{min-width:auto;box-shadow:none}.navbar-horizontal .navbar-nav .dropdown-menu .media svg{width:30px}.navbar-horizontal .navbar-collapse{position:absolute;z-index:1050;top:0;right:0;left:0;overflow-y:auto;width:calc(100% - 1.4rem);height:auto!important;margin:.7rem;opacity:0}.navbar-horizontal .navbar-collapse .navbar-toggler{position:relative;display:inline-block;width:20px;height:20px;padding:0;cursor:pointer}.navbar-horizontal .navbar-collapse .navbar-toggler span{position:absolute;display:block;width:100%;height:2px;opacity:1;border-radius:2px;background:#283448}.navbar-horizontal .navbar-collapse .navbar-toggler :nth-child(1){transform:rotate(135deg)}.navbar-horizontal .navbar-collapse .navbar-toggler :nth-child(2){transform:rotate(-135deg)}.navbar-horizontal .navbar-collapse .navbar-collapse-header{display:block;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.1)}.navbar-horizontal .navbar-collapse .collapse-brand img{height:36px}.navbar-horizontal .navbar-collapse .collapse-close{text-align:right}.navbar-horizontal .navbar-collapse.collapsing,.navbar-horizontal .navbar-collapse.show{padding:1.5rem;animation:show-navbar-collapse .2s ease forwards;border-radius:.375rem;background:#fff;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1)}.navbar-horizontal .navbar-collapse.collapsing-out{animation:hide-navbar-collapse .2s ease forwards}}@keyframes show-navbar-collapse{0%{transform:scale(.95);transform-origin:100% 0;opacity:0}100%{transform:scale(1);opacity:1}}@keyframes hide-navbar-collapse{from{transform:scale(1);transform-origin:100% 0;opacity:1}to{transform:scale(.95);opacity:0}}@keyframes show-navbar-dropdown{0%{transition:visibility .25s,opacity .25s,transform .25s;transform:translate(0,10px) perspective(200px) rotateX(-2deg);opacity:0}100%{transform:translate(0,0);opacity:1}}@keyframes hide-navbar-dropdown{from{opacity:1}to{transform:translate(0,10px);opacity:0}}.navbar-floating-wrapper{position:absolute;z-index:1;top:0;left:0;width:100%;padding-top:1rem;padding-bottom:1rem}.navbar-floating-wrapper .navbar{border-radius:.375rem}.navbar-vertical{padding-top:0;border-width:0 0 1px 0;border-style:solid;box-shadow:0 0 2rem 0 rgba(136,152,170,.15)}.navbar-vertical.navbar-light{border-color:rgba(0,0,0,.05);background-color:#f6f9fc}.navbar-vertical.navbar-dark{border-color:rgba(255,255,255,.1);background-color:transparent}.navbar-vertical .navbar-brand{margin-right:0}.navbar-vertical .navbar-brand-img,.navbar-vertical .navbar-brand>img{max-width:100%;max-height:2rem}@media (min-width:768px){.navbar-vertical .navbar-collapse{margin-right:-1rem;margin-left:-1rem}.navbar-vertical .navbar-collapse:before{display:block;margin:.5rem;content:''}}.navbar-vertical .navbar-nav{margin-right:-1rem;margin-left:-1rem}.navbar-vertical .navbar-nav .nav-link{font-size:.875rem;font-weight:500;padding-right:1rem;padding-left:1rem}.navbar-vertical .navbar-nav .nav-link.active{position:relative}.navbar-vertical .navbar-nav .nav-link>i{font-size:.9375rem;line-height:1.5rem;min-width:2rem}.navbar-vertical .navbar-nav .nav-link .dropdown-menu{border:none}.navbar-vertical .navbar-nav .nav-link .dropdown-menu .dropdown-menu{margin-left:.5rem}.navbar-vertical .navbar-nav .nav-sm .nav-link{font-size:.8125rem}.navbar-vertical .navbar-nav .nav-link{display:flex;align-items:center}.navbar-vertical .navbar-nav .nav-link[data-toggle=collapse]:after{font-family:'Font Awesome 5 Free';font-weight:700;font-style:normal;font-variant:normal;display:inline-block;margin-left:auto;content:'\f105';transition:all .15s ease;color:#ced4da;text-rendering:auto;-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion:reduce){.navbar-vertical .navbar-nav .nav-link[data-toggle=collapse]:after{transition:none}}.navbar-vertical .navbar-nav .nav-link[data-toggle=collapse][aria-expanded=true]:after{transform:rotate(90deg);color:#5e72e4}.navbar-vertical .navbar-nav .nav .nav-link{padding-left:3rem}.navbar-vertical .navbar-nav .nav .nav .nav-link{padding-left:3.5rem}.navbar-vertical .navbar-heading{font-size:.75rem;padding-top:.25rem;padding-bottom:.25rem;letter-spacing:.04em;text-transform:uppercase}.navbar-vertical.navbar-expand-xs{position:fixed;top:0;bottom:0;display:block;overflow-y:auto;width:100%;max-width:62px;padding-right:0;padding-left:0}.navbar-vertical.navbar-expand-xs .navbar-inner{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-xs>[class*=container]{flex-direction:column;min-height:100%;padding-right:0;padding-left:0;align-items:stretch}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.navbar-vertical.navbar-expand-xs>[class*=container]{height:100%;min-height:none}}.navbar-vertical.navbar-expand-xs.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-xs.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-xs .navbar-collapse{display:flex;flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem;padding-right:1.5rem;padding-left:1.5rem;flex:1 1;align-items:stretch}.navbar-vertical.navbar-expand-xs .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-xs .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}.navbar-vertical.navbar-expand-xs .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-xs .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-xs .navbar-nav>.nav-item>.nav-link.active{margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;border-radius:.375rem;background:#f6f9fc}.navbar-vertical.navbar-expand-xs .lavalamp-object{width:calc(100% - 1rem)!important;margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;color:#fff;border-radius:.375rem;background:#5e72e4}.navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}@media (min-width:576px){.navbar-vertical.navbar-expand-sm{position:fixed;top:0;bottom:0;display:block;overflow-y:auto;width:100%;max-width:62px;padding-right:0;padding-left:0}.navbar-vertical.navbar-expand-sm .navbar-inner{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-sm>[class*=container]{flex-direction:column;min-height:100%;padding-right:0;padding-left:0;align-items:stretch}}@media all and (min-width:576px) and (-ms-high-contrast:none),(min-width:576px) and (-ms-high-contrast:active){.navbar-vertical.navbar-expand-sm>[class*=container]{height:100%;min-height:none}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-sm.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-sm .navbar-collapse{display:flex;flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem;padding-right:1.5rem;padding-left:1.5rem;flex:1 1;align-items:stretch}.navbar-vertical.navbar-expand-sm .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-sm .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}.navbar-vertical.navbar-expand-sm .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-sm .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-sm .navbar-nav>.nav-item>.nav-link.active{margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;border-radius:.375rem;background:#f6f9fc}.navbar-vertical.navbar-expand-sm .lavalamp-object{width:calc(100% - 1rem)!important;margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;color:#fff;border-radius:.375rem;background:#5e72e4}.navbar-vertical.navbar-expand-sm .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-sm .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}}@media (min-width:768px){.navbar-vertical.navbar-expand-md{position:fixed;top:0;bottom:0;display:block;overflow-y:auto;width:100%;max-width:62px;padding-right:0;padding-left:0}.navbar-vertical.navbar-expand-md .navbar-inner{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-md>[class*=container]{flex-direction:column;min-height:100%;padding-right:0;padding-left:0;align-items:stretch}}@media all and (min-width:768px) and (-ms-high-contrast:none),(min-width:768px) and (-ms-high-contrast:active){.navbar-vertical.navbar-expand-md>[class*=container]{height:100%;min-height:none}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-md.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-md .navbar-collapse{display:flex;flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem;padding-right:1.5rem;padding-left:1.5rem;flex:1 1;align-items:stretch}.navbar-vertical.navbar-expand-md .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-md .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}.navbar-vertical.navbar-expand-md .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-md .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-md .navbar-nav>.nav-item>.nav-link.active{margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;border-radius:.375rem;background:#f6f9fc}.navbar-vertical.navbar-expand-md .lavalamp-object{width:calc(100% - 1rem)!important;margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;color:#fff;border-radius:.375rem;background:#5e72e4}.navbar-vertical.navbar-expand-md .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-md .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg{position:fixed;top:0;bottom:0;display:block;overflow-y:auto;width:100%;max-width:62px;padding-right:0;padding-left:0}.navbar-vertical.navbar-expand-lg .navbar-inner{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-lg>[class*=container]{flex-direction:column;min-height:100%;padding-right:0;padding-left:0;align-items:stretch}}@media all and (min-width:992px) and (-ms-high-contrast:none),(min-width:992px) and (-ms-high-contrast:active){.navbar-vertical.navbar-expand-lg>[class*=container]{height:100%;min-height:none}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-lg.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-lg .navbar-collapse{display:flex;flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem;padding-right:1.5rem;padding-left:1.5rem;flex:1 1;align-items:stretch}.navbar-vertical.navbar-expand-lg .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-lg .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}.navbar-vertical.navbar-expand-lg .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-lg .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-lg .navbar-nav>.nav-item>.nav-link.active{margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;border-radius:.375rem;background:#f6f9fc}.navbar-vertical.navbar-expand-lg .lavalamp-object{width:calc(100% - 1rem)!important;margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;color:#fff;border-radius:.375rem;background:#5e72e4}.navbar-vertical.navbar-expand-lg .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-lg .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl{position:fixed;top:0;bottom:0;display:block;overflow-y:auto;width:100%;max-width:62px;padding-right:0;padding-left:0}.navbar-vertical.navbar-expand-xl .navbar-inner{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand-xl>[class*=container]{flex-direction:column;min-height:100%;padding-right:0;padding-left:0;align-items:stretch}}@media all and (min-width:1200px) and (-ms-high-contrast:none),(min-width:1200px) and (-ms-high-contrast:active){.navbar-vertical.navbar-expand-xl>[class*=container]{height:100%;min-height:none}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.fixed-left{left:0;border-width:0 1px 0 0}.navbar-vertical.navbar-expand-xl.fixed-right{right:0;border-width:0 0 0 1px}.navbar-vertical.navbar-expand-xl .navbar-collapse{display:flex;flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem;padding-right:1.5rem;padding-left:1.5rem;flex:1 1;align-items:stretch}.navbar-vertical.navbar-expand-xl .navbar-collapse>*{min-width:100%}.navbar-vertical.navbar-expand-xl .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}.navbar-vertical.navbar-expand-xl .navbar-nav .nav-link{padding:.675rem 1.5rem}.navbar-vertical.navbar-expand-xl .navbar-nav>.nav-item{margin-top:2px}.navbar-vertical.navbar-expand-xl .navbar-nav>.nav-item>.nav-link.active{margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;border-radius:.375rem;background:#f6f9fc}.navbar-vertical.navbar-expand-xl .lavalamp-object{width:calc(100% - 1rem)!important;margin-right:.5rem;margin-left:.5rem;padding-right:1rem;padding-left:1rem;color:#fff;border-radius:.375rem;background:#5e72e4}.navbar-vertical.navbar-expand-xl .navbar-nav .nav .nav-link{padding-top:.45rem;padding-bottom:.45rem;padding-left:3.5rem}.navbar-vertical.navbar-expand-xl .navbar-nav .nav .nav .nav-link{padding-left:4.25rem}}.navbar-vertical.navbar-expand-xs.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-xs.fixed-right+.main-content{margin-right:62px}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-sm.fixed-right+.main-content{margin-right:62px}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-md.fixed-right+.main-content{margin-right:62px}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-lg.fixed-right+.main-content{margin-right:62px}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.fixed-left+.main-content{margin-left:62px}.navbar-vertical.navbar-expand-xl.fixed-right+.main-content{margin-right:62px}}.sidenav.fixed-left+.main-content{margin-left:62px;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.sidenav.fixed-left+.main-content{transition:none}}.sidenav.fixed-right+.main-content{margin-right:62px;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.sidenav.fixed-right+.main-content{transition:none}}@media (min-width:1200px){.g-sidenav-pinned .sidenav.fixed-left+.main-content{margin-left:250px}.g-sidenav-pinned .sidenav.fixed-right+.main-content{margin-right:250px}}.sidenav{z-index:1050;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.sidenav{transition:none}}@media (min-width:1200px){.sidenav:hover{max-width:250px}.sidenav .sidenav-toggler{padding:1.5rem}}.sidenav .navbar-brand,.sidenav .navbar-heading{display:none;padding:1.5rem}.sidenav-header{height:78px}.g-sidenav-show .sidenav .navbar-brand,.g-sidenav-show .sidenav .navbar-heading{display:block}.g-sidenav-show .sidenav .nav-item .collapse{height:auto;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.g-sidenav-show .sidenav .nav-item .collapse{transition:none}}.g-sidenav-pinned .sidenav{max-width:250px!important}.g-sidenav-pinned .sidenav .navbar-brand,.g-sidenav-pinned .sidenav .navbar-heading{display:block}.g-sidenav-hidden:not(.g-sidenav-show) .sidenav .navbar-nav>.nav-item>.nav-link:after{content:''}.g-sidenav-hidden:not(.g-sidenav-show) .sidenav .nav-item .collapse{display:none!important}.g-sidenav-hidden:not(.g-sidenav-show) .sidenav .nav-link-text{display:none!important}.g-sidenav-hide .sidenav .navbar-nav>.nav-item>.nav-link:after{content:''}.g-sidenav-hide .sidenav .nav-item .collapse{display:none!important}.g-sidenav-hide .sidenav .nav-link-text{display:none!important}@media (max-width:1199.98px){.sidenav{transform:translateX(-62px)}.sidenav.fixed-left+.main-content{margin-left:0!important}.g-sidenav-pinned .sidenav{transform:translateX(0)}}.sidenav-toggler-inner,.sidenav-toggler-line{width:18px;transition:all .15s ease}@media (prefers-reduced-motion:reduce){.sidenav-toggler-inner,.sidenav-toggler-line{transition:none}}.sidenav-toggler-inner{position:relative}.sidenav-toggler-inner:before{position:absolute;top:-14px;left:-11px;width:40px;height:40px;content:'';transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transform:scale(0);border-radius:50%}@media (prefers-reduced-motion:reduce){.sidenav-toggler-inner:before{transition:none}}.sidenav-toggler-line{position:relative;display:block;height:2px;background-color:#172b4d}.sidenav-toggler-line:not(:last-child){margin-bottom:3px}.sidenav-toggler-dark .sidenav-toggler-line{background-color:#fff}.sidenav-toggler{cursor:pointer}.sidenav-toggler.active .sidenav-toggler-inner:before{transform:scale(1)}.sidenav-toggler.active .sidenav-toggler-line:first-child{width:13px;transform:translateX(5px)}.sidenav-toggler.active .sidenav-toggler-line:last-child{width:13px;transform:translateX(5px)}.navbar-search .input-group{transition:background-color .3s linear;transition-delay:.15s;border:0 solid;border-radius:2rem}@media (prefers-reduced-motion:reduce){.navbar-search .input-group{transition:none}}.navbar-search .input-group .input-group-text{padding-left:1rem;border:0;background-color:transparent}.navbar-search .form-control{width:250px;transition:all .15s cubic-bezier(.68,-.55,.265,1.55);border:0;background-color:transparent}@media (prefers-reduced-motion:reduce){.navbar-search .form-control{transition:none}}.navbar-search .focused .input-group .form-control{width:380px}.navbar-search .close{display:none}.navbar-search-dark .input-group{border-color:rgba(255,255,255,.6);background-color:rgba(23,43,77,.8)}.navbar-search-dark .input-group-text{color:rgba(255,255,255,.6)}.navbar-search-dark .form-control{color:rgba(255,255,255,.9)}.navbar-search-dark .form-control::-ms-input-placeholder{color:rgba(255,255,255,.6)}.navbar-search-dark .form-control::placeholder{color:rgba(255,255,255,.6)}.navbar-search-dark .focused .input-group{border-color:rgba(255,255,255,.9);background-color:rgba(23,43,77,.9)}.navbar-search-light .input-group{border-color:rgba(0,0,0,.6);background-color:rgba(255,255,255,.9)}.navbar-search-light .input-group-text{color:rgba(0,0,0,.6)}.navbar-search-light .form-control{color:rgba(0,0,0,.9)}.navbar-search-light .form-control::-ms-input-placeholder{color:rgba(0,0,0,.6)}.navbar-search-light .form-control::placeholder{color:rgba(0,0,0,.6)}.navbar-search-light .focused .input-group{border-color:rgba(0,0,0,.9);background-color:#fff}@media (max-width:575.98px){.navbar-search{display:none;width:100%;transition:all .15s cubic-bezier(.68,-.55,.265,1.55);transform:translateX(-150%)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.navbar-search{transition:none}}@media (max-width:575.98px){.navbar-search .form-group{width:100%}.navbar-search .form-control{width:auto}.navbar-search .focused .input-group .form-control{width:auto}.navbar-search .close{display:none;opacity:0}.navbar-search .close span{width:auto;height:auto}.navbar-top .navbar-nav{transition:all .15s ease}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.navbar-top .navbar-nav{transition:none}}@media (max-width:575.98px){.g-navbar-search-showing .navbar-search .close{display:block}.g-navbar-search-showing .navbar-top .navbar-nav{display:flex;transform:translateX(150%);opacity:1}.g-navbar-search-show .navbar-search{display:block}.g-navbar-search-show .navbar-search .form-control{width:auto}.g-navbar-search-show .navbar-search .close{line-height:46px;position:absolute;top:0;right:0;width:46px;height:46px;cursor:pointer;text-align:center;color:#fff}.g-navbar-search-show .navbar-top .navbar-nav{display:none}.g-navbar-search-show .navbar-top .navbar-collapse{width:100%}.g-navbar-search-shown .navbar-search{transform:translateX(0)}.g-navbar-search-shown .navbar-search .close{display:block;opacity:1}.g-navbar-search-hiding .navbar-top .navbar-nav{display:flex;transform:translateX(150%);opacity:0}.g-navbar-search-hidden .navbar-top .navbar-nav{transform:translateX(0);opacity:1}}.navbar .dropdown-menu{margin:0;pointer-events:none;opacity:0}.navbar .dropdown-menu-arrow:before{position:absolute;z-index:-5;bottom:100%;left:20px;display:block;width:12px;height:12px;content:'';transform:rotate(-45deg) translateY(12px);border-radius:2px;background:#fff;box-shadow:none}.navbar .dropdown-menu-right:before{right:20px;left:auto}.navbar:not(.navbar-nav-hover) .dropdown-menu.show{animation:show-navbar-dropdown .25s ease forwards;pointer-events:auto;opacity:1}.navbar:not(.navbar-nav-hover) .dropdown-menu.close{display:block;animation:hide-navbar-dropdown .15s ease backwards}.navbar.navbar-nav-hover .dropdown-menu{display:block;transition:visibility .25s,opacity .25s,transform .25s;transform:translate(0,10px) perspective(200px) rotateX(-2deg);pointer-events:none;opacity:0}.navbar.navbar-nav-hover .nav-item.dropdown:hover>.dropdown-menu{display:block;visibility:visible;transform:translate(0,0);animation:none;pointer-events:auto;opacity:1}.navbar .dropdown-menu-inner{position:relative;padding:1rem}@keyframes show-navbar-dropdown{0%{transition:visibility .25s,opacity .25s,transform .25s;transform:translate(0,10px) perspective(200px);opacity:0}100%{transform:translate(0,0);opacity:1}}@keyframes hide-navbar-dropdown{from{opacity:1}to{transform:translate(0,10px);opacity:0}}.navbar-collapse-header{display:none}@keyframes show-navbar-collapse{0%{transform:scale(.95);transform-origin:100% 0;opacity:0}100%{transform:scale(1);opacity:1}}@keyframes hide-navbar-collapse{from{transform:scale(1);transform-origin:100% 0;opacity:1}to{transform:scale(.95);opacity:0}}.navbar-top{padding-right:1rem;padding-left:1rem;border:0}.navbar-top .container,.navbar-top .container-fluid{padding-right:15px;padding-left:15px}@media (min-width:576px){.navbar-top .navbar-brand{display:none}}@media (max-width:575.98px){.navbar-top .navbar-collapse{width:100%}.navbar-top .nav-item{position:static}.navbar-top .nav-item .dropdown-menu{position:absolute;right:auto;left:3%;width:94%;min-width:auto}}.navbar-top.border-bottom.navbar-dark{border-color:rgba(255,255,255,.08)!important}.navbar-top.border-bottom.navbar-light{border-color:rgba(0,0,0,.04)!important}.sidenav-pinned .navbar-top .navbar-brand{display:none}.nav-wrapper{padding:1rem 0;border-top-left-radius:.375rem;border-top-right-radius:.375rem}.nav-wrapper+.card{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.nav-link{color:#525f7f}.nav-link:hover{color:#5e72e4}.nav-link i.ni{position:relative;top:2px}.nav-pills .nav-item:not(:last-child){padding-right:1rem}.nav-pills .nav-link{font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .15s ease;color:#5e72e4;background-color:#fff;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.nav-pills .nav-link:hover{color:#485fe0}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#5e72e4}@media (max-width:575.98px){.nav-pills .nav-item{margin-bottom:1rem}}@media (max-width:767.98px){.nav-pills:not(.nav-pills-circle) .nav-item{padding-right:0}}.nav-pills-circle .nav-link{line-height:60px;width:60px;height:60px;padding:0;text-align:center;border-radius:50%}.nav-pills-circle .nav-link-icon i,.nav-pills-circle .nav-link-icon svg{font-size:1rem}.page-item.active .page-link{box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08)}.page-item .page-link,.page-item span{font-size:.875rem;display:flex;width:36px;height:36px;margin:0 3px;padding:0;border-radius:50%!important;align-items:center;justify-content:center}.pagination-lg .page-item .page-link,.pagination-lg .page-item span{line-height:46px;width:46px;height:46px}.pagination-sm .page-item .page-link,.pagination-sm .page-item span{line-height:30px;width:30px;height:30px}.popover{border:0}.popover-header{font-weight:600}.popover-primary{background-color:#5e72e4}.popover-primary .popover-header{color:#fff;background-color:#5e72e4}.popover-primary .popover-body{color:#fff}.popover-primary .popover-header{border-color:rgba(255,255,255,.2)}.popover-primary.bs-popover-auto[x-placement^=top] .arrow::after,.popover-primary.bs-popover-top .arrow::after{border-top-color:#5e72e4}.popover-primary.bs-popover-auto[x-placement^=right] .arrow::after,.popover-primary.bs-popover-right .arrow::after{border-right-color:#5e72e4}.popover-primary.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-primary.bs-popover-bottom .arrow::after{border-bottom-color:#5e72e4}.popover-primary.bs-popover-auto[x-placement^=left] .arrow::after,.popover-primary.bs-popover-left .arrow::after{border-left-color:#5e72e4}.popover-secondary{background-color:#f7fafc}.popover-secondary .popover-header{color:#212529;background-color:#f7fafc}.popover-secondary .popover-body{color:#212529}.popover-secondary .popover-header{border-color:rgba(33,37,41,.2)}.popover-secondary.bs-popover-auto[x-placement^=top] .arrow::after,.popover-secondary.bs-popover-top .arrow::after{border-top-color:#f7fafc}.popover-secondary.bs-popover-auto[x-placement^=right] .arrow::after,.popover-secondary.bs-popover-right .arrow::after{border-right-color:#f7fafc}.popover-secondary.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-secondary.bs-popover-bottom .arrow::after{border-bottom-color:#f7fafc}.popover-secondary.bs-popover-auto[x-placement^=left] .arrow::after,.popover-secondary.bs-popover-left .arrow::after{border-left-color:#f7fafc}.popover-success{background-color:#2dce89}.popover-success .popover-header{color:#fff;background-color:#2dce89}.popover-success .popover-body{color:#fff}.popover-success .popover-header{border-color:rgba(255,255,255,.2)}.popover-success.bs-popover-auto[x-placement^=top] .arrow::after,.popover-success.bs-popover-top .arrow::after{border-top-color:#2dce89}.popover-success.bs-popover-auto[x-placement^=right] .arrow::after,.popover-success.bs-popover-right .arrow::after{border-right-color:#2dce89}.popover-success.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-success.bs-popover-bottom .arrow::after{border-bottom-color:#2dce89}.popover-success.bs-popover-auto[x-placement^=left] .arrow::after,.popover-success.bs-popover-left .arrow::after{border-left-color:#2dce89}.popover-info{background-color:#11cdef}.popover-info .popover-header{color:#fff;background-color:#11cdef}.popover-info .popover-body{color:#fff}.popover-info .popover-header{border-color:rgba(255,255,255,.2)}.popover-info.bs-popover-auto[x-placement^=top] .arrow::after,.popover-info.bs-popover-top .arrow::after{border-top-color:#11cdef}.popover-info.bs-popover-auto[x-placement^=right] .arrow::after,.popover-info.bs-popover-right .arrow::after{border-right-color:#11cdef}.popover-info.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-info.bs-popover-bottom .arrow::after{border-bottom-color:#11cdef}.popover-info.bs-popover-auto[x-placement^=left] .arrow::after,.popover-info.bs-popover-left .arrow::after{border-left-color:#11cdef}.popover-warning{background-color:#fb6340}.popover-warning .popover-header{color:#fff;background-color:#fb6340}.popover-warning .popover-body{color:#fff}.popover-warning .popover-header{border-color:rgba(255,255,255,.2)}.popover-warning.bs-popover-auto[x-placement^=top] .arrow::after,.popover-warning.bs-popover-top .arrow::after{border-top-color:#fb6340}.popover-warning.bs-popover-auto[x-placement^=right] .arrow::after,.popover-warning.bs-popover-right .arrow::after{border-right-color:#fb6340}.popover-warning.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-warning.bs-popover-bottom .arrow::after{border-bottom-color:#fb6340}.popover-warning.bs-popover-auto[x-placement^=left] .arrow::after,.popover-warning.bs-popover-left .arrow::after{border-left-color:#fb6340}.popover-danger{background-color:#f5365c}.popover-danger .popover-header{color:#fff;background-color:#f5365c}.popover-danger .popover-body{color:#fff}.popover-danger .popover-header{border-color:rgba(255,255,255,.2)}.popover-danger.bs-popover-auto[x-placement^=top] .arrow::after,.popover-danger.bs-popover-top .arrow::after{border-top-color:#f5365c}.popover-danger.bs-popover-auto[x-placement^=right] .arrow::after,.popover-danger.bs-popover-right .arrow::after{border-right-color:#f5365c}.popover-danger.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-danger.bs-popover-bottom .arrow::after{border-bottom-color:#f5365c}.popover-danger.bs-popover-auto[x-placement^=left] .arrow::after,.popover-danger.bs-popover-left .arrow::after{border-left-color:#f5365c}.popover-light{background-color:#adb5bd}.popover-light .popover-header{color:#fff;background-color:#adb5bd}.popover-light .popover-body{color:#fff}.popover-light .popover-header{border-color:rgba(255,255,255,.2)}.popover-light.bs-popover-auto[x-placement^=top] .arrow::after,.popover-light.bs-popover-top .arrow::after{border-top-color:#adb5bd}.popover-light.bs-popover-auto[x-placement^=right] .arrow::after,.popover-light.bs-popover-right .arrow::after{border-right-color:#adb5bd}.popover-light.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-light.bs-popover-bottom .arrow::after{border-bottom-color:#adb5bd}.popover-light.bs-popover-auto[x-placement^=left] .arrow::after,.popover-light.bs-popover-left .arrow::after{border-left-color:#adb5bd}.popover-dark{background-color:#212529}.popover-dark .popover-header{color:#fff;background-color:#212529}.popover-dark .popover-body{color:#fff}.popover-dark .popover-header{border-color:rgba(255,255,255,.2)}.popover-dark.bs-popover-auto[x-placement^=top] .arrow::after,.popover-dark.bs-popover-top .arrow::after{border-top-color:#212529}.popover-dark.bs-popover-auto[x-placement^=right] .arrow::after,.popover-dark.bs-popover-right .arrow::after{border-right-color:#212529}.popover-dark.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-dark.bs-popover-bottom .arrow::after{border-bottom-color:#212529}.popover-dark.bs-popover-auto[x-placement^=left] .arrow::after,.popover-dark.bs-popover-left .arrow::after{border-left-color:#212529}.popover-default{background-color:#172b4d}.popover-default .popover-header{color:#fff;background-color:#172b4d}.popover-default .popover-body{color:#fff}.popover-default .popover-header{border-color:rgba(255,255,255,.2)}.popover-default.bs-popover-auto[x-placement^=top] .arrow::after,.popover-default.bs-popover-top .arrow::after{border-top-color:#172b4d}.popover-default.bs-popover-auto[x-placement^=right] .arrow::after,.popover-default.bs-popover-right .arrow::after{border-right-color:#172b4d}.popover-default.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-default.bs-popover-bottom .arrow::after{border-bottom-color:#172b4d}.popover-default.bs-popover-auto[x-placement^=left] .arrow::after,.popover-default.bs-popover-left .arrow::after{border-left-color:#172b4d}.popover-white{background-color:#fff}.popover-white .popover-header{color:#212529;background-color:#fff}.popover-white .popover-body{color:#212529}.popover-white .popover-header{border-color:rgba(33,37,41,.2)}.popover-white.bs-popover-auto[x-placement^=top] .arrow::after,.popover-white.bs-popover-top .arrow::after{border-top-color:#fff}.popover-white.bs-popover-auto[x-placement^=right] .arrow::after,.popover-white.bs-popover-right .arrow::after{border-right-color:#fff}.popover-white.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-white.bs-popover-bottom .arrow::after{border-bottom-color:#fff}.popover-white.bs-popover-auto[x-placement^=left] .arrow::after,.popover-white.bs-popover-left .arrow::after{border-left-color:#fff}.popover-neutral{background-color:#fff}.popover-neutral .popover-header{color:#212529;background-color:#fff}.popover-neutral .popover-body{color:#212529}.popover-neutral .popover-header{border-color:rgba(33,37,41,.2)}.popover-neutral.bs-popover-auto[x-placement^=top] .arrow::after,.popover-neutral.bs-popover-top .arrow::after{border-top-color:#fff}.popover-neutral.bs-popover-auto[x-placement^=right] .arrow::after,.popover-neutral.bs-popover-right .arrow::after{border-right-color:#fff}.popover-neutral.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-neutral.bs-popover-bottom .arrow::after{border-bottom-color:#fff}.popover-neutral.bs-popover-auto[x-placement^=left] .arrow::after,.popover-neutral.bs-popover-left .arrow::after{border-left-color:#fff}.popover-darker{background-color:#000}.popover-darker .popover-header{color:#fff;background-color:#000}.popover-darker .popover-body{color:#fff}.popover-darker .popover-header{border-color:rgba(255,255,255,.2)}.popover-darker.bs-popover-auto[x-placement^=top] .arrow::after,.popover-darker.bs-popover-top .arrow::after{border-top-color:#000}.popover-darker.bs-popover-auto[x-placement^=right] .arrow::after,.popover-darker.bs-popover-right .arrow::after{border-right-color:#000}.popover-darker.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover-darker.bs-popover-bottom .arrow::after{border-bottom-color:#000}.popover-darker.bs-popover-auto[x-placement^=left] .arrow::after,.popover-darker.bs-popover-left .arrow::after{border-left-color:#000}.progress-wrapper{position:relative;padding-top:1.5rem}.progress{overflow:hidden;height:8px;margin-bottom:1rem;border-radius:.25rem;background-color:#e9ecef;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress .sr-only{font-size:13px;line-height:20px;left:0;clip:auto;width:auto;height:20px;margin:0 0 0 30px}.progress-sm{height:5px}.progress-xs{height:3px}.progress-heading{font-size:14px;font-weight:500;margin:0 0 2px;padding:0}.progress-bar{height:auto;border-radius:0;box-shadow:none}.progress-info{display:flex;margin-bottom:.5rem;align-items:center;justify-content:space-between}.progress-label span{font-size:.625rem;font-weight:600;display:inline-block;padding:.25rem 1rem;text-transform:uppercase;color:#5e72e4;border-radius:30px;background:rgba(94,114,228,.1)}.progress-percentage{text-align:right}.progress-percentage span{font-size:.875rem;font-weight:600;display:inline-block;color:#8898aa}.separator{position:absolute;top:auto;right:0;left:0;overflow:hidden;width:100%;height:150px;transform:translateZ(0);pointer-events:none}.separator svg{position:absolute;pointer-events:none}.separator-top{top:0;bottom:auto}.separator-top svg{top:0}.separator-bottom{top:auto;bottom:0}.separator-bottom svg{bottom:0}.separator-inverse{transform:rotate(180deg)}.separator-skew{height:60px}@media (min-width:1200px){.separator-skew{height:70px}}.section-nucleo-icons{--icon-size:5rem;--icon-sm-size:3.75rem;--gutter:7rem}.section-nucleo-icons .icons-container{position:relative;z-index:1;max-width:100%;height:360px;margin:0 auto}.section-nucleo-icons .icons-container i{position:absolute;z-index:1;display:inline-flex;transition:all .2s cubic-bezier(.25,.65,.9,.75);transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 0 2rem 0 rgba(136,152,170,.15);align-items:center;justify-content:center}.section-nucleo-icons .icons-container i.icon{font-size:1.7em;width:var(--icon-size);height:var(--icon-size)}.section-nucleo-icons .icons-container i.icon-sm{font-size:1.5em;width:var(--icon-sm-size);height:var(--icon-sm-size)}.section-nucleo-icons .icons-container i:nth-child(1){font-size:42px;z-index:2;color:#fb6340}.section-nucleo-icons .icons-container i{opacity:1}.section-nucleo-icons .icons-container i:nth-child(1){font-size:42px;top:50%;left:50%;color:#fb6340}.section-nucleo-icons .icons-container i:nth-child(2){top:50%;left:calc(50% + (var(--gutter) * 1.7))}.section-nucleo-icons .icons-container i:nth-child(3){top:calc(50% + var(--gutter));left:calc(50% + var(--gutter))}.section-nucleo-icons .icons-container i:nth-child(4){top:calc(50% - var(--gutter));left:calc(50% + var(--gutter))}.section-nucleo-icons .icons-container i:nth-child(5){top:50%;left:calc(50% + (var(--gutter) * 4))}.section-nucleo-icons .icons-container i:nth-child(6){top:calc(50% + (var(--gutter) * 1.5));left:calc(50% + (var(--gutter) * 2.7))}.section-nucleo-icons .icons-container i:nth-child(7){top:calc(50% - (var(--gutter) * 1.5));left:calc(50% + (var(--gutter) * 2.7))}.section-nucleo-icons .icons-container i:nth-child(8){top:50%;left:calc(50% - (var(--gutter) * 1.7))}.section-nucleo-icons .icons-container i:nth-child(9){top:calc(50% + var(--gutter));left:calc(50% - var(--gutter))}.section-nucleo-icons .icons-container i:nth-child(10){top:calc(50% - var(--gutter));left:calc(50% - var(--gutter))}.section-nucleo-icons .icons-container i:nth-child(11){top:50%;left:calc(50% - (var(--gutter) * 4))}.section-nucleo-icons .icons-container i:nth-child(12){top:calc(50% + (var(--gutter) * 1.5));left:calc(50% - (var(--gutter) * 2.7))}.section-nucleo-icons .icons-container i:nth-child(13){top:calc(50% - (var(--gutter) * 1.5));left:calc(50% - (var(--gutter) * 2.7))}.shortcut-media{transition:all .15s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion:reduce){.shortcut-media{transition:none}}.shortcut-item{padding-top:1rem;padding-bottom:1rem;text-align:center}.shortcut-item small{font-size:.8125rem;font-weight:600;display:block;margin-top:.75rem}.shortcut-item:hover .shortcut-media{transform:scale(1.1)}.table thead th{font-size:.65rem;padding-top:.75rem;padding-bottom:.75rem;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid #e9ecef}.table th{font-weight:600}.table td .progress{width:120px;height:3px;margin:0}.table td,.table th{font-size:.8125rem;white-space:nowrap}.table.align-items-center td,.table.align-items-center th{vertical-align:middle}.table .thead-dark th{color:#4d7bca;background-color:#1c345d}.table .thead-dark th a{color:#4d7bca}.table .thead-light th{color:#8898aa;background-color:#f6f9fc}.table .thead-light th a{color:#8898aa}.table-hover tr{transition:all .15s ease}@media (prefers-reduced-motion:reduce){.table-hover tr{transition:none}}.table-flush td,.table-flush th{border-right:0;border-left:0}.table-flush tbody tr:first-child td,.table-flush tbody tr:first-child th{border-top:0}.table-flush tbody tr:last-child td,.table-flush tbody tr:last-child th{border-bottom:0}.card .table{margin-bottom:0}.card .table td,.card .table th{padding-right:1.5rem;padding-left:1.5rem}.table .custom-toggle{display:block}.table-action{font-size:.875rem;margin:0 .25rem;color:#adb5bd}.table-action:hover{color:#919ca6}.table-action-delete:hover{color:#f5365c}.table-dark .table-action{color:#4d7bca}.table [data-sort]{cursor:pointer}.table .thead-dark [data-sort]::after{margin-left:.25rem;content:url('data:image/svg+xml;utf8,')}.table .thead-light [data-sort]::after{margin-left:.25rem;content:url('data:image/svg+xml;utf8,')}.timeline{position:relative}.timeline:before{position:absolute;top:0;left:1rem;height:100%;content:'';border-right:2px solid #e9ecef}[data-timeline-axis-style=dashed]:before{border-right-style:dashed!important}[data-timeline-axis-style=dotted]:before{border-right-style:dotted!important}.timeline-block{position:relative;margin:2em 0}.timeline-block:after{display:table;clear:both;content:''}.timeline-block:first-child{margin-top:0}.timeline-block:last-child{margin-bottom:0}.timeline-step{font-size:1rem;font-weight:600;position:absolute;z-index:1;left:0;display:inline-flex;width:33px;height:33px;transform:translateX(-50%);text-align:center;border-radius:50%;align-items:center;justify-content:center}.timeline-step i,.timeline-step svg{line-height:1.4}.timeline-step-icon{border:2px solid #e9ecef;background:#fff}.timeline-step-xs{font-size:.75rem;width:17px;height:17px}.timeline-step-sm{font-size:.75rem;width:23px;height:23px}.timeline-step-lg{font-size:1.75rem;width:47px;height:47px}.timeline-content{position:relative;position:relative;top:-6px;margin-left:60px;padding-top:.5rem}.timeline-content:after{display:table;clear:both;content:''}.timeline-body{padding:1.5rem}@media (min-width:992px){.timeline:before{left:50%;margin-left:-2px}.timeline-step{left:50%}.timeline-content{width:38%}.timeline-body{padding:1.5rem}.timeline-block:nth-child(even) .timeline-content{float:right}[data-timeline-axis-color=primary]:before{border-color:#5e72e4}[data-timeline-axis-color=secondary]:before{border-color:#f7fafc}[data-timeline-axis-color=success]:before{border-color:#2dce89}[data-timeline-axis-color=info]:before{border-color:#11cdef}[data-timeline-axis-color=warning]:before{border-color:#fb6340}[data-timeline-axis-color=danger]:before{border-color:#f5365c}[data-timeline-axis-color=light]:before{border-color:#adb5bd}[data-timeline-axis-color=dark]:before{border-color:#212529}[data-timeline-axis-color=default]:before{border-color:#172b4d}[data-timeline-axis-color=white]:before{border-color:#fff}[data-timeline-axis-color=neutral]:before{border-color:#fff}[data-timeline-axis-color=darker]:before{border-color:#000}}.timeline-one-side:before{left:1rem}.timeline-one-side .timeline-step{left:1rem}.timeline-one-side .timeline-content{width:auto}@media (min-width:992px){.timeline-one-side .timeline-content{max-width:30rem}}.timeline-one-side .timeline-block:nth-child(even) .timeline-content{float:none}p{font-size:1rem;font-weight:300;line-height:1.7}.lead{font-size:1.25rem;font-weight:300;line-height:1.7;margin-top:1.5rem}.lead+.btn-wrapper{margin-top:3rem}.description{font-size:.875rem}article h4:not(:first-child),article h5:not(:first-child){margin-top:3rem}article h4,article h5{margin-bottom:1.5rem}article figure{margin:3rem 0}article h5+figure{margin-top:0}.display-1 span,.display-2 span,.display-3 span,.display-4 span{font-weight:300;display:block}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{color:inherit}.heading{font-size:.95rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.heading-small{font-size:.75rem;padding-top:.25rem;padding-bottom:.25rem;letter-spacing:.04em;text-transform:uppercase}.heading-title{font-size:1.375rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.heading-section{font-size:1.375rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.heading-section img{display:block;width:72px;height:72px;margin-bottom:1.5rem}.heading-section.text-center img{margin-right:auto;margin-left:auto}.surtitle{margin-bottom:0;letter-spacing:2px;text-transform:uppercase;color:#8898aa}.bg-blue{background-color:#5e72e4!important}a.bg-blue:focus,a.bg-blue:hover,button.bg-blue:focus,button.bg-blue:hover{background-color:#324cdd!important}.bg-indigo{background-color:#5603ad!important}a.bg-indigo:focus,a.bg-indigo:hover,button.bg-indigo:focus,button.bg-indigo:hover{background-color:#3d027b!important}.bg-purple{background-color:#8965e0!important}a.bg-purple:focus,a.bg-purple:hover,button.bg-purple:focus,button.bg-purple:hover{background-color:#683bd7!important}.bg-pink{background-color:#f3a4b5!important}a.bg-pink:focus,a.bg-pink:hover,button.bg-pink:focus,button.bg-pink:hover{background-color:#ed7790!important}.bg-red{background-color:#f5365c!important}a.bg-red:focus,a.bg-red:hover,button.bg-red:focus,button.bg-red:hover{background-color:#ec0c38!important}.bg-orange{background-color:#fb6340!important}a.bg-orange:focus,a.bg-orange:hover,button.bg-orange:focus,button.bg-orange:hover{background-color:#fa3a0e!important}.bg-yellow{background-color:#ffd600!important}a.bg-yellow:focus,a.bg-yellow:hover,button.bg-yellow:focus,button.bg-yellow:hover{background-color:#ccab00!important}.bg-green{background-color:#2dce89!important}a.bg-green:focus,a.bg-green:hover,button.bg-green:focus,button.bg-green:hover{background-color:#24a46d!important}.bg-teal{background-color:#11cdef!important}a.bg-teal:focus,a.bg-teal:hover,button.bg-teal:focus,button.bg-teal:hover{background-color:#0da5c0!important}.bg-cyan{background-color:#2bffc6!important}a.bg-cyan:focus,a.bg-cyan:hover,button.bg-cyan:focus,button.bg-cyan:hover{background-color:#00f7b5!important}.bg-white{background-color:#fff!important}a.bg-white:focus,a.bg-white:hover,button.bg-white:focus,button.bg-white:hover{background-color:#e6e6e6!important}.bg-gray{background-color:#8898aa!important}a.bg-gray:focus,a.bg-gray:hover,button.bg-gray:focus,button.bg-gray:hover{background-color:#6a7e95!important}.bg-gray-dark{background-color:#32325d!important}a.bg-gray-dark:focus,a.bg-gray-dark:hover,button.bg-gray-dark:focus,button.bg-gray-dark:hover{background-color:#20203c!important}.bg-light{background-color:#ced4da!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#b1bbc4!important}.bg-lighter{background-color:#e9ecef!important}a.bg-lighter:focus,a.bg-lighter:hover,button.bg-lighter:focus,button.bg-lighter:hover{background-color:#cbd3da!important}.bg-gradient-primary{background:linear-gradient(87deg,#5e72e4 0,#825ee4 100%)!important}.bg-gradient-secondary{background:linear-gradient(87deg,#f7fafc 0,#f7f8fc 100%)!important}.bg-gradient-success{background:linear-gradient(87deg,#2dce89 0,#2dcecc 100%)!important}.bg-gradient-info{background:linear-gradient(87deg,#11cdef 0,#1171ef 100%)!important}.bg-gradient-warning{background:linear-gradient(87deg,#fb6340 0,#fbb140 100%)!important}.bg-gradient-danger{background:linear-gradient(87deg,#f5365c 0,#f56036 100%)!important}.bg-gradient-light{background:linear-gradient(87deg,#adb5bd 0,#adaebd 100%)!important}.bg-gradient-dark{background:linear-gradient(87deg,#212529 0,#212229 100%)!important}.bg-gradient-default{background:linear-gradient(87deg,#172b4d 0,#1a174d 100%)!important}.bg-gradient-white{background:linear-gradient(87deg,#fff 0,#fff 100%)!important}.bg-gradient-neutral{background:linear-gradient(87deg,#fff 0,#fff 100%)!important}.bg-gradient-darker{background:linear-gradient(87deg,#000 0,#000 100%)!important}.bg-gradient-blue{background:linear-gradient(87deg,#5e72e4 0,#825ee4 100%)!important}.bg-gradient-indigo{background:linear-gradient(87deg,#5603ad 0,#9d03ad 100%)!important}.bg-gradient-purple{background:linear-gradient(87deg,#8965e0 0,#bc65e0 100%)!important}.bg-gradient-pink{background:linear-gradient(87deg,#f3a4b5 0,#f3b4a4 100%)!important}.bg-gradient-red{background:linear-gradient(87deg,#f5365c 0,#f56036 100%)!important}.bg-gradient-orange{background:linear-gradient(87deg,#fb6340 0,#fbb140 100%)!important}.bg-gradient-yellow{background:linear-gradient(87deg,#ffd600 0,#beff00 100%)!important}.bg-gradient-green{background:linear-gradient(87deg,#2dce89 0,#2dcecc 100%)!important}.bg-gradient-teal{background:linear-gradient(87deg,#11cdef 0,#1171ef 100%)!important}.bg-gradient-cyan{background:linear-gradient(87deg,#2bffc6 0,#2be0ff 100%)!important}.bg-gradient-white{background:linear-gradient(87deg,#fff 0,#fff 100%)!important}.bg-gradient-gray{background:linear-gradient(87deg,#8898aa 0,#888aaa 100%)!important}.bg-gradient-gray-dark{background:linear-gradient(87deg,#32325d 0,#44325d 100%)!important}.bg-gradient-light{background:linear-gradient(87deg,#ced4da 0,#cecfda 100%)!important}.bg-gradient-lighter{background:linear-gradient(87deg,#e9ecef 0,#e9eaef 100%)!important}.bg-translucent-primary{background-color:rgba(63,87,223,.6)!important}a.bg-translucent-primary:focus,a.bg-translucent-primary:hover,button.bg-translucent-primary:focus,button.bg-translucent-primary:hover{background-color:rgba(42,68,219,.6)!important}.bg-translucent-secondary{background-color:rgba(221,234,242,.6)!important}a.bg-translucent-secondary:focus,a.bg-translucent-secondary:hover,button.bg-translucent-secondary:focus,button.bg-translucent-secondary:hover{background-color:rgba(202,222,235,.6)!important}.bg-translucent-success{background-color:rgba(39,177,118,.6)!important}a.bg-translucent-success:focus,a.bg-translucent-success:hover,button.bg-translucent-success:focus,button.bg-translucent-success:hover{background-color:rgba(34,156,104,.6)!important}.bg-translucent-info{background-color:rgba(14,177,206,.6)!important}a.bg-translucent-info:focus,a.bg-translucent-info:hover,button.bg-translucent-info:focus,button.bg-translucent-info:hover{background-color:rgba(12,156,183,.6)!important}.bg-translucent-warning{background-color:rgba(250,70,29,.6)!important}a.bg-translucent-warning:focus,a.bg-translucent-warning:hover,button.bg-translucent-warning:focus,button.bg-translucent-warning:hover{background-color:rgba(249,51,5,.6)!important}.bg-translucent-danger{background-color:rgba(243,20,64,.6)!important}a.bg-translucent-danger:focus,a.bg-translucent-danger:hover,button.bg-translucent-danger:focus,button.bg-translucent-danger:hover{background-color:rgba(227,11,54,.6)!important}.bg-translucent-light{background-color:rgba(153,163,173,.6)!important}a.bg-translucent-light:focus,a.bg-translucent-light:hover,button.bg-translucent-light:focus,button.bg-translucent-light:hover{background-color:rgba(139,150,162,.6)!important}.bg-translucent-dark{background-color:rgba(17,19,21,.6)!important}a.bg-translucent-dark:focus,a.bg-translucent-dark:hover,button.bg-translucent-dark:focus,button.bg-translucent-dark:hover{background-color:rgba(6,6,7,.6)!important}.bg-translucent-default{background-color:rgba(15,28,50,.6)!important}a.bg-translucent-default:focus,a.bg-translucent-default:hover,button.bg-translucent-default:focus,button.bg-translucent-default:hover{background-color:rgba(9,17,30,.6)!important}.bg-translucent-white{background-color:rgba(237,237,237,.6)!important}a.bg-translucent-white:focus,a.bg-translucent-white:hover,button.bg-translucent-white:focus,button.bg-translucent-white:hover{background-color:rgba(224,224,224,.6)!important}.bg-translucent-neutral{background-color:rgba(237,237,237,.6)!important}a.bg-translucent-neutral:focus,a.bg-translucent-neutral:hover,button.bg-translucent-neutral:focus,button.bg-translucent-neutral:hover{background-color:rgba(224,224,224,.6)!important}.bg-translucent-darker{background-color:rgba(0,0,0,.6)!important}a.bg-translucent-darker:focus,a.bg-translucent-darker:hover,button.bg-translucent-darker:focus,button.bg-translucent-darker:hover{background-color:rgba(0,0,0,.6)!important}.section-primary{background-color:#f8f9fe!important}a.section-primary:focus,a.section-primary:hover,button.section-primary:focus,button.section-primary:hover{background-color:#cbd3f8!important}.section-secondary{background-color:#f7fafc!important}a.section-secondary:focus,a.section-secondary:hover,button.section-secondary:focus,button.section-secondary:hover{background-color:#d2e3ee!important}.section-light{background-color:#ced4da!important}a.section-light:focus,a.section-light:hover,button.section-light:focus,button.section-light:hover{background-color:#b1bbc4!important}.section-dark{background-color:#212529!important}a.section-dark:focus,a.section-dark:hover,button.section-dark:focus,button.section-dark:hover{background-color:#0a0c0d!important}.section-darker{background-color:#000!important}a.section-darker:focus,a.section-darker:hover,button.section-darker:focus,button.section-darker:hover{background-color:#000!important}.bg-gradient-primary{background:linear-gradient(87deg,#5e72e4 0,#825ee4 100%)!important}.bg-gradient-secondary{background:linear-gradient(87deg,#f7fafc 0,#f7f8fc 100%)!important}.bg-gradient-success{background:linear-gradient(87deg,#2dce89 0,#2dcecc 100%)!important}.bg-gradient-info{background:linear-gradient(87deg,#11cdef 0,#1171ef 100%)!important}.bg-gradient-warning{background:linear-gradient(87deg,#fb6340 0,#fbb140 100%)!important}.bg-gradient-danger{background:linear-gradient(87deg,#f5365c 0,#f56036 100%)!important}.bg-gradient-light{background:linear-gradient(87deg,#adb5bd 0,#adaebd 100%)!important}.bg-gradient-dark{background:linear-gradient(87deg,#212529 0,#212229 100%)!important}.bg-gradient-default{background:linear-gradient(87deg,#172b4d 0,#1a174d 100%)!important}.bg-gradient-white{background:linear-gradient(87deg,#fff 0,#fff 100%)!important}.bg-gradient-neutral{background:linear-gradient(87deg,#fff 0,#fff 100%)!important}.bg-gradient-darker{background:linear-gradient(87deg,#000 0,#000 100%)!important}.fill-primary{fill:#5e72e4}.stroke-primary{stroke:#5e72e4}.fill-secondary{fill:#f7fafc}.stroke-secondary{stroke:#f7fafc}.fill-success{fill:#2dce89}.stroke-success{stroke:#2dce89}.fill-info{fill:#11cdef}.stroke-info{stroke:#11cdef}.fill-warning{fill:#fb6340}.stroke-warning{stroke:#fb6340}.fill-danger{fill:#f5365c}.stroke-danger{stroke:#f5365c}.fill-light{fill:#adb5bd}.stroke-light{stroke:#adb5bd}.fill-dark{fill:#212529}.stroke-dark{stroke:#212529}.fill-default{fill:#172b4d}.stroke-default{stroke:#172b4d}.fill-white{fill:#fff}.stroke-white{stroke:#fff}.fill-neutral{fill:#fff}.stroke-neutral{stroke:#fff}.fill-darker{fill:#000}.stroke-darker{stroke:#000}.fill-opacity-8{fill-opacity:.8}.blur--hover{position:relative}.blur--hover .blur-item{transition:1s cubic-bezier(.19,1,.22,1);opacity:1;will-change:transform;filter:blur(0)}.blur--hover .blur-hidden{position:absolute;z-index:100;top:calc(50% + 7px);left:50%;transition:all .15s ease;transform:translate(-50%,-50%);opacity:0}.blur--hover:hover .blur-item{z-index:1;transform:scale(.95);opacity:.8;filter:blur(10px)}.blur--hover:hover .blur-hidden{top:50%;opacity:1}.floating{animation:floating 3s ease infinite;will-change:transform}.floating:hover{animation-play-state:paused}.floating-lg{animation:floating-lg 3s ease infinite}.floating-sm{animation:floating-sm 3s ease infinite}@keyframes floating-lg{0%{transform:translateY(0)}50%{transform:translateY(15px)}100%{transform:translateY(0)}}@keyframes floating{0%{transform:translateY(0)}50%{transform:translateY(10px)}100%{transform:translateY(0)}}@keyframes floating-sm{0%{transform:translateY(0)}50%{transform:translateY(5px)}100%{transform:translateY(0)}}.floatfix:after,.floatfix:before{display:table;content:''}.floatfix:after{clear:both}.img-center{display:block;margin-right:auto;margin-left:auto}.opacity-1{opacity:.1!important}.opacity-2{opacity:.2!important}.opacity-3{opacity:.3!important}.opacity-4{opacity:.4!important}.opacity-5{opacity:.5!important}.opacity-6{opacity:.6!important}.opacity-7{opacity:.7!important}.opacity-8{opacity:.8!important}.opacity-8{opacity:.9!important}.opacity-10{opacity:1!important}.overflow-visible{overflow:visible!important}.overflow-hidden{overflow:hidden!important}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:.25rem}.right-1{right:.25rem}.bottom-1{bottom:.25rem}.left-1{left:.25rem}.top-2{top:.5rem}.right-2{right:.5rem}.bottom-2{bottom:.5rem}.left-2{left:.5rem}.top-3{top:1rem}.right-3{right:1rem}.bottom-3{bottom:1rem}.left-3{left:1rem}.top-4{top:1.5rem}.right-4{right:1.5rem}.bottom-4{bottom:1.5rem}.left-4{left:1.5rem}.top-5{top:3rem}.right-5{right:3rem}.bottom-5{bottom:3rem}.left-5{left:3rem}.top--9{top:-10rem}.right--9{right:-10rem}.bottom--9{bottom:-10rem}.left--9{left:-10rem}.top--8{top:-8rem}.right--8{right:-8rem}.bottom--8{bottom:-8rem}.left--8{left:-8rem}.top--7{top:-6rem}.right--7{right:-6rem}.bottom--7{bottom:-6rem}.left--7{left:-6rem}.top--6{top:-4.5rem}.right--6{right:-4.5rem}.bottom--6{bottom:-4.5rem}.left--6{left:-4.5rem}.top--5{top:-3rem}.right--5{right:-3rem}.bottom--5{bottom:-3rem}.left--5{left:-3rem}.top--4{top:-1.5rem}.right--4{right:-1.5rem}.bottom--4{bottom:-1.5rem}.left--4{left:-1.5rem}.top--3{top:-1rem}.right--3{right:-1rem}.bottom--3{bottom:-1rem}.left--3{left:-1rem}.top--2{top:-.5rem}.right--2{right:-.5rem}.bottom--2{bottom:-.5rem}.left--2{left:-.5rem}.top--1{top:-.25rem}.right--1{right:-.25rem}.bottom--1{bottom:-.25rem}.left--1{left:-.25rem}.top-6{top:4.5rem}.right-6{right:4.5rem}.bottom-6{bottom:4.5rem}.left-6{left:4.5rem}.top-7{top:6rem}.right-7{right:6rem}.bottom-7{bottom:6rem}.left-7{left:6rem}.top-8{top:8rem}.right-8{right:8rem}.bottom-8{bottom:8rem}.left-8{left:8rem}.top-9{top:10rem}.right-9{right:10rem}.bottom-9{bottom:10rem}.left-9{left:10rem}.center{left:50%;transform:translateX(-50%)}[class*=shadow]{transition:all .15s ease}.shadow-sm--hover:hover{box-shadow:0 0 .5rem rgba(136,152,170,.075)!important}.shadow--hover:hover{box-shadow:0 0 2rem 0 rgba(136,152,170,.15)!important}.shadow-lg--hover:hover{box-shadow:0 0 3rem rgba(136,152,170,.175)!important}.shadow-none--hover:hover{box-shadow:none!important}.h-100vh{height:100vh!important}.row.row-grid>[class*=col-]+[class*=col-]{margin-top:3rem}@media (min-width:992px){.row.row-grid>[class*=col-lg-]+[class*=col-lg-]{margin-top:0}}@media (min-width:768px){.row.row-grid>[class*=col-md-]+[class*=col-md-]{margin-top:0}}@media (min-width:576px){.row.row-grid>[class*=col-sm-]+[class*=col-sm-]{margin-top:0}}.row-grid+.row-grid{margin-top:3rem}@media (min-width:992px){.mt--100{margin-top:-100px!important}.mr--100{margin-right:-100px!important}.mb--100{margin-bottom:-100px!important}.ml--100{margin-left:-100px!important}.mt--150{margin-top:-150px!important}.mb--150{margin-bottom:-150px!important}.mt--200{margin-top:-200px!important}.mb--200{margin-bottom:-200px!important}.mt--300{margin-top:-300px!important}.mb--300{margin-bottom:-300px!important}.pt-100{padding-top:100px!important}.pb-100{padding-bottom:100px!important}.pt-150{padding-top:150px!important}.pb-150{padding-bottom:150px!important}.pt-200{padding-top:200px!important}.pb-200{padding-bottom:200px!important}.pt-250{padding-top:250px!important}.pb-250{padding-bottom:250px!important}.pt-300{padding-top:300px!important}.pb-300{padding-bottom:300px!important}}.font-weight-300{font-weight:300!important}.font-weight-400{font-weight:400!important}.font-weight-500{font-weight:500!important}.font-weight-600{font-weight:600!important}.font-weight-700{font-weight:700!important}.font-weight-800{font-weight:800!important}.font-weight-900{font-weight:900!important}.text-underline{text-decoration:underline}.text-through{text-decoration:line-through}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-lg{font-size:1.25rem!important}.text-xl{font-size:1.5rem!important}.lh-100{line-height:1}.lh-110{line-height:1.1}.lh-120{line-height:1.2}.lh-130{line-height:1.3}.lh-140{line-height:1.4}.lh-150{line-height:1.5}.lh-160{line-height:1.6}.lh-170{line-height:1.7}.lh-180{line-height:1.8}.ls-1{letter-spacing:.0625rem}.ls-15{letter-spacing:.09375rem}.ls-2{letter-spacing:.125rem}.text-blue{color:#5e72e4!important}a.text-blue:focus,a.text-blue:hover{color:#233dd2!important}.text-indigo{color:#5603ad!important}a.text-indigo:focus,a.text-indigo:hover{color:#310262!important}.text-purple{color:#8965e0!important}a.text-purple:focus,a.text-purple:hover{color:#5a2acf!important}.text-pink{color:#f3a4b5!important}a.text-pink:focus,a.text-pink:hover{color:#ea607e!important}.text-red{color:#f5365c!important}a.text-red:focus,a.text-red:hover{color:#d40b33!important}.text-orange{color:#fb6340!important}a.text-orange:focus,a.text-orange:hover{color:#ea3005!important}.text-yellow{color:#ffd600!important}a.text-yellow:focus,a.text-yellow:hover{color:#b39600!important}.text-green{color:#2dce89!important}a.text-green:focus,a.text-green:hover{color:#1f8f5f!important}.text-teal{color:#11cdef!important}a.text-teal:focus,a.text-teal:hover{color:#0b90a8!important}.text-cyan{color:#2bffc6!important}a.text-cyan:focus,a.text-cyan:hover{color:#00dea2!important}.text-white{color:#fff!important}a.text-white:focus,a.text-white:hover{color:#d9d9d9!important}.text-gray{color:#8898aa!important}a.text-gray:focus,a.text-gray:hover{color:#607286!important}.text-gray-dark{color:#32325d!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#17172b!important}.text-light{color:#ced4da!important}a.text-light:focus,a.text-light:hover{color:#a2aeb9!important}.text-lighter{color:#e9ecef!important}a.text-lighter:focus,a.text-lighter:hover{color:#bdc6cf!important}@media (min-width:992px){.transform-perspective-right{transform:scale(1) perspective(1040px) rotateY(-11deg) rotateX(2deg) rotate(2deg)}.transform-perspective-left{transform:scale(1) perspective(2000px) rotateY(11deg) rotateX(2deg) rotate(-2deg)}}.datepicker{border-radius:.375rem;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0;padding:20px 22px;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1)}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-top:7px solid #fff;border-bottom:0}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-top:6px solid #fff;border-bottom:0}.datepicker table{margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.datepicker table tr td{border-radius:50%}.datepicker table tr th{font-weight:500;border-radius:.375rem}.datepicker table tr td,.datepicker table tr th{font-size:.875rem;width:36px;height:36px;transition:all .15s ease;text-align:center;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.new,.datepicker table tr td.old{color:#adb5bd}.datepicker table tr td.day:hover,.datepicker table tr td.focused{cursor:pointer;background:#fff}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{cursor:default;color:#dee2e6;background:0 0}.datepicker table tr td.highlighted{border-radius:0}.datepicker table tr td.highlighted.focused{background:#5e72e4}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{color:#ced4da;background:#5e72e4}.datepicker table tr td.today{background:#fff}.datepicker table tr td.today.focused{background:#fff}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{color:#8898aa;background:#fff}.datepicker table tr td.range{color:#fff;border-radius:0;background:#5e72e4}.datepicker table tr td.range.focused{background:#3b53de}.datepicker table tr td.range.day.disabled:hover,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{color:#8a98eb;background:#324cdd}.datepicker table tr td.range.highlighted.focused{background:#cbd3da}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{color:#dee2e6;background:#e9ecef}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{color:#fff;background:#5e72e4}.datepicker table tr td.day.range-start{border-top-right-radius:0;border-bottom-right-radius:0}.datepicker table tr td.day.range-end{border-top-left-radius:0;border-bottom-left-radius:0}.datepicker table tr td.day.range-start.range-end{border-radius:50%}.datepicker table tr td.day.range:hover,.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted,.datepicker table tr td.selected.highlighted:hover,.datepicker table tr td.selected:hover{color:#fff;background:#5e72e4}.datepicker table tr td.active,.datepicker table tr td.active.highlighted,.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:hover{color:#fff;background:#5e72e4;box-shadow:none}.datepicker table tr td span{line-height:54px;display:block;float:left;width:23%;height:54px;margin:1%;cursor:pointer;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#e9ecef}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{cursor:default;color:#dee2e6;background:0 0}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#8898aa}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#e9ecef}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.bootstrap-tagsinput{display:inline-block;max-width:100%;padding:.25rem;cursor:text;vertical-align:middle;color:#8898aa;border:0 solid transparent;border-radius:.25rem;background-color:#fff}.bootstrap-tagsinput input{width:auto;max-width:inherit;margin:0;padding:0 6px;border:none;outline:0;background-color:transparent;box-shadow:none}.bootstrap-tagsinput input::-ms-input-placeholder{opacity:1;color:#adb5bd}.bootstrap-tagsinput input::placeholder{opacity:1;color:#adb5bd}.bootstrap-tagsinput input:focus{border:none;box-shadow:none}.bootstrap-tagsinput .badge{line-height:1.5;position:relative;margin:.125rem;padding:.625rem .625rem .5rem;transition:all .15s ease;color:#fff;border-radius:.25rem;background:#172b4d;box-shadow:0 1px 2px rgba(68,68,68,.25)}@media (prefers-reduced-motion:reduce){.bootstrap-tagsinput .badge{transition:none}}.bootstrap-tagsinput .badge:hover{padding-right:1.5rem}.bootstrap-tagsinput [data-role=remove]{position:absolute;top:50%;margin-left:10px;cursor:pointer;transform:translate(0,-50%);color:#fff}.bootstrap-tagsinput [data-role=remove]:after{font-size:16px;content:'×'}#chartjs-tooltip{position:absolute;transition:all .1s ease;transform:translate(-50%,0);pointer-events:none;opacity:1;color:#fff;border-radius:3px;background:rgba(0,0,0,.7)}.chartjs-tooltip-key{display:inline-block;width:10px;height:10px;margin-right:10px}.dataTables_wrapper{font-size:.875rem}table.dataTable{margin-bottom:1.25rem!important;border-bottom:1px solid #e9ecef}table.dataTable tbody>tr.selected{background-color:#5e72e4}.dataTables_info,.dataTables_length,.dt-buttons{padding-left:1.5rem}.dataTables_length .form-control{margin:0 .375rem}.dataTables_filter{display:inline-block;float:right;padding-right:1.5rem}.dataTables_paginate{padding-right:1.5rem}.dropzone{position:relative;display:flex;flex-direction:column}.dz-message{z-index:999;padding:5rem 1rem;cursor:pointer;transition:all .15s ease;text-align:center;color:#8898aa;border:1px dashed #dee2e6;border-radius:.375rem;background-color:#fff;order:-1}.dz-message:hover{color:#525f7f;border-color:#8898aa}.dz-drag-hover .dz-message{color:#5e72e4;border-color:#5e72e4}.dropzone-multiple .dz-message{padding-top:2rem;padding-bottom:2rem}.dropzone-single.dz-max-files-reached .dz-message{opacity:0;color:#fff;background-color:rgba(0,0,0,.9)}.dropzone-single.dz-max-files-reached .dz-message:hover{opacity:1}.dz-preview-single{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.375rem}.dz-preview-cover{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.375rem}.dz-preview-img{width:100%;height:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover}.dz-preview-multiple .list-group-item:last-child{padding-bottom:0;border-bottom:0}[data-dz-size] strong{font-weight:400}.fc-header-toolbar{display:none}.fc-scroller{height:auto!important}.fc th{font-size:.75rem;font-weight:600;padding:.75rem 1rem;text-transform:uppercase;color:#8898aa}.fc div.fc-row{margin-right:0;border:0}.fc button .fc-icon{top:-5px}.fc-unthemed td.fc-today{background-color:transparent}.fc-unthemed td.fc-today span{color:#fb6340}.fc-event{font-size:.75rem;padding:0;border:0;border-radius:.25rem}.fc-event .fc-title{font-weight:600;display:block;overflow:hidden;padding:.4rem .5rem;white-space:nowrap;text-overflow:ellipsis;color:#fff}.fc-event .fc-time{float:left;margin:0 0 0 -1px;padding:2px 6px;background:rgba(0,0,0,.2)}.fc-view,.fc-view>table{overflow:hidden;border:0}.fc-view>table>tbody>tr .ui-widget-content{border-top:0}.fc-body{border:0}.fc-icon{font-family:NucleoIcons,sans-serif;font-size:1rem;line-height:35px;width:35px;height:35px;border-radius:50%}.fc-icon:hover{color:#5e72e4}.fc-button{border:0;background:0 0;box-shadow:none}.fc-button:active,.fc-button:focus{outline:0}.calendar{z-index:0}.calendar td,.calendar th{border-color:#eff1f3}.calendar .fc-toolbar{position:relative;z-index:2;height:250px;margin-bottom:-2px;border-radius:.375rem .375rem 0 0;background-color:#fff}@media (max-width:575.98px){.calendar .fc-toolbar{height:135px}}.calendar .fc-day-number{box-sizing:border-box;width:100%;padding:.5rem 1rem}@media (min-width:576px){.calendar .fc-day-number{font-size:.875rem;font-weight:600;color:#67779d}}.calendar .fc-day-header{text-align:left}.calendar .fc-day-grid-event{margin:1px 9px}[data-calendar-month]{transition:background-image .3s;background-size:contain}@media (prefers-reduced-motion:reduce){[data-calendar-month]{transition:none}}[data-calendar-month='0']{background-image:url(../img/calendar/january.jpg)}[data-calendar-month='1']{background-image:url(../img/calendar/february.jpg)}[data-calendar-month='2']{background-image:url(../img/calendar/march.jpg)}[data-calendar-month='3']{background-image:url(../img/calendar/april.jpg)}[data-calendar-month='4']{background-image:url(../img/calendar/may.jpg)}[data-calendar-month='5']{background-image:url(../img/calendar/june.jpg)}[data-calendar-month='6']{background-image:url(../img/calendar/july.jpg)}[data-calendar-month='7']{background-image:url(../img/calendar/august.jpg)}[data-calendar-month='8']{background-image:url(../img/calendar/september.jpg)}[data-calendar-month='9']{background-image:url(../img/calendar/october.jpg)}[data-calendar-month='10']{background-image:url(../img/calendar/november.jpg)}[data-calendar-month='11']{background-image:url(../img/calendar/december.jpg)}.card-calendar .card-header{border-bottom:0}.card-calendar table{background:0 0}.card-calendar table tr>td:first-child{border-left-width:0}.card-calendar table tr>td:last-child{border-right-width:0}.widget-calendar{position:relative;z-index:0}.widget-calendar td,.widget-calendar th{text-align:center;border-color:transparent}.widget-calendar .fc-toolbar{margin-top:1.25rem}.widget-calendar .fc-toolbar h2{font-size:1rem}.widget-calendar .fc-day-number{width:100%;padding:0;text-align:center}.widget-calendar .fc table{font-size:.875rem}.widget-calendar .fc th{font-size:.75rem;padding:.75rem .5rem}.vector-map{position:relative;height:600px}.vector-map-sm{height:280px}.jvectormap-container{width:100%;height:100%}.jvectormap-zoomin,.jvectormap-zoomout{position:absolute;bottom:0;left:0}.jvectormap-zoomin{bottom:4.25rem}.jvectormap-zoomout{bottom:2rem}/*! - * Lavalamp - * http://lavalamp.magicmediamuse.com/ - */.lavalamp{position:relative}.lavalamp-item{position:relative;z-index:5}.lavalamp-object{position:absolute;top:0;left:0}.lavalamp .lavalamp-object{transition-property:transform,width,height}.lavalamp .lavalamp-object.ease{transition-timing-function:ease}.lavalamp .lavalamp-object.ease-in{transition-timing-function:ease-in}.lavalamp .lavalamp-object.ease-out{transition-timing-function:ease-out}.lavalamp .lavalamp-object.ease-in-out{transition-timing-function:ease-in-out}.lavalamp .lavalamp-object.linear{transition-timing-function:linear}.lavalamp .lavalamp-object.easeInQuad{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}.lavalamp .lavalamp-object.easeInCubic{transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.lavalamp .lavalamp-object.easeInQuart{transition-timing-function:cubic-bezier(.895,.03,.685,.22)}.lavalamp .lavalamp-object.easeInQuint{transition-timing-function:cubic-bezier(.755,.05,.855,.06)}.lavalamp .lavalamp-object.easeInSine{transition-timing-function:cubic-bezier(.47,0,.745,.715)}.lavalamp .lavalamp-object.easeInExpo{transition-timing-function:cubic-bezier(.95,.05,.795,.035)}.lavalamp .lavalamp-object.easeInCirc{transition-timing-function:cubic-bezier(.6,.04,.98,.335)}.lavalamp .lavalamp-object.easeInBack{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}.lavalamp .lavalamp-object.easeOutQuad{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.lavalamp .lavalamp-object.easeOutCubic{transition-timing-function:cubic-bezier(.215,.61,.355,1)}.lavalamp .lavalamp-object.easeOutQuart{transition-timing-function:cubic-bezier(.165,.84,.44,1)}.lavalamp .lavalamp-object.easeOutQuint{transition-timing-function:cubic-bezier(.23,1,.32,1)}.lavalamp .lavalamp-object.easeOutSine{transition-timing-function:cubic-bezier(.39,.575,.565,1)}.lavalamp .lavalamp-object.easeOutExpo{transition-timing-function:cubic-bezier(.19,1,.22,1)}.lavalamp .lavalamp-object.easeOutCirc{transition-timing-function:cubic-bezier(.075,.82,.165,1)}.lavalamp .lavalamp-object.easeOutBack{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}.lavalamp .lavalamp-object.easeInOutQuad{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}.lavalamp .lavalamp-object.easeInOutCubic{transition-timing-function:cubic-bezier(.645,.045,.355,1)}.lavalamp .lavalamp-object.easeInOutQuart{transition-timing-function:cubic-bezier(.645,.045,.355,1)}.lavalamp .lavalamp-object.easeInOutQuint{transition-timing-function:cubic-bezier(.86,0,.07,1)}.lavalamp .lavalamp-object.easeInOutSine{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}.lavalamp .lavalamp-object.easeInOutExpo{transition-timing-function:cubic-bezier(1,0,0,1)}.lavalamp .lavalamp-object.easeInOutCirc{transition-timing-function:cubic-bezier(.785,.135,.15,.86)}.lavalamp .lavalamp-object.easeInOutBack{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.noUi-target,.noUi-target *{box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none}.noUi-target{position:relative;direction:ltr}.noUi-base,.noUi-connects{position:relative;z-index:1;width:100%;height:100%}.noUi-connects{z-index:0;overflow:hidden}.noUi-connect,.noUi-origin{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;transform-origin:0 0;will-change:transform}html:not([dir=rtl]) .noUi-horizontal .noUi-origin{right:0;left:auto}.noUi-vertical .noUi-origin{width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{position:absolute}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:5px}.noUi-horizontal .noUi-handle{top:-6px;left:-17px;width:34px;height:28px}.noUi-vertical{width:5px}.noUi-vertical .noUi-handle{top:-17px;left:-6px;width:28px;height:34px}html:not([dir=rtl]) .noUi-horizontal .noUi-handle{right:-17px;left:auto}.noUi-connects{border-radius:3px}.noUi-connect{background:#5e72e4}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{cursor:default;border:1px solid #d9d9d9;border-radius:3px;outline:0;background:#fff;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb}.noUi-active{outline:0}[disabled] .noUi-connect{background:#b8b8b8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;text-align:center;white-space:nowrap}.noUi-value-sub{font-size:10px;color:#ccc}.noUi-marker{position:absolute;background:#ccc}.noUi-marker-sub{background:#aaa}.noUi-marker-large{background:#aaa}.noUi-pips-horizontal{top:100%;left:0;width:100%;height:80px;padding:10px 0}.noUi-value-horizontal{transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{width:2px;height:5px;margin-left:-1px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{top:0;left:100%;height:100%;padding:0 10px}.noUi-value-vertical{padding-left:25px;transform:translate(0,-50%,0)}.noUi-rtl .noUi-value-vertical{transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{position:absolute;display:block;padding:5px;text-align:center;white-space:nowrap;color:#000;border:1px solid #d9d9d9;border-radius:3px;background:#fff}.noUi-horizontal .noUi-tooltip{bottom:120%;left:50%;transform:translate(-50%,0)}.noUi-vertical .noUi-tooltip{top:50%;right:120%;transform:translate(0,-50%)}.noUi-target{margin:15px 0;cursor:pointer;border:0;border-radius:5px;background:#eceeef;box-shadow:inset 0 1px 2px rgba(90,97,105,.1)}.noUi-horizontal{height:5px}html:not([dir=rtl]) .noUi-horizontal .noUi-handle{right:-10px}.noUi-vertical{width:5px}.noUi-connect{background:#5e72e4;box-shadow:none}.noUi-horizontal .noUi-handle,.noUi-vertical .noUi-handle{top:-5px;width:15px;height:15px;cursor:pointer;transition:box-shadow .15s,transform .15s;border:0;border-radius:100%;background-color:#5e72e4;box-shadow:none}.noUi-horizontal .noUi-handle.noUi-active,.noUi-vertical .noUi-handle.noUi-active{box-shadow:0 0 0 2px #5e72e4}.input-slider--cyan .noUi-connect{background:#2bffc6}[disabled] .noUi-connect,[disabled].noUi-connect{background:#b2b2b2}[disabled] .noUi-handle,[disabled].noUi-origin{cursor:not-allowed}.range-slider-value{font-size:.75rem;font-weight:500;padding:.4em .8em .3em .85em;color:#fff;border-radius:10px;background-color:rgba(33,37,41,.7)}.range-slider-wrapper .upper-info{font-weight:400;margin-bottom:5px}.input-slider-value-output{font-size:11px;position:relative;top:12px;padding:4px 8px;color:#fff;border-radius:2px;background:#333}.input-slider-value-output:after{position:absolute;bottom:100%;left:10px;width:0;height:0;margin-left:-4px;content:' ';pointer-events:none;border:solid transparent;border-width:4px;border-color:rgba(136,183,213,0);border-bottom-color:#333}.input-slider-value-output.left:after{right:auto;left:10px}.input-slider-value-output.right:after{right:10px;left:auto}.ql-container{font-family:Open Sans,sans-serif}.ql-toolbar{position:relative;padding:.625rem .75rem;color:#8898aa;border:1px solid #dee2e6;border-radius:.25rem .25rem 0 0;background-color:#fff}.ql-toolbar+.ql-container{margin-top:-1px}.ql-toolbar+.ql-container .ql-editor{border-top-left-radius:0;border-top-right-radius:0}.ql-editor{font-size:1rem;line-height:1.5;display:block;width:100%;min-height:6rem;padding:.625rem .75rem;transition:all .15s cubic-bezier(.68,-.55,.265,1.55);color:#8898aa;border:1px solid #dee2e6;border-radius:.25rem;background-color:#fff;background-clip:padding-box;box-shadow:0 3px 2px rgba(233,236,239,.05)}@media (prefers-reduced-motion:reduce){.ql-editor{transition:none}}.ql-editor::-ms-expand{border:0;background-color:transparent}.ql-editor:focus{color:#8898aa;border-color:#5e72e4;outline:0;background-color:#fff;box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.ql-editor:focus{border-color:#dee2e6}.ql-hidden{position:absolute;transform:scale(0)}.ql-editor.ql-blank::before{font-style:normal;top:.625rem;left:.75rem;color:#adb5bd}.ql-editor:focus::before{display:none}.ql-formats{padding-right:.5rem;padding-left:.5rem}.ql-formats:first-child{padding-left:0}.ql-formats:last-child{padding-right:0}.ql-toolbar button{padding:0 .25rem;cursor:pointer;transition:all .15s ease;color:#525f7f;border:none;background:0 0}.ql-toolbar button:hover{color:#5e72e4}.ql-toolbar button:first-child{margin-left:-.25rem}.ql-toolbar .ql-active{color:#5e72e4}.ql-toolbar button svg{width:1.25rem;height:1.25rem}.ql-toolbar .ql-stroke{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.ql-toolbar .ql-thin{stroke-width:1}.ql-toolbar .ql-fill{fill:currentColor}.ql-toolbar input.ql-image{position:absolute;transform:scale(0)}.ql-tooltip{position:absolute;display:flex;width:18.5rem;margin-top:.6rem;padding:.625rem .75rem;border:1px solid rgba(0,0,0,.05);border-radius:.4375rem;background-color:#fff;box-shadow:0 .5rem 2rem 0 rgba(0,0,0,.2);flex-wrap:nowrap}.ql-tooltip:after,.ql-tooltip:before{position:absolute;bottom:100%;left:50%;content:'';transform:translateX(-50%)}.ql-tooltip:before{border-right:.6rem solid transparent;border-bottom:.6rem solid rgba(0,0,0,.05);border-left:.6rem solid transparent}.ql-tooltip:after{border-right:.5rem solid transparent;border-bottom:.5rem solid #fff;border-left:.5rem solid transparent}.ql-container .ql-tooltip:hover{display:flex!important}.ql-tooltip .ql-preview{font-size:.875rem;line-height:1.5;width:100%;padding:.25rem .5rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border-radius:.25rem}@media (prefers-reduced-motion:reduce){.ql-tooltip .ql-preview{transition:none}}.ql-tooltip.ql-editing .ql-preview{display:none}.ql-tooltip input{font-size:.875rem;line-height:1.5;display:none;width:100%;padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);color:#8898aa;border:none;background-color:transparent}.ql-tooltip input:focus{outline:0}.ql-tooltip.ql-editing input{display:block}.ql-tooltip .ql-action,.ql-tooltip .ql-remove{margin-left:.25rem}.ql-tooltip .ql-action::before,.ql-tooltip .ql-remove::before{font-size:.875rem;font-weight:600;line-height:1.5;display:inline-block;padding:.25rem .5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;text-align:center;vertical-align:middle;white-space:nowrap;border:1px solid transparent;border-radius:.25rem}@media (prefers-reduced-motion:reduce){.ql-tooltip .ql-action::before,.ql-tooltip .ql-remove::before{transition:none}}.ql-tooltip .ql-action::before:focus,.ql-tooltip .ql-action::before:hover,.ql-tooltip .ql-remove::before:focus,.ql-tooltip .ql-remove::before:hover{text-decoration:none}.ql-tooltip .ql-action::before.focus,.ql-tooltip .ql-action::before:focus,.ql-tooltip .ql-remove::before.focus,.ql-tooltip .ql-remove::before:focus{outline:0;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.08)}.ql-tooltip .ql-action::before,.ql-tooltip.ql-editing .ql-action::before{color:#fff;border-color:#5e72e4;background-color:#5e72e4;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.ql-tooltip .ql-action::before:hover,.ql-tooltip.ql-editing .ql-action::before:hover{color:#fff;border-color:#5e72e4;background-color:#5e72e4}.ql-tooltip .ql-action::before.focus,.ql-tooltip .ql-action::before:focus,.ql-tooltip.ql-editing .ql-action::before.focus,.ql-tooltip.ql-editing .ql-action::before:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(94,114,228,.5)}.ql-tooltip .ql-action::before.disabled,.ql-tooltip .ql-action::before:disabled,.ql-tooltip.ql-editing .ql-action::before.disabled,.ql-tooltip.ql-editing .ql-action::before:disabled{color:#fff;border-color:#5e72e4;background-color:#5e72e4}.ql-tooltip .ql-action::before:not(:disabled):not(.disabled).active,.ql-tooltip .ql-action::before:not(:disabled):not(.disabled):active,.ql-tooltip.ql-editing .ql-action::before:not(:disabled):not(.disabled).active,.ql-tooltip.ql-editing .ql-action::before:not(:disabled):not(.disabled):active,.show>.ql-tooltip .ql-action::before.dropdown-toggle,.show>.ql-tooltip.ql-editing .ql-action::before.dropdown-toggle{color:#fff;border-color:#5e72e4;background-color:#324cdd}.ql-tooltip .ql-action::before:not(:disabled):not(.disabled).active:focus,.ql-tooltip .ql-action::before:not(:disabled):not(.disabled):active:focus,.ql-tooltip.ql-editing .ql-action::before:not(:disabled):not(.disabled).active:focus,.ql-tooltip.ql-editing .ql-action::before:not(:disabled):not(.disabled):active:focus,.show>.ql-tooltip .ql-action::before.dropdown-toggle:focus,.show>.ql-tooltip.ql-editing .ql-action::before.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(94,114,228,.5)}.ql-tooltip .ql-action::before{content:'Edit'}.ql-tooltip.ql-editing .ql-action::before{content:'Save'}.ql-tooltip .ql-remove::before{content:'Remove';color:#212529;border-color:#fff;border-color:#dee2e6;background-color:#fff;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.ql-tooltip .ql-remove::before:hover{color:#212529;border-color:#fff;background-color:#fff}.ql-tooltip .ql-remove::before.focus,.ql-tooltip .ql-remove::before:focus{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08),0 0 0 0 rgba(255,255,255,.5)}.ql-tooltip .ql-remove::before.disabled,.ql-tooltip .ql-remove::before:disabled{color:#212529;border-color:#fff;background-color:#fff}.ql-tooltip .ql-remove::before:not(:disabled):not(.disabled).active,.ql-tooltip .ql-remove::before:not(:disabled):not(.disabled):active,.show>.ql-tooltip .ql-remove::before.dropdown-toggle{color:#212529;border-color:#fff;background-color:#e6e6e6}.ql-tooltip .ql-remove::before:not(:disabled):not(.disabled).active:focus,.ql-tooltip .ql-remove::before:not(:disabled):not(.disabled):active:focus,.show>.ql-tooltip .ql-remove::before.dropdown-toggle:focus{box-shadow:none,0 0 0 0 rgba(255,255,255,.5)}.ql-tooltip.ql-editing .ql-remove::before{display:none}.ql-editor blockquote{font-size:1.25rem;margin-bottom:1rem}.ql-editor img{max-width:100%;height:auto}.scroll-wrapper{position:relative;overflow:hidden!important;padding:0!important}.scroll-wrapper>.scroll-content{position:relative!important;top:0;left:0;overflow:scroll!important;box-sizing:content-box!important;width:auto!important;max-width:none!important;height:auto;max-height:none;margin:0;padding:0;border:none!important}.scroll-wrapper>.scroll-content::-webkit-scrollbar{width:0;height:0}.scroll-wrapper.scroll--rtl{direction:rtl}.scroll-element{display:none;box-sizing:content-box}.scroll-element div{box-sizing:content-box}.scroll-element .scroll-arrow,.scroll-element .scroll-bar{cursor:default}.scroll-element.scroll-x.scroll-scrollx_visible,.scroll-element.scroll-y.scroll-scrolly_visible{display:block}.scroll-textarea{border:1px solid #ccc;border-top-color:#999}.scroll-textarea>.scroll-content{overflow:hidden!important}.scroll-textarea>.scroll-content>textarea{position:relative!important;top:0;overflow:scroll!important;box-sizing:border-box;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0;padding:2px;border:none!important;outline:0}.scroll-textarea>.scroll-content>textarea::-webkit-scrollbar{width:0;height:0}.scrollbar-inner>.scroll-element,.scrollbar-inner>.scroll-element div{position:absolute;z-index:10;margin:0;padding:0;border:none}.scrollbar-inner>.scroll-element div{top:0;left:0;display:block;width:100%;height:100%}.scrollbar-inner>.scroll-element.scroll-x{bottom:2px;left:0;width:100%;height:8px}.scrollbar-inner>.scroll-element.scroll-y{top:0;right:2px;width:8px;height:100%}.scrollbar-inner>.scroll-element .scroll-element_outer{overflow:hidden}.scrollbar-inner>.scroll-element .scroll-bar,.scrollbar-inner>.scroll-element .scroll-element_outer,.scrollbar-inner>.scroll-element .scroll-element_track{border-radius:8px}.scrollbar-inner>.scroll-element .scroll-bar,.scrollbar-inner>.scroll-element .scroll-element_track{opacity:.4}.scrollbar-inner>.scroll-element .scroll-element_track{background-color:#e0e0e0}.scrollbar-inner>.scroll-element .scroll-bar{background-color:#c2c2c2}.scrollbar-inner>.scroll-element:hover .scroll-bar{background-color:#919191}.scrollbar-inner>.scroll-element.scroll-draggable .scroll-bar{background-color:#919191}.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-12px}.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-12px}.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-12px}.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-12px}.scrollbar-outer>.scroll-element,.scrollbar-outer>.scroll-element div{position:absolute;z-index:10;margin:0;padding:0;border:none}.scrollbar-outer>.scroll-element{background-color:#fff}.scrollbar-outer>.scroll-element div{top:0;left:0;display:block;width:100%;height:100%}.scrollbar-outer>.scroll-element.scroll-x{bottom:0;left:0;width:100%;height:12px}.scrollbar-outer>.scroll-element.scroll-y{top:0;right:0;width:12px;height:100%}.scrollbar-outer>.scroll-element.scroll-x .scroll-element_outer{top:2px;height:8px}.scrollbar-outer>.scroll-element.scroll-y .scroll-element_outer{left:2px;width:8px}.scrollbar-outer>.scroll-element .scroll-element_outer{overflow:hidden}.scrollbar-outer>.scroll-element .scroll-element_track{background-color:#eee}.scrollbar-outer>.scroll-element .scroll-bar,.scrollbar-outer>.scroll-element .scroll-element_outer,.scrollbar-outer>.scroll-element .scroll-element_track{border-radius:8px}.scrollbar-outer>.scroll-element .scroll-bar{background-color:#d9d9d9}.scrollbar-outer>.scroll-element .scroll-bar:hover{background-color:#c2c2c2}.scrollbar-outer>.scroll-element.scroll-draggable .scroll-bar{background-color:#919191}.scrollbar-outer>.scroll-content.scroll-scrolly_visible{left:-12px;margin-left:12px}.scrollbar-outer>.scroll-content.scroll-scrollx_visible{top:-12px;margin-top:12px}.scrollbar-outer>.scroll-element.scroll-x .scroll-bar{min-width:10px}.scrollbar-outer>.scroll-element.scroll-y .scroll-bar{min-height:10px}.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-14px}.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-14px}.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-14px}.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-14px}.scrollbar-macosx>.scroll-element,.scrollbar-macosx>.scroll-element div{position:absolute;z-index:10;margin:0;padding:0;border:none;background:0 0}.scrollbar-macosx>.scroll-element div{top:0;left:0;display:block;width:100%;height:100%}.scrollbar-macosx>.scroll-element .scroll-element_track{display:none}.scrollbar-macosx>.scroll-element .scroll-bar{display:block;transition:opacity .2s linear;opacity:0;border-radius:7px;background-color:#6c6e71}.scrollbar-macosx:hover>.scroll-element .scroll-bar,.scrollbar-macosx>.scroll-element.scroll-draggable .scroll-bar{opacity:.7}.scrollbar-macosx>.scroll-element.scroll-x{bottom:0;left:0;overflow:visible;width:100%;min-width:100%;height:0}.scrollbar-macosx>.scroll-element.scroll-y{top:0;right:0;width:0;height:100%;min-height:100%}.scrollbar-macosx>.scroll-element.scroll-x .scroll-bar{top:-9px;min-width:10px;height:7px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-bar{left:-9px;width:7px;min-height:10px}.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_outer{left:2px}.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_outer{top:2px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-macosx>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-11px}.scrollbar-macosx>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-11px}.scrollbar-light>.scroll-element,.scrollbar-light>.scroll-element div{position:absolute;z-index:10;overflow:hidden;margin:0;padding:0;border:none}.scrollbar-light>.scroll-element{background-color:#fff}.scrollbar-light>.scroll-element div{top:0;left:0;display:block;width:100%;height:100%}.scrollbar-light>.scroll-element .scroll-element_outer{border-radius:10px}.scrollbar-light>.scroll-element .scroll-element_size{border-radius:10px;background:#dbdbdb;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RiZGJkYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOGU4ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:linear-gradient(to right,#dbdbdb 0,#e8e8e8 100%)}.scrollbar-light>.scroll-element.scroll-x{bottom:0;left:0;width:100%;min-width:100%;height:17px}.scrollbar-light>.scroll-element.scroll-y{top:0;right:0;width:17px;height:100%;min-height:100%}.scrollbar-light>.scroll-element .scroll-bar{border:1px solid #dbdbdb;border-radius:10px;background:#fefefe;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:linear-gradient(to right,#fefefe 0,#f5f5f5 100%)}.scrollbar-light>.scroll-content.scroll-scrolly_visible{left:-17px;margin-left:17px}.scrollbar-light>.scroll-content.scroll-scrollx_visible{top:-17px;margin-top:17px}.scrollbar-light>.scroll-element.scroll-x .scroll-bar{top:0;min-width:10px;height:10px}.scrollbar-light>.scroll-element.scroll-y .scroll-bar{left:0;width:10px;min-height:10px}.scrollbar-light>.scroll-element.scroll-x .scroll-element_outer{top:2px;left:2px;height:12px}.scrollbar-light>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-light>.scroll-element.scroll-y .scroll-element_outer{top:2px;left:2px;width:12px}.scrollbar-light>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-19px}.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-19px}.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-19px}.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-19px}.scrollbar-rail>.scroll-element,.scrollbar-rail>.scroll-element div{position:absolute;z-index:10;overflow:hidden;margin:0;padding:0;border:none}.scrollbar-rail>.scroll-element{background-color:#fff}.scrollbar-rail>.scroll-element div{top:0;left:0;display:block;width:100%;height:100%}.scrollbar-rail>.scroll-element .scroll-element_size{background-color:#999;background-color:rgba(0,0,0,.3)}.scrollbar-rail>.scroll-element .scroll-element_outer:hover .scroll-element_size{background-color:#666;background-color:rgba(0,0,0,.5)}.scrollbar-rail>.scroll-element.scroll-x{bottom:0;left:0;width:100%;min-width:100%;height:12px;padding:3px 0 2px}.scrollbar-rail>.scroll-element.scroll-y{top:0;right:0;width:12px;height:100%;min-height:100%;padding:0 2px 0 3px}.scrollbar-rail>.scroll-element .scroll-bar{border-radius:2px;background-color:#d0b9a0;box-shadow:1px 1px 3px rgba(0,0,0,.5)}.scrollbar-rail>.scroll-element .scroll-element_outer:hover .scroll-bar{box-shadow:1px 1px 3px rgba(0,0,0,.6)}.scrollbar-rail>.scroll-content.scroll-scrolly_visible{left:-17px;margin-left:17px}.scrollbar-rail>.scroll-content.scroll-scrollx_visible{top:-17px;margin-top:17px}.scrollbar-rail>.scroll-element.scroll-x .scroll-bar{top:1px;min-width:10px;height:10px}.scrollbar-rail>.scroll-element.scroll-y .scroll-bar{left:1px;width:10px;min-height:10px}.scrollbar-rail>.scroll-element.scroll-x .scroll-element_outer{left:5px;height:15px}.scrollbar-rail>.scroll-element.scroll-x .scroll-element_size{top:5px;left:-10px;height:2px}.scrollbar-rail>.scroll-element.scroll-y .scroll-element_outer{top:5px;width:15px}.scrollbar-rail>.scroll-element.scroll-y .scroll-element_size{top:-10px;left:5px;width:2px}.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-25px}.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-25px}.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-25px}.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-25px}.scrollbar-dynamic>.scroll-element,.scrollbar-dynamic>.scroll-element div{position:absolute;z-index:10;margin:0;padding:0;border:none;background:0 0}.scrollbar-dynamic>.scroll-element div{top:0;left:0;display:block;width:100%;height:100%}.scrollbar-dynamic>.scroll-element.scroll-x{bottom:2px;left:0;width:100%;min-width:100%;height:7px}.scrollbar-dynamic>.scroll-element.scroll-y{top:0;right:2px;width:7px;height:100%;min-height:100%}.scrollbar-dynamic>.scroll-element .scroll-element_outer{opacity:.3;border-radius:12px}.scrollbar-dynamic>.scroll-element .scroll-element_size{transition:opacity .2s;opacity:0;border-radius:12px;background-color:#ccc}.scrollbar-dynamic>.scroll-element .scroll-bar{border-radius:7px;background-color:#6c6e71}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-bar{top:auto;bottom:0;min-width:24px;height:7px}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-bar{right:0;left:auto;width:7px;min-height:24px}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_outer{top:auto;bottom:0;left:2px;transition:height .2s}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_outer{top:2px;right:0;left:auto;transition:width .2s}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-dynamic>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-11px}.scrollbar-dynamic>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-11px}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer{overflow:hidden;opacity:.7}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-element_size{opacity:1}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-bar,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-bar{width:100%;height:100%;border-radius:12px}.scrollbar-dynamic>.scroll-element.scroll-x.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element.scroll-x:hover .scroll-element_outer{height:20px;min-height:7px}.scrollbar-dynamic>.scroll-element.scroll-y.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element.scroll-y:hover .scroll-element_outer{width:20px;min-width:7px}.scrollbar-chrome>.scroll-element,.scrollbar-chrome>.scroll-element div{position:absolute;z-index:10;overflow:hidden;margin:0;padding:0;border:none}.scrollbar-chrome>.scroll-element{background-color:#fff}.scrollbar-chrome>.scroll-element div{top:0;left:0;display:block;width:100%;height:100%}.scrollbar-chrome>.scroll-element .scroll-element_track{border:1px solid #dbdbdb;background:#f1f1f1}.scrollbar-chrome>.scroll-element.scroll-x{bottom:0;left:0;width:100%;min-width:100%;height:16px}.scrollbar-chrome>.scroll-element.scroll-y{top:0;right:0;width:16px;height:100%;min-height:100%}.scrollbar-chrome>.scroll-element .scroll-bar{cursor:default;border:1px solid #bdbdbd;border-radius:2px;background-color:#d9d9d9}.scrollbar-chrome>.scroll-element .scroll-bar:hover{border-color:#a9a9a9;background-color:#c2c2c2}.scrollbar-chrome>.scroll-element.scroll-draggable .scroll-bar{border-color:#7e7e7e;background-color:#919191}.scrollbar-chrome>.scroll-content.scroll-scrolly_visible{left:-16px;margin-left:16px}.scrollbar-chrome>.scroll-content.scroll-scrollx_visible{top:-16px;margin-top:16px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-bar{top:3px;min-width:10px;height:8px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-bar{left:3px;width:8px;min-height:10px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_outer{border-left:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_track{left:-3px;height:14px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_size{left:-4px;height:14px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_outer{border-top:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_track{top:-3px;width:14px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_size{top:-4px;width:14px}.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-19px}.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-19px}.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-19px}.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-19px}.scrollbar-inner{height:100%}.scrollbar-inner:not(:hover) .scroll-element{opacity:0}.scrollbar-inner .scroll-element{margin-right:2px;transition:opacity .3s}.scrollbar-inner .scroll-element .scroll-bar,.scrollbar-inner .scroll-element .scroll-element_track{transition:background-color .3s}.scrollbar-inner .scroll-element .scroll-element_track{background-color:transparent}.scrollbar-inner .scroll-element:hover{width:4px}.scrollbar-inner .scroll-element.scroll-y{right:0;width:3px}.scrollbar-inner .scroll-element.scroll-x{bottom:0;height:3px}.select2-selection__arrow{display:none}.select2.select2-container{width:100%!important}.select2-container .select2-selection--single,.select2-container--default .select2-search--dropdown .select2-search__field,.select2-container--default .select2-selection--multiple,.select2-container--default.select2-container--focus .select2-selection--multiple{font-size:1rem;line-height:1.5;display:block;width:100%;height:calc(1.5em + 1.25rem + 2px);padding:.625rem .75rem;transition:all .15s cubic-bezier(.68,-.55,.265,1.55);color:#8898aa;border:1px solid #dee2e6;border-radius:.25rem;background-color:#fff;background-clip:padding-box;box-shadow:0 3px 2px rgba(233,236,239,.05)}@media (prefers-reduced-motion:reduce){.select2-container .select2-selection--single,.select2-container--default .select2-search--dropdown .select2-search__field,.select2-container--default .select2-selection--multiple,.select2-container--default.select2-container--focus .select2-selection--multiple{transition:none}}.select2-container .select2-selection--single::-ms-expand,.select2-container--default .select2-search--dropdown .select2-search__field::-ms-expand,.select2-container--default .select2-selection--multiple::-ms-expand,.select2-container--default.select2-container--focus .select2-selection--multiple::-ms-expand{border:0;background-color:transparent}.select2-container .select2-selection--single:focus,.select2-container--default .select2-search--dropdown .select2-search__field:focus,.select2-container--default .select2-selection--multiple:focus,.select2-container--default.select2-container--focus .select2-selection--multiple:focus{color:#8898aa;border-color:#5e72e4;outline:0;background-color:#fff;box-shadow:0 3px 9px rgba(50,50,9,0),3px 4px 8px rgba(94,114,228,.1)}.select2-container .select2-selection--single::-ms-input-placeholder,.select2-container--default .select2-search--dropdown .select2-search__field::-ms-input-placeholder,.select2-container--default .select2-selection--multiple::-ms-input-placeholder,.select2-container--default.select2-container--focus .select2-selection--multiple::-ms-input-placeholder{opacity:1;color:#adb5bd}.select2-container .select2-selection--single::placeholder,.select2-container--default .select2-search--dropdown .select2-search__field::placeholder,.select2-container--default .select2-selection--multiple::placeholder,.select2-container--default.select2-container--focus .select2-selection--multiple::placeholder{opacity:1;color:#adb5bd}.select2-container .select2-selection--single:disabled,.select2-container .select2-selection--single[readonly],.select2-container--default .select2-search--dropdown .select2-search__field:disabled,.select2-container--default .select2-search--dropdown .select2-search__field[readonly],.select2-container--default .select2-selection--multiple:disabled,.select2-container--default .select2-selection--multiple[readonly],.select2-container--default.select2-container--focus .select2-selection--multiple:disabled,.select2-container--default.select2-container--focus .select2-selection--multiple[readonly]{opacity:1;background-color:#e9ecef}.select2-container .select2-selection--single .select2-selection__rendered{overflow:inherit;padding:0;white-space:inherit;text-overflow:inherit}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:inherit;color:inherit}.select2-dropdown{padding:.5rem 0;border:1px solid #dee2e6;border-radius:.4375rem;background-color:#fff}.select2-results__option{font-size:.875rem;padding:.5rem .75rem;color:#212529;background-color:#fff}.select2-results__option:focus,.select2-results__option:hover{text-decoration:none;color:#16181b;background-color:#f6f9fc}.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option[aria-selected=true]{color:#16181b;background-color:transparent}.select2-container--default .select2-results__option[aria-disabled=true]{color:#8898aa}.select2-container--default .select2-selection--multiple,.select2-container--default.select2-container--focus .select2-selection--multiple{height:auto;min-height:calc(1.5em + 1.25rem + 2px)}.select2-container--default .select2-selection--multiple .select2-selection__rendered{display:block;margin:0 0 -.25rem -.25rem;padding:0}.select2-container--default .select2-selection--multiple .select2-selection__choice{font-size:.875rem;line-height:1.5rem;display:inline-flex;margin:0 0 .25rem .25rem;padding:0 .5rem;color:#8898aa;border:none;border-radius:.25rem;background-color:#adb5bd}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{margin-left:.5rem;color:#8898aa;order:2}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#525f7f}.select2-container .select2-search--inline{display:none}.select2-selection[aria-expanded=true]{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.select2-search--dropdown{padding:.5rem .75rem}.select2-container--default .select2-search--dropdown .select2-search__field{font-size:.875rem;line-height:1.5;padding:.25rem .5rem;border-radius:.25rem}.form-control-sm+.select2-container .select2-selection--single,.form-control-sm+.select2-container--default .select2-selection--multiple,.form-control-sm+.select2-container--default.select2-container--focus .select2-selection--multiple{font-size:.875rem;line-height:1.5;height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;border-radius:.25rem}.form-control-sm+.select2-container--default .select2-selection--multiple,.form-control-sm+.select2-container--default.select2-container--focus .select2-selection--multiple{min-height:calc(1.5em + .5rem + 2px)}.form-control-sm+.select2-container--default .select2-selection--multiple .select2-selection__choice{line-height:1.3125rem}.form-control-lg+.select2-container .select2-selection--single,.form-control-lg+.select2-container--default .select2-selection--multiple,.form-control-lg+.select2-container--default.select2-container--focus .select2-selection--multiple{font-size:1.25rem;line-height:1.5;height:calc(1.5em + 1.75rem + 2px);padding:.875rem 1rem;border-radius:.4375rem}.form-control-lg+.select2-container--default .select2-selection--multiple,.form-control-lg+.select2-container--default.select2-container--focus .select2-selection--multiple{min-height:calc(1.5em + 1.75rem + 2px)}.form-control-lg+.select2-container--default .select2-selection--multiple .select2-selection__choice{line-height:1.875rem}.swal2-popup{padding:1.5rem}.swal2-popup .swal2-title{font-size:1.5rem}.swal2-popup .swal2-content{font-size:.875rem}.swal2-popup .swal2-image{max-width:200px} \ No newline at end of file diff --git a/public/css/custom.css b/public/css/custom.css deleted file mode 100644 index ccac9da24..000000000 --- a/public/css/custom.css +++ /dev/null @@ -1,1761 +0,0 @@ -@font-face { - font-family: element-icons; - src: url("./../fonts/vendor/element-ui/lib/theme-chalk/element-icons.woff") - format("woff"), - url("./../fonts/vendor/element-ui/lib/theme-chalk/element-icons.ttf") - format("truetype"); - font-weight: 400; - font-display: "auto"; - font-style: normal; -} - -body { - height: 100%; -} - -.datepicker[readonly] { - background-color: transparent !important; -} - -/*--Layout Content--*/ -.content-layout { - max-width: 1300px !important; -} -/*--Layout Content Finish--*/ - -/*--------Cursor Styles--------*/ -/*--Cursor Pointer--*/ -.cursor-pointer { - cursor: pointer !important; -} -/*--Cursor Pointer Finish--*/ - -/*--Cursor Default--*/ -.cursor-default { - cursor: default !important; -} -/*--Cursor Pointer Finish--*/ -/*--------Cursor Styles Finish--------*/ - -/*--------Border Radius Styles--------*/ -/*--Border Radius None--*/ -.border-radius-none { - border-radius: 0 !important; -} -/*--Border Radius None Finish--*/ - -/*--Border Radius Default--*/ -.border-radius-default { - border-radius: 0.25rem !important; -} -/*--Border Radius Default Finish--*/ -/*--------Border Radius Styles Finish--------*/ - -/*--------Overflow Styles--------*/ -/*--Overflow Y Hidden--*/ -.overflow-y-hidden { - overflow-y: hidden !important; -} -/*--Overflow Y Hidden Finish--*/ - -/*--Overflow Y Scroll--*/ -.overflow-y-scroll { - overflow-y: scroll !important; -} -/*--Overflow Y Scroll Finish--*/ - -/*--Overflow X Hidden--*/ -.overflow-x-hidden { - overflow-x: hidden !important; -} -/*--Overflow X Hidden Finish--*/ - -/*--Overflow X Scroll--*/ -.overflow-x-scroll { - overflow-x: scroll !important; -} -/*--Overflow X Scroll Finish--*/ -/*--------Overflow Styles Finish--------*/ - -/*--------Akaunting Backgrounds--------*/ -/*--Login Page Background--*/ -.login-page { - background: url("../img/login.png") no-repeat center center fixed; - height: 100%; - width: 100%; - padding: 5% 0; - background-size: cover; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; -} -/*--Login Page Background Finish--*/ - -/*--Wizard Page Background--*/ -.wizard-page { - background: url("../img/login.png") no-repeat center center fixed; - height: 100%; - width: 100%; - padding: 5% 0; - background-size: cover; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; -} -/*--Wizard Page Background Finish--*/ - -/*--Installation Page Background--*/ -.installation-page { - background: url("../img/login.png") no-repeat center center fixed; - height: 100%; - width: 100%; - padding: 5% 0; - background-size: cover; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; -} -/*--Installation Page Background Finish--*/ -/*--------Akaunting Backgrounds Finish--------*/ - -/*--------Credit Card--------*/ -.card-input__input:hover, -.card-input__input:focus { - border-color: #55588b !important; -} -/*--------Credit Card Finish--------*/ - -/*--------Custom Toggle--------*/ -.custom-toggle { - width: 60px; -} - -.custom-toggle input:checked + .status-green:before { - left: 10px; -} - -.custom-toggle-slider:after { - top: -1px; -} -/*--------Custom Toggle Finish--------*/ - -/*--Button Element Focus--*/ -button:focus { - outline: none !important; -} -/*--Button Element Focus Finish--*/ - -/*--Button Hover--*/ -.btn:hover { - transform: translateY(0px); -} -/*--Button Hover Finish--*/ - -/*--------Chart Donut Height--------*/ -.chart-donut { - position: relative !important; - height: 23vh !important; -} -/*--------Chart Donut Height Finish--------*/ - -/*--------Wizard Steps--------*/ -.wizard-header { - border-radius: calc(0.375rem - 1px) calc(0.375rem - 1px) 0 0; -} -/*--------Wizard Steps Finish--------*/ - -.dropup .dropdown-toggle::after { - display: none !important; -} - -.role-list { - text-overflow: ellipsis; - overflow: hidden; -} - -/*--------Navbar Notification--------*/ -.nav-link .badge-update { - position: absolute; - top: 15%; - margin-left: -0.2rem; - transform: translateY(50%); - width: 1rem !important; - height: 1rem !important; - font-size: 0.5rem; -} - -.nav-link .badge-reminder { - position: absolute; - top: -59%; - margin-left: -0.35rem; - transform: translateY(50%); - width: 1rem !important; - height: 1rem !important; - font-size: 0.5rem; -} -/*--------Navbar Notification Finish--------*/ - -/*--------Index Page Tables--------*/ -.table-responsive { - overflow-x: visible !important; -} -/*--------Index Page Tables Finish--------*/ - -/*--------Left Menu--------*/ -.menu-dropdown { - position: absolute !important; - left: 1.2rem; -} - -.menu-dropdown-width { - min-width: 13rem !important; -} - -.g-sidenav-hidden .navbar-vertical.navbar-expand-xs { - overflow: hidden !important; -} -/*--------Left Menu Finish--------*/ - -/*--------Max Width 100 Pixel--------*/ -.mwpx-100 { - max-width: 100px !important; -} - -.mwpx-200 { - max-width: 200px !important; -} - -.mwpx-300 { - max-width: 300px !important; -} - -.mwpx-400 { - max-width: 400px !important; -} - -.mwpx-500 { - max-width: 500px !important; -} -/*--------Max Width 100 Pixel Finish--------*/ - -/*--------Form Group--------*/ -.form-group.visible-field .form-control { - background-color: #fff; -} -/*--------Form Group Finish--------*/ - -/*--Long Texts--*/ -.long-texts { - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -/*--Long Texts Finish--*/ - -/*--Akaunting Column Style--*/ -.col-aka { - margin-left: -51px; -} -/*--Akaunting Column Styl Finish--*/ - -/*--------Table Head Row Margin--------*/ -.thead-light .row { - margin: 0; -} -/*--------Table Head Row Margin Finish--------*/ - -/*--------Table Head Column Letter Spacing--------*/ -.table thead th { - letter-spacing: 0; -} -/*--------Table Head Column Letter Spacing Finish--------*/ - -/*--------Table Body Row Margin--------*/ -.table, -tbody .row { - margin-right: 0; - margin-left: 0; -} -/*--------Table Body Row Margin Finish--------*/ - -/*--------Table Cell Text Wrap--------*/ -#reconciliations-table .el-table td, -#reconciliations-table .el-table th, -#reconciliations-table .table td, -#reconciliations-table .table th { - white-space: normal; -} -/*--------Table Cell Text Wrap Finish--------*/ - -/*--------Item Column Image--------*/ -.item-img { - width: 38px; - height: 38px; -} -/*--------Item Column Image Finish--------*/ - -/*--------User Column Image--------*/ -.user-img { - width: 36px; - height: 36px; -} -/*--------User Column Image Finish--------*/ - -/*--------Border--------*/ -.border-1 { - border: 1px solid #e5e5e5 !important; -} -/*--------Border Finish--------*/ - -/*--------Border Top--------*/ -.border-top-1 { - border-top: 1px solid #e9ecef !important; -} -/*--------Border Top Finish--------*/ - -/*--------Border Bottom--------*/ -.border-bottom-1 { - border-bottom: 1px solid #e9ecef !important; -} -/*--------Border Bottom Finish--------*/ - -/*--------Border Top Style--------*/ -.border-top-style { - border-top-style: hidden !important; -} -/*--------Border Top Style Finish--------*/ - -/*--------Border Bottom Style--------*/ -.border-bottom-style { - border-bottom-style: hidden !important; -} -/*--------Border Bottom Style Finish--------*/ - -/*--------Invoice Bill Show Table Position--------*/ -.show-table { - margin-right: -2.5rem !important; - margin-left: -2.5rem !important; -} -/*--------Invoice Bill Show Table Position Finished--------*/ - -/*--------Table Head Line--------*/ -.table-head-line { - line-height: 26px; -} - -.table tbody + tbody { - border-top: 1px solid #e9ecef; -} -/*--------Table Head Line Finish--------*/ - -/*--Display Grid--*/ -.d-grid { - display: grid !important; -} -/*--Display Grid Finish--*/ - -/*--------Card Header Bulk Action--------*/ -.d-none.show { - display: flex !important; -} - -.form-group.d-none.show { - display: unset !important; -} - -.btn .d-none.show { - display: inherit !important; -} -/*--------Card Header Bulk Action Finish--------*/ - -/*--------Card Action Button--------*/ -.card-action-button { - position: absolute; - right: 0; - z-index: 1; -} -/*--------Card Action Button Finish--------*/ - -/*--Akaunting Button Animation--*/ -.aka-loader-frame { - width: 59.88px; - height: 31px; -} - -.aka-loader { - width: 10px; - height: 10px; - border-radius: 50%; - position: relative; - animation: aka-loader 0.7s ease alternate infinite; - animation-delay: 0.28s; - top: -13px !important; - margin: -10px auto 0; -} - -.aka-loader::after, -.aka-loader::before { - content: ""; - position: absolute; - width: 10px; - height: 10px; - border-radius: 50%; - animation: aka-loader 0.8s ease alternate infinite; -} - -.aka-loader::before { - left: -15px; - animation-delay: 0.14s; -} - -.aka-loader::after { - right: -15px; - animation-delay: 0.42s; -} - -@keyframes aka-loader { - 0% { - box-shadow: 0 28px 0 -28px #ffffff; - } - - 100% { - box-shadow: 0 28px 0 #ffffff; - } -} - -.btn-outline-confirm:disabled span { - opacity: 1 !important; -} - -.btn .aka-loader { - display: none !important; -} - -.btn:disabled span { - opacity: 0; -} - -.btn:disabled .aka-loader { - display: block !important; -} -/*--Akaunting Button Animation Finish--*/ - -/*--------Settings Index Page--------*/ -/*--------Settings Icons--------*/ -.settings-icons { - position: relative; - top: -0.4rem; - height: 45px; - width: 45px; - padding-top: 10px; -} -/*--------Settings Icons Finish--------*/ - -/*--------Settings Button Focus--------*/ -.btn-icon-clipboard:focus { - outline: none; -} -/*--------Settings Button Focus Finish--------*/ - -/*--------Shadow None Focus--------*/ -.shadow-none--hover:focus { - box-shadow: none !important; -} -/*--------Shadow None Focus Finish--------*/ -/*--------Settings Index Page Finish--------*/ - -/*--------Avatar Size--------*/ -.avatar-size { - width: 128px; - height: 128px; - font-size: 4.5rem; -} -/*--------Avatar Size--------*/ - -/*--------Button Disabled Hover--------*/ -.btn:disabled:hover { - box-shadow: none !important; -} -/*--------Button Disabled Hover Finish--------*/ - -/*--------Recurring Inputs--------*/ -.recurring-single { - margin-top: 29px !important; -} -/*--------Recurring Inputs--------*/ - -/*--------Invoice and Bill Total Column--------*/ -.total-column { - padding-top: 1.75rem !important; -} - -.item-total { - width: 15%; -} -/*--------Invoice and Bill Total Column Finish--------*/ - -/*--------Custom Table--------*/ -.table thead th { - border-bottom: 0; -} - -.table-flush tbody tr td { - border: 0 !important; -} -/*--------Custom Table Finish--------*/ - -/*--------Height 0--------*/ -.h-0 { - height: 0 !important; -} -/*--------Height 0 Finish--------*/ - -/*--------Editor Text--------*/ -.ql-editor p { - font-size: 0.775rem !important; - margin-bottom: 0 !important; -} -/*--------Editor text Finish--------*/ - -table .align-items-center td span.badge { - height: 24px; - padding-top: 8px; - font-size: 9px; -} - -/*--------Print Template--------*/ -.choose { - cursor: pointer; -} - -.choose:hover > img { - opacity: 0.5 !important; -} - -.bg-print { - background-color: rgba(229, 229, 229, 0.4) !important; -} - -.print-edge { - width: 140px; -} -/*--------Print Template Finish--------*/ - -/*--------Report Column--------*/ -.report-column-name { - -webkit-box-flex: 0; - -ms-flex: 0 0 10%; - flex: 0 0 10%; - width: 10%; - max-width: 10%; -} - -.report-column-value { - -webkit-box-flex: 0; - -ms-flex: 0 0 6.66%; - flex: 0 0 6.66%; - max-width: 6.66%; -} -/*--------Report Column Finish--------*/ - -/*--------App Comment--------*/ -.media-comment-text { - border-top-left-radius: 0.4375rem; - padding: 1rem; -} -/*--------App Comment Finish--------*/ - -/*--------Blank Page Image--------*/ -.blank-image { - height: 300px; -} -/*--------Blank Page Image Finish--------*/ - -/*--------Text Pre Nowrap--------*/ -.text-pre-nowrap { - white-space: pre-wrap !important; -} -/*--------Text Pre Nowrap Finish--------*/ - -/*--------Table Without toggle button--------*/ -.tr-py { - padding-top: 5px; - padding-bottom: 5px; -} -/*--------Table Without toggle button Finish--------*/ - -/*--------Table No Records--------*/ -.nr-py { - padding-top: 5px; - padding-bottom: 5px; -} -/*--------Table No Records Finish--------*/ - -/*--------From Group Disabled--------*/ -.form-group.disabled .input-group-text, -.form-group.readonly .input-group-text { - background-color: #e9ecef; -} -/*--------From Group Disabled Finish--------*/ - -/*--------Modal Dialog Resizing--------*/ -@media (min-width: 576px) { - .modal-payment .modal-dialog { - max-width: 559px !important; - } -} -/*--------Modal Dialog Resizing Finish--------*/ - -/*--Save Buttons Responsive--*/ -.save-buttons { - float: right !important; -} -/*--Save Buttons Responsive Finish--*/ - -/*--Index Pages Badge Min Width--*/ -.mw-60 { - min-width: 60px; -} -/*--Index Pages Badge Min Width Finish--*/ - -/*--Quantity Width--*/ -.w-10 { - width: 10%; -} -/*--Quantity Width Finish--*/ - -/*--Discount Width--*/ -.w-12 { - width: 12%; -} -/*--Discount Width Finish--*/ - -/*--------Responsive--------*/ -/*--Xs Breakpoint--*/ -@media (max-width: 575.98px) { - .col-xs-1 { - width: 8.33%; - } - .col-xs-2 { - width: 16.66%; - } - .col-xs-3 { - width: 25%; - } - .col-xs-4 { - width: 33.33%; - } - .col-xs-5 { - width: 41.66%; - } - .col-xs-6 { - width: 50%; - } - .col-xs-7 { - width: 58.33%; - } - .col-xs-8 { - width: 66.66%; - } - .col-xs-9 { - width: 75%; - } - .col-xs-10 { - width: 83.33%; - } - .col-xs-11 { - width: 91.66%; - } - .col-xs-12 { - width: 100%; - } - - .btn-alone { - width: 100%; - height: 40px; - font-size: 0.875rem; - padding: 0.425rem 1.25rem; - margin-top: 0.4rem; - margin-bottom: -1rem; - } - - #header .header-body .btn, - .save-buttons .btn { - width: 100%; - height: 40px; - font-size: 0.875rem; - padding: 0.425rem 1.25rem; - margin-top: 16px; - } - - .header-button-top { - width: 100%; - height: 40px; - font-size: 0.875rem; - padding: 0.425rem 1.25rem; - margin-top: 16px; - } - - .header-drop-top { - display: block !important; - } - - .header-button-bottom { - width: 100%; - height: 40px; - font-size: 0.875rem; - padding: 0.425rem 1.25rem; - margin-top: 0.5rem; - margin-bottom: -1rem; - } - - .footer-texts { - width: 100%; - text-align: center; - white-space: nowrap; - font-size: 0.75rem !important; - } - - .blank-image { - height: 200px; - } - - .col-aka { - margin-left: 0; - } - - .left-menu-toggle { - display: block !important; - padding-top: 0.4rem !important; - } - - .dashboard-action { - float: right; - } - - .dropdown-menu-xs-left { - right: auto; - left: 0 !important; - } - - .dropdown-menu-xs-right { - right: 0 !important; - left: auto; - } - - .pagination-xs { - padding-right: 0; - padding-top: 1.5rem; - } - - .el-range-editor.el-input__inner { - width: 100% !important; - margin-top: 1rem; - } - - .save-buttons { - float: none !important; - } - - input[type=hidden].form-control.datepicker.input { - display: none; - } - - .item-columns-edit { - margin-left: 23px !important; - } -} -/*--Xs Breakpoint Finish--*/ - -/*--Sm Breakpoint--*/ -@media (min-width: 576px) and (max-width: 767.98px) { -} -/*--Sm Breakpoint Finish--*/ - -/*--Md Breakpoint--*/ -@media (min-width: 768px) and (max-width: 991.98px) { - .sidenav .navbar-nav .dropdown-menu { - left: 1rem !important; - } -} -/*--Md Breakpoint Finish--*/ - -/*--Lg Breakpoint--*/ -@media (min-width: 992px) and (max-width: 1199.98px) { - .sidenav .navbar-nav .dropdown-menu { - left: 1rem; - } -} -/*--Lg Breakpoint Finish--*/ -/*--------Responsive Finish--------*/ - -/*--------Menu Fix--------*/ -.navbar-vertical .navbar-nav .nav-link:hover:not(.active) { - color: #fff; -} - -.navbar-vertical .navbar-nav .nav-link:hover:not(.active) { - color: #fff; -} - -.navbar-vertical .navbar-nav .nav-link.active i { - color: #161842 !important; -} - -@media (min-width: 1200px) { - .g-sidenav-show #panel { - margin-left: 250px; - } -} - -@media (max-width: 991.98px) { - .g-sidenav-show.g-sidenav-hidden .sidenav { - max-width: 62px !important; - } -} - -@media (min-width: 1200px) { - .g-sidenav-show .sidenav { - max-width: 250px !important; - } -} - -.scrollbar-inner { - width: 100%; -} - -.scrollbar-inner .sidenav-header { - padding: 0 24px; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.g-sidenav-pinned #sidenav-collapse-main { - display: block; -} - -@media (min-width: 1200px) { - .g-sidenav-pinned .navbar-vertical.navbar-expand-xs { - max-width: 250px !important; - } -} - -@media (min-width: 768px) { - .navbar-vertical .navbar-collapse:before { - content: ""; - display: block; - margin: 0; - } -} - -@media (max-width: 768px) { - .navbar.navbar-top.navbar-expand.navbar-dark.border-bottom { - z-index: 99999; - } - - .dropdown-menu-xl { - min-width: 345px !important; - } - - .aka-select.aka-select--medium { - max-width: 294px !important; - } -} - -.navbar-vertical.navbar-expand-xs { - position: fixed; - top: 0; - bottom: 0; - display: block; - overflow-y: auto; - width: 100%; - max-width: 62px; - padding-right: 0; - padding-left: 0; - z-index: 999999; -} - -.navbar-vertical .navbar-nav .nav-link:not(.active) { - color: #fff !important; -} - -.form-group.has-error .el-input__inner { - border-color: #ef3232 !important; -} - -.form-group .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e") -} - -/*--lightbox Start--*/ -.vue-lb-info { - position: initial !important; - padding-top: 8px !important; - background-color: #3c3f72 !important; - color: #ffffff; - border-bottom-left-radius: 0.375rem; - border-bottom-right-radius: 0.375rem; -} - -.vue-lb-modal-image { - border: 1px solid #3c3f72; -} -/*--lightbox Finish--*/ - -/*-- Search string & BulkAction Start -- */ -#app > .card > .card-header.bg-gradient-primary { - min-height: 88px; -} -/*-- Search string & BulkAction Finish --*/ - -/*-- Embed accordion textarea Start--*/ -.embed-card-body-footer { - margin-bottom: -1.5rem; - border-top: 1px solid #e9ecef; - margin-left: -25px; - margin-right: -25px; -} - -.embed-acoordion-textarea .form-control-label { - margin-top: 20px; - margin-bottom: -10px; -} - -.embed-acoordion-textarea { - margin-bottom: 0; -} - -.embed-acoordion-textarea .embed-card-body-footer-textarea { - margin-left: -12px; -} - -.embed-acoordion-textarea textarea { - border: none; - margin-top: 5px; - resize: none; - -webkit-box-shadow: none; - box-shadow: none; - background-clip: unset; - margin-left: 15px; -} - -.embed-acoordion-textarea textarea:focus { - border: none; - -webkit-box-shadow: none; - box-shadow: none; - background-clip: unset; -} -/*-- Embed accordion textarea Start Finish--*/ - -.document-item-body { - margin-left: -25px; - margin-right: -25px; -} - -.item-columns-edit { - display: inline-block; - margin-left: 50px; - font-weight: normal; - font-size:12px; - background: #f6f9fc; - color: #8898aa; - padding: 6px 12px; - border-radius: 6px 6px 0 0; -} - -.item-columns-edit button { - font-weight: normal; -} - -.document-total-currency { - float: right; - margin-bottom: 0; - max-width: 150px; -} - -.document-total-span { - vertical-align: middle; - line-height: 44px; - margin-right: 15px; -} - -.table-padding-05 td { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.difference-money .disabled-money { - background-color: transparent !important; - border: none; -} - -.banking-price-text { - color: #525f7f; -} - -.disabled-money, -.disabled-money input { - border:none !important; - background-color: #ffffff !important; - box-shadow: none !important; - -webkit-box-shadow: none !important; - -webkit-transition: none !important; - transition: none !important; - padding: 0; -} - -.form-group .custom-file { - height: calc(1.5em + 1.25rem + 130px) !important; -} - -.dz-message .dz-button { - background: hsla(0,0%,100%,0); - border: none; - color: #8898aa; -} - -.disabled-col-aka .col-aka { - margin-left: inherit !important; -} - -.el-select-dropdown__item.is-disabled { - color: #C0C4CC !important; - cursor: not-allowed !important; -} - -.btn-delete { - color: #8898aa; -} - -.btn-delete:hover { - color: #ef3232; -} - -.td-move { - width: 40px; - min-width: 40px; - padding-left: 0px; - padding-right: 0px; - /* width: 40px; padding-left: 15px; padding-top: 20px; padding-right: 16px; */ -} - -/* Contact Card Start */ -.document-contact-without-contact .aka-select { - width: 384px; -} - -.aka-select.aka-select--medium { - max-width: 320px; -} - -.aka-select { - position: relative; - border-radius: 4px; - outline: none; - margin: 4px 0; - display: inline-block; - width: 100%; - min-width: 160px; - max-width: 320px; -} - -.document-contact-without-contact .aka-box { - padding: 0; -} - -.aka-box.aka-box--large, .aka-box--gray.aka-box--large { - padding: 16px; - margin-bottom: 16px; -} - -.aka-box { - display: block; - padding: 12px; - margin-bottom: 12px; - border-radius: 8px; - border: 1px solid #b2c2cd; - background-color: #fff; -} - -.aka-box:hover { - background-color: #f6f9fc; -} - -.aka-box-content>:last-child { - margin-bottom: 0; -} - -.aka-box-content>:first-child { - margin-top: 0; -} - -.document-contact-without-contact-box { - display: flex; - height: 135px; -} - -.btn-aka-link[class*="aka-btn"] { - margin: 0; - padding: 0; -} - -.document-contact-without-contact-box-btn { - margin: 0; -} - -.btn-aka-link { - border: none; - padding: 0; - background: transparent; -} - -.aka-btn--fluid { - width: 100%; -} - -.aka-text-link, -.aka-text-link-external, -.btn-aka-link, -.aka-datepicker-quicklinks -.aka-datepicker-quicklink, -.aka-table-action { - text-decoration: none; - color: #55588b; - font-weight: bold; - cursor: pointer; -} - -.btn-aka-link:hover:not(.is-disabled):not(:focus) { - outline: 0; -} - -.document-contact-without-contact-box-btn:hover:not(.is-disabled) { - text-decoration: none; -} - -.btn-aka-link[class*="aka-btn"] { - margin: 0; - padding: 0; -} - -.aka-text-link:hover, -.aka-text-link-external:hover, -.btn-aka-link:hover, -.aka-datepicker-quicklinks -.aka-datepicker-quicklink:hover, -.aka-table-action:hover { - color: #3c3f72; - text-decoration: underline; -} - -.document-contact-without-contact-box-btn { - margin: 0; -} - -.btn-aka-link { - border: none; - padding: 0; - background: transparent; -} - -.aka-btn--fluid { - width: 100%; -} - -.document-contact-without-contact .aka-select .aka-select-menu { - padding: 0; - top: 0; - overflow: hidden; - border-radius: 4px; -} - -.is-open>.aka-select-menu { - visibility: visible; - height: auto; - -webkit-animation: panel-slide-down .1s ease-in-out forwards; - animation: panel-slide-down .1s ease-in-out forwards; -} - -.aka-select-menu { - list-style: none; - box-sizing: border-box; - margin: 0; - padding: 0; - text-align: left; - display: block; - visibility: hidden; - position: absolute; - top: 110%; - z-index: 1000; - min-width: 100%; - padding: 8px 0; - border-radius: 4px; - color: #1c252c; - background-color: white; - box-shadow: 0 0 0 1px rgba(77,101,117,0.1), 0 3px 10px 0 rgba(77,101,117,0.2); - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - height: 0; - -webkit-transform: translateY(4px); - transform: translateY(4px); - overflow: hidden; - padding: 0; - right: 0; - left: 0; - top: 100%; - border-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - -webkit-transform: translateY(0); - transform: translateY(0); -} - -.document-contact-without-contact .aka-select .aka-select-menu .aka-select-search-container { - margin-top: 0; -} - -.aka-select-search-container { - padding: 8px; -} - -.is-open>.aka-select-menu { - visibility: visible; - height: auto; - -webkit-animation: panel-slide-down .1s ease-in-out forwards; - animation: panel-slide-down .1s ease-in-out forwards; -} - -.aka-select-search-container .aka-prefixed-input { - max-width: 100%; - min-width: 0; -} - -.aka-prefixed-input.aka-prefixed-input--fluid { - max-width: 100%; - min-width: 0; -} - -.aka-prefixed-input { - width: 100%; - min-width: 160px; - max-width: 320px; -} - -.aka-prefixed-input, .aka-suffixed-input { - display: -webkit-inline-flex; - display: inline-flex; - -webkit-align-items: center; - align-items: center; -} - -.aka-prefixed-input-prefix { - position: relative; - display: inline-block; - box-sizing: border-box; - font-size: 19px; - line-height: 19px; - vertical-align: middle; - color: #b2c2cd; - pointer-events: none; - text-align: left; - width: 40px; - margin-right: -40px; - padding-left: 12px; -} - -.aka-select-menu-options { - list-style: none; - box-sizing: border-box; - margin: 0; - padding: 0; - text-align: left; - max-height: 460px; - overflow: auto; -} - -.aka-select-menu-option.is-active:not(.is-selected):not(.is-disabled) { - background-color: #f0f4fa; -} - -.aka-select-menu-option { - padding: 8px 10px; - cursor: pointer; - display: -webkit-flex; - display: flex; - position: relative; -} - -.aka-select-menu-option:hover { - background-color: #F5F7FA; -} - -.text-strong { - font-weight: bold; -} - -.aka-select-footer { - text-align: center; - border-top: 1px solid #dee2e6; - cursor: pointer; - color: #3c3f72; - font-weight: bold; - height: 40px; - line-height: 40px; - margin-top: 6px; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -.aka-select-footer:hover { - background-color: #3c3f72 !important; - color: white !important; - border-top-color: #3c3f72; -} - -.document-item-table>.aka-table>.aka-table-body>.aka-table-row:last-child .btn-aka-link { - padding: 13px 15px; - margin: 0; -} - -.document-add-info-content-info-business { - margin-top: 12px; -} - -.document-add-info-content-info { - text-align: right; -} - -.document-add-info .address .aka-text { - line-height: 16px; -} - -.aka-text, .aka-text--body { - margin: 16px 0; -} - -.box-shadow-none { - text-decoration: none; - -webkit-box-shadow: none; - box-shadow: none -} - -.card-header.collapsed.background-none { - background-color: #f8f9fe; -} -/* Document Finish */ - -/* Akaunting Item Button Start */ -.aka-select.aka-select--fluid { - min-width: 160px; -} - -.aka-select.aka-select--fluid { - max-width: 100%; - min-width: 0; -} - -.product-select .item-add-new:hover { - background-color: #f6f9fc; - text-decoration: none; -} - -.product-select .item-add-new button { - height: 54px; -} - -.product-select .aka-select.aka-select--fluid { - margin: -54px 0 !important -} - -.product-select .aka-select-menu { - margin-left: 4%; - width: 92%; - min-width: 0; - padding: 0; - top: 0; - overflow: hidden; - border-top-left-radius: 0; - border-top-right-radius: 0; - border-top-width: 0; -} - -.aka-select-menu { - list-style: none; - box-sizing: border-box; - margin: 0; - padding: 0; - text-align: left; - display: block; - visibility: hidden; - position: absolute; - top: 110%; - z-index: 1000; - min-width: 100%; - padding: 8px 0; - border-radius: 4px; - color: #1c252c; - background-color: white; - box-shadow: 0 0 0 1px rgba(77,101,117,0.1), 0 3px 10px 0 rgba(77,101,117,0.2); - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - height: 0; - -webkit-transform: translateY(4px); - transform: translateY(4px); - overflow: hidden; - padding: 0; - right: 0; - left: 0; - top: 100%; - border-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - -webkit-transform: translateY(0); - transform: translateY(0); -} - -.product-select .aka-select.aka-select--fluid.is-open { - position: absolute; - display: block; - margin-top: -50px; -} - -.item-select { - display: flex; - flex-flow: row nowrap; -} - -.item-select-column { - white-space: nowrap; - overflow: hidden; -} - -.item-select-price { - width: 135px; - text-align: right; -} - -.item-select-info-description, .item-select-info-name { - width: 710px; - display: block; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -.item-select-column { - white-space: nowrap; - overflow: hidden; -} - -.item-select .v-money.text-right.disabled-money { - color: #8898aa; - background-color: transparent !important; -} - -.item-select .v-money.text-right.disabled-money:hover { - background-color: #F5F7FA !important; -} -/* Akaunting Item Button Finish */ - -/* Document Loading Start */ -.document-loading { - position: absolute; - overflow: auto; - width: 100%; - height: 100%; - background: #f8f9fe; - z-index: 99; - border-radius: 0.375rem; -} - -.document-loading div { - margin-top: 20%; - margin-left: 45%; -} -/* Document Loading Finish */ - -/* Custom File stype Start */ -.form-file { - width: 100%; -} - -.form-file .dz-message { - padding: 0.6rem 1rem; -} -/* Custom File stype Finish */ - -/* el-select__tags */ -.el-select-tags-pl-38 .el-select .el-select__tags { - padding-left: 38px !important; -} -/* el-select__tags */ - -/* Akaunting select remove add suffix icon Start */ -.el-input.el-input--prefix.el-input--suffix .el-select__caret.el-input__icon.el-icon-:before { - content: "\e6e1"; -} - -.el-input.el-input--prefix.el-input--suffix.is-focus .el-select__caret.el-input__icon.el-icon- { - -webkit-transform: rotateZ(0); - transform: rotateZ(0); -} -/* Akaunting select remove add suffix icon Finish */ - -.item-add-new .btn-link { - color: #55588b; -} - -.item-columns-edit .btn-aka-link { - color: #8688ad; -} - -.apps-store-bar .el-input__inner { - padding-left: 30px !important; - border: 0 !important; -} - -.apps-store-bar .searh-field { - border: 0 !important; -} - -.apps-store-bar .vr { - border-left: 2px solid rgba(0, 0, 0, 0.05); - height: 50px; - position: absolute; - left: 16.8%; -} - -.apps-store-bar .searh-field .btn.btn-link.clear { - display: none !important; -} - -.document-item-40-px { - width: 40px; -} - -.document-item-10 { - width: 10%; -} - -.document-item-20 { - width: 20%; -} - -.document-item-25 { - width: 25%; -} - -.document-item-30 { - width: 30%; -} - -.document-total-50 { - width: 50%; -} - -.document-total-30 { - width: 30%; -} - -.document-total-25 { - width: 25%; -} - -.document-total-40-px { - width: 40px; -} - -@media (max-width: 575.98px) { - table#items { - min-width: 700px !important ; - } - - .document-total-50 { - width: 20%; - } - - .document-total-30 { - width: 40%; - } - - .document-total-25 { - width: 35%; - } - - .document-total-40-px { - max-width: 1px; - width: 1px; - padding: 0; - margin: 0; - } - - .item-add-new button.btn.btn-link.w-100 { - text-align: left; - padding-left: 15%; - } - - @supports (-webkit-touch-callout: none) { - .product-select .aka-select.aka-select--fluid.is-open { - position: relative; - height: 460px; - margin-top: unset !important; - } - } -} -/* Color Picker Submit Button Start */ - -.el-button.el-color-dropdown__btn.el-button--default.el-button--mini.is-plain { - color: #ffffff; - border-color: #6da252; - background-color: #6da252; - font-weight: 500; - box-shadow: 0 4px 6px rgb(30 31 57 / 11%), 0 1px 3px rgb(0 0 0 / 8%); - /*transition: all .15s ease; */ - letter-spacing: .025em; - font-size: .75rem; - text-transform: none; - will-change: transform; -} - -.el-button.el-color-dropdown__btn.el-button--default.el-button--mini.is-plain:hover { - animation: 0.7s ease alternate infinite; - animation-delay: 0.28s; - color: #fff !important; - background-color: #6da252 !important; - box-shadow: 0 7px 14px rgb(50 50 93 / 10%), 0 3px 6px rgb(0 0 0 / 8%); - border-color:#6da252 !important; -} - - /* Color Picker Submit Button Finish */ - - /* Color Picker Submit Button Start */ - -.el-button.el-color-dropdown__link-btn.el-button--text.el-button--mini { - color: #55588b; - border-color: transparent; - background-color: transparent; - background-image: none; - transition: all .15s ease; - letter-spacing: .025em; - font-size: .75rem; - will-change: transform; - padding: 0.438rem 0.938rem; - font-weight: 600; - } - -.el-button.el-color-dropdown__link-btn.el-button--text.el-button--mini:hover { - border-color: transparent; - background-color: #e5e5e5; - box-shadow: none; -} - - /* Color Picker Submit Button Finish */ - -/* Select Tag Fixed Content Start */ -.form-group .el-select .el-select__tags > span { - display: contents !important; -} -/* Select Tag Fixed Content Finish */ - -/* Line item */ -.line-item-link-container { - height: 25px; -} - -.line-item-link { - display: flex; - padding-bottom: 10px; - top: -12px; -} - -.line-item-area { - display: flex; - justify-content: space-between; - align-items:center; -} - -.line-item-content { - position: relative; - width: 100%; - max-width: 242px; -} - -.line-item-content .form-group { - position: relative; -} - -.line-item-content .badge { - position: absolute !important; - bottom: 12px; - right: 0; -} - -.line-item-content-right { - display: flex; - align-items: center; -} - -.line-item-content-right-price { - padding-right: 1.5rem; -} - -.line-item-content-right-delete { - width:40px; - padding-right: 1.5rem; - /* padding-left: 5px !important; */ -} - -.line-item-text { - width: 54px; - text-align: right; -} - -@media (max-width: 1500px) { - @media not all and (min-resolution:.001dpcm) { @media { - - .line-item-content { - max-width:223px; - } -}} -} - -@media only screen and (max-width: 600px) { - .line-item-content { - max-width: 133px; - } -} - -/* Line item */ - -/* Accordion Header Arrow Start */ - -.modal .modal-content .card-header::after { - display: none !important; -} - -/* Accordion Header Arrow Finish */ - -/* Disable default html styling for input[type="number] Start */ - -.input-number-disabled::-webkit-inner-spin-button, -.input-number-disabled::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; -} - -.input-number-disabled { - -moz-appearance: textfield; -} - -/* Disable default html styling for input[type="number] Finish */ - -.remove-arrow-select .el-input__inner { - -webkit-appearance: none; - -moz-appearance: none; - cursor: auto !important; -} - -.remove-arrow-select .el-select__caret { - display: none; -} diff --git a/public/css/element.css b/public/css/element.css index b151c5c09..d9db3e7ab 100644 --- a/public/css/element.css +++ b/public/css/element.css @@ -15438,7 +15438,7 @@ .el-color-picker__color { - margin-top: 10 !important; + margin-top: 10px !important; height: 18px !important; margin-left: 7px !important; } diff --git a/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.eot b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.eot new file mode 100644 index 000000000..a794a6881 Binary files /dev/null and b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.eot differ diff --git a/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.otf b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.otf new file mode 100644 index 000000000..4ccd8ed30 Binary files /dev/null and b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.otf differ diff --git a/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.ttf b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.ttf new file mode 100644 index 000000000..04e081f37 Binary files /dev/null and b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.ttf differ diff --git a/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.woff b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.woff new file mode 100644 index 000000000..cc165a9f8 Binary files /dev/null and b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.woff differ diff --git a/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.woff2 b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.woff2 new file mode 100644 index 000000000..253963b0c Binary files /dev/null and b/public/css/fonts/material-icons/Outlined/MaterialIconsOutlined-Regular.woff2 differ diff --git a/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.eot b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.eot new file mode 100644 index 000000000..1136d4456 Binary files /dev/null and b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.eot differ diff --git a/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.otf b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.otf new file mode 100644 index 000000000..3a10b5037 Binary files /dev/null and b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.otf differ diff --git a/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.ttf b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.ttf new file mode 100644 index 000000000..22db32c43 Binary files /dev/null and b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.ttf differ diff --git a/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.woff b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.woff new file mode 100644 index 000000000..d1a4684a0 Binary files /dev/null and b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.woff differ diff --git a/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.woff2 b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.woff2 new file mode 100644 index 000000000..50da90c9b Binary files /dev/null and b/public/css/fonts/material-icons/Regular/MaterialIcons-Regular.woff2 differ diff --git a/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.eot b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.eot new file mode 100644 index 000000000..c6d1c526c Binary files /dev/null and b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.eot differ diff --git a/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.otf b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.otf new file mode 100644 index 000000000..6363cedd4 Binary files /dev/null and b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.otf differ diff --git a/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.ttf b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.ttf new file mode 100644 index 000000000..7f01176fe Binary files /dev/null and b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.ttf differ diff --git a/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.woff b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.woff new file mode 100644 index 000000000..e330fda2e Binary files /dev/null and b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.woff differ diff --git a/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.woff2 b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.woff2 new file mode 100644 index 000000000..0d7c40d14 Binary files /dev/null and b/public/css/fonts/material-icons/Rounded/MaterialIconsRound-Regular.woff2 differ diff --git a/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.eot b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.eot new file mode 100644 index 000000000..3badf8b29 Binary files /dev/null and b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.eot differ diff --git a/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.otf b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.otf new file mode 100644 index 000000000..00b576399 Binary files /dev/null and b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.otf differ diff --git a/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.ttf b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.ttf new file mode 100644 index 000000000..918debaa0 Binary files /dev/null and b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.ttf differ diff --git a/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.woff b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.woff new file mode 100644 index 000000000..46a4c1c13 Binary files /dev/null and b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.woff differ diff --git a/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.woff2 b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.woff2 new file mode 100644 index 000000000..a76f439e1 Binary files /dev/null and b/public/css/fonts/material-icons/Sharp/MaterialIconsSharp-Regular.woff2 differ diff --git a/public/css/fonts/material-icons/style.css b/public/css/fonts/material-icons/style.css new file mode 100644 index 000000000..2a7df19e1 --- /dev/null +++ b/public/css/fonts/material-icons/style.css @@ -0,0 +1,141 @@ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 100; + src: url(./Regular/MaterialIcons-Regular.eot); /* For IE6-8 */ + src: local('Material Icons'), + local('MaterialIcons-Regular'), + url(./Regular/MaterialIcons-Regular.woff2) format('woff2'), + url(./Regular/MaterialIcons-Regular.woff) format('woff'), + url(./Regular/MaterialIcons-Regular.ttf) format('truetype'); +} + +@font-face { + font-family: 'Material Icons Outlined'; + font-style: normal; + font-weight: 100; + src: url(./Outlined/MaterialIconsOutlined-Regular.eot); /* For IE6-8 */ + src: local('Material Icons Outlined'), + local('MaterialIconsOutlined-Regular'), + url(./Outlined/MaterialIconsOutlined-Regular.woff2) format('woff2'), + url(./Outlined/MaterialIconsOutlined-Regular.woff) format('woff'), + url(./Outlined/MaterialIconsOutlined-Regular.ttf) format('truetype'); +} + +@font-face { + font-family: 'Material Icons Round'; + font-style: normal; + font-weight: 400; + src: url(./Rounded/MaterialIconsRound-Regular.eot); /* For IE6-8 */ + src: local('Material Icons Round'), + local('MaterialIconsRound-Regular'), + url(./Rounded/MaterialIconsRound-Regular.woff2) format('woff2'), + url(./Rounded/MaterialIconsRound-Regular.woff) format('woff'), + url(./Rounded/MaterialIconsRound-Regular.ttf) format('truetype'); +} + +@font-face { + font-family: 'Material Icons Sharp'; + font-style: normal; + font-weight: 400; + src: url(./Sharp/MaterialIconsSharp-Regular.eot); /* For IE6-8 */ + src: local('Material Icons Sharp'), + local('MaterialIconsSharp-Regular'), + url(./Sharp/MaterialIconsSharp-Regular.woff2) format('woff2'), + url(./Sharp/MaterialIconsSharp-Regular.woff) format('woff'), + url(./Sharp/MaterialIconsSharp-Regular.ttf) format('truetype'); +} + +.material-icons-outlined.active { + font-family: 'Material Icons'; +} + +.material-icons.active { + font-family: 'Material Icons'; +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; /* Preferred icon size */ + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; +} + +.material-icons-outlined { + font-family: 'Material Icons Outlined'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; +} + +.material-icons-round { + font-family: 'Material Icons Round'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; +} + +.material-icons-sharp { + font-family: 'Material Icons Sharp'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; +} + +.material-icons.text-red, .material-icons-outlined.text-red, .material-icons-round.text-red, .material-icons-sharp.text-red { color: #CC0000; } + +.material-icons.text-green, .material-icons-outlined.text-green, .material-icons-round.text-green, .material-icons-sharp.text-green { color: #6EA152; } + +.material-icons.text-purple, .material-icons-outlined.text-purple, .material-icons-round.text-purple, .material-icons-sharp.text-purple { color: #55588B; } + +.material-icons.text-yellow, .material-icons-outlined.text-yellow, .material-icons-round.text-yellow, .material-icons-sharp.text-yellow { color: #FFD600; } + +.material-icons.text-blue { color: #006EA6; } + +.material-icons.text-orange { color: #FABC2A; } + diff --git a/public/css/maintenance.css b/public/css/maintenance.css deleted file mode 100644 index 4f4c45020..000000000 --- a/public/css/maintenance.css +++ /dev/null @@ -1,32 +0,0 @@ -@charset "UTF-8"; - -html, body { - width: 100%; - height: 100%; - margin: 0; - padding: 0; - background-color: #333; - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - transform-style: preserve-3d; - font-family: 'Open Sans', sans-serif; -} - -header { - color: #fff; - position: relative; - top: 50%; - transform: translateY(-50%); - text-align: center; - margin: 0 auto; -} - -header h1, header p { - margin: 0; - padding: .25em 0; -} - -header p { - color: #999; - font-size: .8em; -} diff --git a/public/css/print.css b/public/css/print.css index 6a610af91..1d56a41e0 100644 --- a/public/css/print.css +++ b/public/css/print.css @@ -1,11 +1,7 @@ @charset "UTF-8"; /*--General Start--*/ -body -{ - margin: 0; - padding: 0; - font-family: Arial, sans-serif; +.print-content { color: #3c3f72; } @@ -16,7 +12,41 @@ table th, td { - padding: 18px 9px 18px 9px; + padding: 10px 9px 10px 9px; +} + +p { + color: #424242; + margin-bottom: 9px; +} + +.spacing { + display: inline-block; + margin-bottom: 9px; +} + +.right-column { + text-align: right; +} + +.small-text { + font-size: 10px; +} + +.text-medium { + font-weight: 500; +} + +.text-normal { + font-size: 14px; +} + +.text-default { + font-size: 12px; +} + +.text-semibold { + font-weight: 600; } .row @@ -39,6 +69,11 @@ th, td margin-left: 8px; } +.pl-head +{ + padding-left: 18px; +} + .mt-0 { margin-top: 0 !important; @@ -101,24 +136,36 @@ th, td .py-1 { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 3px; + padding-top: 3px; } -.py-2 +.py-top { padding-bottom: 16px; padding-top: 16px; } -.pr-2 -{ - padding-right: 16px; +.p-index-left { + padding: 0 15px 0 0; } -.pl-2 +.p-index-right { + padding: 0 0 0 15px; +} + +.p-modern { + padding: 0 10px 0 10px; +} + +.pt-2 { - padding-left: 16px; + padding-top: 16px; +} + +.pb-2 +{ + padding-bottom: 16px; } .pl-3 @@ -163,12 +210,12 @@ th, td .border-top-1 { - border-top: 1px solid #e5e5e5; + border-top: 1px solid #adadad; } .border-bottom-1 { - border-bottom: 1px solid #e5e5e5; + border-bottom: 1px solid #adadad; } .border-radius-default @@ -176,6 +223,22 @@ th, td border-radius: 0.25rem } +html[dir='ltr'] .border-radius-first { + border-radius: 10px 0px 0px 10px; +} + +html[dir='rtl'] .border-radius-first { + border-radius: 0px 10px 10px 0px; +} + +html[dir='ltr'] .border-radius-last { + border-radius: 0px 10px 10px 0px; +} + +html[dir='rtl'] .border-radius-last { + border-radius: 10px 0px 0px 10px; +} + .float-left { float: left !important; @@ -193,9 +256,13 @@ th, td .text { - color: #3c3f72; + color: #595959; margin-top:8px; - font-size: 13px; + font-size: 12px; +} + +.text-dark { + color: black; } .text-nowrap @@ -208,6 +275,22 @@ th, td text-align: left; } +html[dir='ltr'] .text-alignment-left { + text-align: left; +} + +html[dir='rtl'] .text-alignment-left { + text-align: right; +} + +html[dir='lte'] .text-alignment-right { + text-align: right; +} + +html[dir='rtl'] .text-alignment-right { + text-align: left; +} + .text-right { text-align: right; @@ -223,18 +306,30 @@ th, td color: #ffffff; } +.mt-classic +{ + margin-top: 6px; +} + .bg-default { background-color: #3c3f72; } -.bg-primary -{ - background-color: #55588b; +.radius-circle { + border-radius: 50%; } + /*--General Finish--*/ /*--Print Template Default Start--*/ +.col-60 +{ + display: inline-block; + width: 60%; + vertical-align: top; +} + .col-58 { display: inline-block; @@ -242,6 +337,13 @@ th, td vertical-align: top; } +.col-50 +{ + display: inline-block; + width: 50%; + vertical-align: top; +} + .col-42 { display: inline-block; @@ -249,6 +351,13 @@ th, td vertical-align: top; } +.col-40 +{ + display: inline-block; + width: 40%; + vertical-align: top; +} + .col-16 { display: inline-block; @@ -263,27 +372,43 @@ th, td vertical-align: top; } +.w-image { + width: 70px; +} + +.w-numbers { + width: 93px; +} + .lines { border-collapse: collapse; table-layout: fixed; - border-bottom: 1px solid #e5e5e5; + border-bottom: 1px solid #adadad; } +.lines thead { + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + border-radius: 10px; +} + + .lines tbody td { - border-bottom: 1px solid #e5e5e5; + border-bottom: 1px solid #adadad; } + .lines .item { - width: 50%; + width: 40%; } .lines .quantity { width: 10%; - text-align: center; + text-align: right; } .lines .price @@ -304,10 +429,18 @@ th, td text-align: right; } +.modern-lines { + border-bottom: unset; +} + +.modern-lines tbody td { + border-bottom: unset; +} + .d-logo { - padding-top: 35px; - padding-bottom:64.5px; + padding-top: 18px; + padding-bottom: 30px; } .d-note @@ -330,22 +463,29 @@ th, td .invoice-classic-line { - border: 2px solid #3c3f72; + height: 1px; + background-color: #adadad; } .invoice-classic-frame { width: 90%; - height:70px; - border: 3px solid #3c3f72; + height: 60px; + border: 1px solid #adadad; + border-radius: 10px; } .invoice-classic-inline-frame { - margin: 0.3% 1% 0.3% 1%; + margin: 4.5px auto; width: 95% !important; - height: 59px; - border: 3px solid #3c3f72; + height: 50px; + border: 1px solid #adadad; + border-radius: 10px; +} + +.modern-head { + border-radius: 10px; } .col-33 @@ -357,7 +497,7 @@ th, td .c-lines thead th { - border-top: 1px dashed #e5e5e5; + border-bottom: 1px dashed #e5e5e5; } .c-lines tbody td @@ -367,13 +507,13 @@ th, td .c-lines .item { - width: 50%; + width: 40%; } .c-lines .quantity { width: 10%; - text-align: center; + text-align: right; } .c-lines .price @@ -394,9 +534,14 @@ th, td text-align: right; } -.border-top-dashed +.border-bottom-dashed { - border-top: 1px dashed #e5e5e5; + border-bottom: 1px dashed #e5e5e5; +} + +.border-bottom-dashed-black +{ + border-bottom: 1px dashed #595959; } /*--Print Template Classic Finish--*/ @@ -416,36 +561,36 @@ th, td width: 80%; } -.m-lines +.modern-lines { border-collapse: collapse; table-layout: fixed; } -.m-lines .item +.modern-lines .item { - width: 50%; + width: 40%; } -.m-lines .quantity +.modern-lines .quantity { width: 10%; text-align: center; } -.m-lines .price +.modern-lines .price { width: 20%; text-align: right; } -.m-lines .discount +.modern-lines .discount { width: 10%; text-align: right; } -.m-lines .total +.modern-lines .total { width: 20%; text-align: right; @@ -460,7 +605,7 @@ th, td .rp-border-bottom-1 { - border-bottom: 1px solid #e5e5e5; + border-bottom: 1px solid #adadad; } .rp-border-top-1 @@ -489,13 +634,6 @@ th, td } /*--Print Reports Finish--*/ -.lines .empty-items:hover, -.c-lines .empty-items:hover, -.m-lines .empty-items:hover { - background-color: #f6f9fc; - text-decoration: none; -} - .clearfix:after { display: block; clear: both; @@ -533,6 +671,55 @@ th, td min-height: 52px; } +.extra-spacing { + margin-top: 30px; +} + +.top-spacing { + margin-top: 20px; +} + +/*--Print--*/ + +.col-2 { + width: 16.666667%; +} + +.col-4 { + width: 33.333333%; +} + +html[dir='ltr'] .print-alignment { + text-align: right; +} + +html[dir='rtl'] .print-alignment { + text-align: left; +} + +.print-heading { + color: #55588b; + font-weight: bold; + font-size: 1.25rem; + line-height: 1.75rem; + border-bottom: 1px solid; +} + +html[dir='ltr'] .print-heading { + text-align: left; +} + +html[dir='rtl'] .print-heading { + text-align: right; +} +/*--Print --*/ + +@media (max-width: 1600px) { + .p-index-right { + padding: 0; + } +} + @media (max-width: 1200px) { .transaction-head-text { max-width: 100px !important; diff --git a/public/css/third_party/dropzone_custom.css b/public/css/third_party/dropzone_custom.css new file mode 100644 index 000000000..4a1d89fbc --- /dev/null +++ b/public/css/third_party/dropzone_custom.css @@ -0,0 +1,99 @@ +.dropzone { + position: relative; + display: flex; + flex-direction: column; + margin-top: 0.25rem; +} + +.dropzone-column { + height: calc(100% - 23px); + height: -webkit-calc(100% - 23px); + height: -moz-calc(100% - 23px); +} + +.dz-preview-cover, .dz-preview-single { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: .375rem; +} + +.dz-message { + padding: 5rem 1rem; + display: flex; + align-items: center; + justify-content: center; + background-color: #fff; + border: 1px dashed #C7C9D9; + border-radius: .375rem; + text-align: center; + color: #595959; + transition: all .15s ease; + order: -1; + cursor: pointer; + z-index: 9; +} + +.dz-message:hover { + border-color: #424242; +} + +.dropzone-multiple .dz-message { + height: 5rem; + padding: 0; +} + +.dropzone-single .dz-message { + height: 100%; + padding: 0.5rem 1rem; +} + +.dropzone-column .dz-message { + height: 100%; + padding: 0; +} + +.dropzone-single.dz-max-files-reached .dz-message { + background-color: rgba(0,0,0,.2); + color: #fff; + opacity: 0; +} + +.dropzone-single.dz-max-files-reached .dz-message:hover { + opacity:1 +} + +.dz-message .dz-button { + background: hsla(0,0%,100%,0); + border: none; + color: #C7C9D9; +} + +.dz-preview-img { + object-fit: cover; + width: 100%; + height: 100%; + border-radius: .375rem; +} + +.dropzone-single.dz-max-files-reached .dz-message { + background-color: rgba(0,0,0,.9); + color: #fff; + opacity: 0; +} + +.dropzone .avatar { + color: #fff; + background-color: #adb5bd; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: .375rem; + font-size: 1rem; + height: 45px; + width: 45px; +} + + diff --git a/public/css/third_party/swiper-bundle.min.css b/public/css/third_party/swiper-bundle.min.css new file mode 100644 index 000000000..5267dbc1d --- /dev/null +++ b/public/css/third_party/swiper-bundle.min.css @@ -0,0 +1 @@ +.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/public/css/third_party/vue-html-editor.css b/public/css/third_party/vue-html-editor.css new file mode 100644 index 000000000..8094fc961 --- /dev/null +++ b/public/css/third_party/vue-html-editor.css @@ -0,0 +1,945 @@ +/*! + * Quill Editor v1.3.6 + * https://quilljs.com/ + * Copyright (c) 2014, Jason Chen + * Copyright (c) 2013, salesforce.com + */ +.ql-container { + box-sizing: border-box; + font-family: Helvetica, Arial, sans-serif; + font-size: 13px; + height: 100%; + margin: 0px; + position: relative; +} +.ql-container.ql-disabled .ql-tooltip { + visibility: hidden; +} +.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before { + pointer-events: none; +} +.ql-clipboard { + left: -100000px; + height: 1px; + overflow-y: hidden; + position: absolute; + top: 50%; +} +.ql-clipboard p { + margin: 0; + padding: 0; +} +.ql-editor { + box-sizing: border-box; + line-height: 1.42; + height: 100%; + outline: none; + overflow-y: auto; + padding: 12px 15px; + tab-size: 4; + -moz-tab-size: 4; + text-align: left; + white-space: pre-wrap; + word-wrap: break-word; +} +.ql-editor > * { + cursor: text; +} +.ql-editor p, +.ql-editor ol, +.ql-editor ul, +.ql-editor pre, +.ql-editor blockquote, +.ql-editor h1, +.ql-editor h2, +.ql-editor h3, +.ql-editor h4, +.ql-editor h5, +.ql-editor h6 { + margin: 0; + padding: 0; + counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol, +.ql-editor ul { + padding-left: 1.5em; +} +.ql-editor ol > li, +.ql-editor ul > li { + list-style-type: none; +} +.ql-editor ul > li::before { + content: '\2022'; +} +.ql-editor ul[data-checked=true], +.ql-editor ul[data-checked=false] { + pointer-events: none; +} +.ql-editor ul[data-checked=true] > li *, +.ql-editor ul[data-checked=false] > li * { + pointer-events: all; +} +.ql-editor ul[data-checked=true] > li::before, +.ql-editor ul[data-checked=false] > li::before { + color: #777; + cursor: pointer; + pointer-events: all; +} +.ql-editor ul[data-checked=true] > li::before { + content: '\2611'; +} +.ql-editor ul[data-checked=false] > li::before { + content: '\2610'; +} +.ql-editor li::before { + display: inline-block; + white-space: nowrap; + width: 1.2em; +} +.ql-editor li:not(.ql-direction-rtl)::before { + margin-left: -1.5em; + margin-right: 0.3em; + text-align: right; +} +.ql-editor li.ql-direction-rtl::before { + margin-left: 0.3em; + margin-right: -1.5em; +} +.ql-editor ol li:not(.ql-direction-rtl), +.ql-editor ul li:not(.ql-direction-rtl) { + padding-left: 1.5em; +} +.ql-editor ol li.ql-direction-rtl, +.ql-editor ul li.ql-direction-rtl { + padding-right: 1.5em; +} +.ql-editor ol li { + counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9; + counter-increment: list-0; +} +.ql-editor ol li:before { + content: counter(list-0, decimal) '. '; +} +.ql-editor ol li.ql-indent-1 { + counter-increment: list-1; +} +.ql-editor ol li.ql-indent-1:before { + content: counter(list-1, lower-alpha) '. '; +} +.ql-editor ol li.ql-indent-1 { + counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-2 { + counter-increment: list-2; +} +.ql-editor ol li.ql-indent-2:before { + content: counter(list-2, lower-roman) '. '; +} +.ql-editor ol li.ql-indent-2 { + counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-3 { + counter-increment: list-3; +} +.ql-editor ol li.ql-indent-3:before { + content: counter(list-3, decimal) '. '; +} +.ql-editor ol li.ql-indent-3 { + counter-reset: list-4 list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-4 { + counter-increment: list-4; +} +.ql-editor ol li.ql-indent-4:before { + content: counter(list-4, lower-alpha) '. '; +} +.ql-editor ol li.ql-indent-4 { + counter-reset: list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-5 { + counter-increment: list-5; +} +.ql-editor ol li.ql-indent-5:before { + content: counter(list-5, lower-roman) '. '; +} +.ql-editor ol li.ql-indent-5 { + counter-reset: list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-6 { + counter-increment: list-6; +} +.ql-editor ol li.ql-indent-6:before { + content: counter(list-6, decimal) '. '; +} +.ql-editor ol li.ql-indent-6 { + counter-reset: list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-7 { + counter-increment: list-7; +} +.ql-editor ol li.ql-indent-7:before { + content: counter(list-7, lower-alpha) '. '; +} +.ql-editor ol li.ql-indent-7 { + counter-reset: list-8 list-9; +} +.ql-editor ol li.ql-indent-8 { + counter-increment: list-8; +} +.ql-editor ol li.ql-indent-8:before { + content: counter(list-8, lower-roman) '. '; +} +.ql-editor ol li.ql-indent-8 { + counter-reset: list-9; +} +.ql-editor ol li.ql-indent-9 { + counter-increment: list-9; +} +.ql-editor ol li.ql-indent-9:before { + content: counter(list-9, decimal) '. '; +} +.ql-editor .ql-indent-1:not(.ql-direction-rtl) { + padding-left: 3em; +} +.ql-editor li.ql-indent-1:not(.ql-direction-rtl) { + padding-left: 4.5em; +} +.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right { + padding-right: 3em; +} +.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right { + padding-right: 4.5em; +} +.ql-editor .ql-indent-2:not(.ql-direction-rtl) { + padding-left: 6em; +} +.ql-editor li.ql-indent-2:not(.ql-direction-rtl) { + padding-left: 7.5em; +} +.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right { + padding-right: 6em; +} +.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right { + padding-right: 7.5em; +} +.ql-editor .ql-indent-3:not(.ql-direction-rtl) { + padding-left: 9em; +} +.ql-editor li.ql-indent-3:not(.ql-direction-rtl) { + padding-left: 10.5em; +} +.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right { + padding-right: 9em; +} +.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right { + padding-right: 10.5em; +} +.ql-editor .ql-indent-4:not(.ql-direction-rtl) { + padding-left: 12em; +} +.ql-editor li.ql-indent-4:not(.ql-direction-rtl) { + padding-left: 13.5em; +} +.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right { + padding-right: 12em; +} +.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right { + padding-right: 13.5em; +} +.ql-editor .ql-indent-5:not(.ql-direction-rtl) { + padding-left: 15em; +} +.ql-editor li.ql-indent-5:not(.ql-direction-rtl) { + padding-left: 16.5em; +} +.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right { + padding-right: 15em; +} +.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right { + padding-right: 16.5em; +} +.ql-editor .ql-indent-6:not(.ql-direction-rtl) { + padding-left: 18em; +} +.ql-editor li.ql-indent-6:not(.ql-direction-rtl) { + padding-left: 19.5em; +} +.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right { + padding-right: 18em; +} +.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right { + padding-right: 19.5em; +} +.ql-editor .ql-indent-7:not(.ql-direction-rtl) { + padding-left: 21em; +} +.ql-editor li.ql-indent-7:not(.ql-direction-rtl) { + padding-left: 22.5em; +} +.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right { + padding-right: 21em; +} +.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right { + padding-right: 22.5em; +} +.ql-editor .ql-indent-8:not(.ql-direction-rtl) { + padding-left: 24em; +} +.ql-editor li.ql-indent-8:not(.ql-direction-rtl) { + padding-left: 25.5em; +} +.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right { + padding-right: 24em; +} +.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right { + padding-right: 25.5em; +} +.ql-editor .ql-indent-9:not(.ql-direction-rtl) { + padding-left: 27em; +} +.ql-editor li.ql-indent-9:not(.ql-direction-rtl) { + padding-left: 28.5em; +} +.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right { + padding-right: 27em; +} +.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right { + padding-right: 28.5em; +} +.ql-editor .ql-video { + display: block; + max-width: 100%; +} +.ql-editor .ql-video.ql-align-center { + margin: 0 auto; +} +.ql-editor .ql-video.ql-align-right { + margin: 0 0 0 auto; +} +.ql-editor .ql-bg-black { + background-color: #000; +} +.ql-editor .ql-bg-red { + background-color: #e60000; +} +.ql-editor .ql-bg-orange { + background-color: #f90; +} +.ql-editor .ql-bg-yellow { + background-color: #ff0; +} +.ql-editor .ql-bg-green { + background-color: #008a00; +} +.ql-editor .ql-bg-blue { + background-color: #06c; +} +.ql-editor .ql-bg-purple { + background-color: #93f; +} +.ql-editor .ql-color-white { + color: #fff; +} +.ql-editor .ql-color-red { + color: #e60000; +} +.ql-editor .ql-color-orange { + color: #f90; +} +.ql-editor .ql-color-yellow { + color: #ff0; +} +.ql-editor .ql-color-green { + color: #008a00; +} +.ql-editor .ql-color-blue { + color: #06c; +} +.ql-editor .ql-color-purple { + color: #93f; +} +.ql-editor .ql-font-serif { + font-family: Georgia, Times New Roman, serif; +} +.ql-editor .ql-font-monospace { + font-family: Monaco, Courier New, monospace; +} +.ql-editor .ql-size-small { + font-size: 0.75em; +} +.ql-editor .ql-size-large { + font-size: 1.5em; +} +.ql-editor .ql-size-huge { + font-size: 2.5em; +} +.ql-editor .ql-direction-rtl { + direction: rtl; + text-align: inherit; +} +.ql-editor .ql-align-center { + text-align: center; +} +.ql-editor .ql-align-justify { + text-align: justify; +} +.ql-editor .ql-align-right { + text-align: right; +} +.ql-editor.ql-blank::before { + color: rgba(0,0,0,0.6); + content: attr(data-placeholder); + font-style: italic; + left: 15px; + pointer-events: none; + position: absolute; + right: 15px; +} +.ql-snow.ql-toolbar:after, +.ql-snow .ql-toolbar:after { + clear: both; + content: ''; + display: table; +} +.ql-snow.ql-toolbar button, +.ql-snow .ql-toolbar button { + background: none; + border: none; + cursor: pointer; + display: inline-block; + float: left; + height: 24px; + padding: 3px 5px; + width: 28px; +} +.ql-snow.ql-toolbar button svg, +.ql-snow .ql-toolbar button svg { + float: left; + height: 100%; +} +.ql-snow.ql-toolbar button:active:hover, +.ql-snow .ql-toolbar button:active:hover { + outline: none; +} +.ql-snow.ql-toolbar input.ql-image[type=file], +.ql-snow .ql-toolbar input.ql-image[type=file] { + display: none; +} +.ql-snow.ql-toolbar button:hover, +.ql-snow .ql-toolbar button:hover, +.ql-snow.ql-toolbar button:focus, +.ql-snow .ql-toolbar button:focus, +.ql-snow.ql-toolbar button.ql-active, +.ql-snow .ql-toolbar button.ql-active, +.ql-snow.ql-toolbar .ql-picker-label:hover, +.ql-snow .ql-toolbar .ql-picker-label:hover, +.ql-snow.ql-toolbar .ql-picker-label.ql-active, +.ql-snow .ql-toolbar .ql-picker-label.ql-active, +.ql-snow.ql-toolbar .ql-picker-item:hover, +.ql-snow .ql-toolbar .ql-picker-item:hover, +.ql-snow.ql-toolbar .ql-picker-item.ql-selected, +.ql-snow .ql-toolbar .ql-picker-item.ql-selected { + color: #06c; +} +.ql-snow.ql-toolbar button:hover .ql-fill, +.ql-snow .ql-toolbar button:hover .ql-fill, +.ql-snow.ql-toolbar button:focus .ql-fill, +.ql-snow .ql-toolbar button:focus .ql-fill, +.ql-snow.ql-toolbar button.ql-active .ql-fill, +.ql-snow .ql-toolbar button.ql-active .ql-fill, +.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill, +.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill, +.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill, +.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill, +.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill, +.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill, +.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill, +.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill, +.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill, +.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill, +.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill, +.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill, +.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill, +.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, +.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, +.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, +.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, +.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, +.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, +.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill, +.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill { + fill: #06c; +} +.ql-snow.ql-toolbar button:hover .ql-stroke, +.ql-snow .ql-toolbar button:hover .ql-stroke, +.ql-snow.ql-toolbar button:focus .ql-stroke, +.ql-snow .ql-toolbar button:focus .ql-stroke, +.ql-snow.ql-toolbar button.ql-active .ql-stroke, +.ql-snow .ql-toolbar button.ql-active .ql-stroke, +.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke, +.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke, +.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke, +.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke, +.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke, +.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke, +.ql-snow.ql-toolbar button:hover .ql-stroke-miter, +.ql-snow .ql-toolbar button:hover .ql-stroke-miter, +.ql-snow.ql-toolbar button:focus .ql-stroke-miter, +.ql-snow .ql-toolbar button:focus .ql-stroke-miter, +.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter, +.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter, +.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter, +.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter, +.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, +.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, +.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter, +.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter, +.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter, +.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter { + stroke: #06c; +} +@media (pointer: coarse) { + .ql-snow.ql-toolbar button:hover:not(.ql-active), + .ql-snow .ql-toolbar button:hover:not(.ql-active) { + color: #444; + } + .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill, + .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill, + .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill, + .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill { + fill: #444; + } + .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke, + .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke, + .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter, + .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter { + stroke: #444; + } +} +.ql-snow { + box-sizing: border-box; +} +.ql-snow * { + box-sizing: border-box; +} +.ql-snow .ql-hidden { + display: none; +} +.ql-snow .ql-out-bottom, +.ql-snow .ql-out-top { + visibility: hidden; +} +.ql-snow .ql-tooltip { + position: absolute; + transform: translateY(10px); +} +.ql-snow .ql-tooltip a { + cursor: pointer; + text-decoration: none; +} +.ql-snow .ql-tooltip.ql-flip { + transform: translateY(-10px); +} +.ql-snow .ql-formats { + display: inline-block; + vertical-align: middle; +} +.ql-snow .ql-formats:after { + clear: both; + content: ''; + display: table; +} +.ql-snow .ql-stroke { + fill: none; + stroke: #444; + stroke-linecap: round; + stroke-linejoin: round; + stroke-width: 2; +} +.ql-snow .ql-stroke-miter { + fill: none; + stroke: #444; + stroke-miterlimit: 10; + stroke-width: 2; +} +.ql-snow .ql-fill, +.ql-snow .ql-stroke.ql-fill { + fill: #444; +} +.ql-snow .ql-empty { + fill: none; +} +.ql-snow .ql-even { + fill-rule: evenodd; +} +.ql-snow .ql-thin, +.ql-snow .ql-stroke.ql-thin { + stroke-width: 1; +} +.ql-snow .ql-transparent { + opacity: 0.4; +} +.ql-snow .ql-direction svg:last-child { + display: none; +} +.ql-snow .ql-direction.ql-active svg:last-child { + display: inline; +} +.ql-snow .ql-direction.ql-active svg:first-child { + display: none; +} +.ql-snow .ql-editor h1 { + font-size: 2em; +} +.ql-snow .ql-editor h2 { + font-size: 1.5em; +} +.ql-snow .ql-editor h3 { + font-size: 1.17em; +} +.ql-snow .ql-editor h4 { + font-size: 1em; +} +.ql-snow .ql-editor h5 { + font-size: 0.83em; +} +.ql-snow .ql-editor h6 { + font-size: 0.67em; +} +.ql-snow .ql-editor a { + text-decoration: underline; +} +.ql-snow .ql-editor blockquote { + border-left: 4px solid #ccc; + margin-bottom: 5px; + margin-top: 5px; + padding-left: 16px; +} +.ql-snow .ql-editor code, +.ql-snow .ql-editor pre { + background-color: #f0f0f0; + border-radius: 3px; +} +.ql-snow .ql-editor pre { + white-space: pre-wrap; + margin-bottom: 5px; + margin-top: 5px; + padding: 5px 10px; +} +.ql-snow .ql-editor code { + font-size: 85%; + padding: 2px 4px; +} +.ql-snow .ql-editor pre.ql-syntax { + background-color: #23241f; + color: #f8f8f2; + overflow: visible; +} +.ql-snow .ql-editor img { + max-width: 100%; +} +.ql-snow .ql-picker { + color: #444; + display: inline-block; + float: left; + font-size: 14px; + font-weight: 500; + height: 24px; + position: relative; + vertical-align: middle; +} +.ql-snow .ql-picker-label { + cursor: pointer; + display: inline-block; + height: 100%; + padding-left: 8px; + padding-right: 2px; + position: relative; + width: 100%; +} +.ql-snow .ql-picker-label::before { + display: inline-block; + line-height: 22px; +} +.ql-snow .ql-picker-options { + background-color: #fff; + display: none; + min-width: 100%; + padding: 4px 8px; + position: absolute; + white-space: nowrap; +} +.ql-snow .ql-picker-options .ql-picker-item { + cursor: pointer; + display: block; + padding-bottom: 5px; + padding-top: 5px; +} +.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #ccc; + z-index: 2; +} +.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #ccc; +} +.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #ccc; +} +.ql-snow .ql-picker.ql-expanded .ql-picker-options { + display: block; + margin-top: -1px; + top: 100%; + z-index: 1; +} +.ql-snow .ql-color-picker, +.ql-snow .ql-icon-picker { + width: 28px; +} +.ql-snow .ql-color-picker .ql-picker-label, +.ql-snow .ql-icon-picker .ql-picker-label { + padding: 2px 4px; +} +.ql-snow .ql-color-picker .ql-picker-label svg, +.ql-snow .ql-icon-picker .ql-picker-label svg { + right: 4px; +} +.ql-snow .ql-icon-picker .ql-picker-options { + padding: 4px 0px; +} +.ql-snow .ql-icon-picker .ql-picker-item { + height: 24px; + width: 24px; + padding: 2px 4px; +} +.ql-snow .ql-color-picker .ql-picker-options { + padding: 3px 5px; + width: 152px; +} +.ql-snow .ql-color-picker .ql-picker-item { + border: 1px solid transparent; + float: left; + height: 16px; + margin: 2px; + padding: 0px; + width: 16px; +} +.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg { + position: absolute; + margin-top: -9px; + right: 0; + top: 50%; + width: 18px; +} +.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before, +.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before, +.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before, +.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before, +.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before, +.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before { + content: attr(data-label); +} +.ql-snow .ql-picker.ql-header { + width: 98px; +} +.ql-snow .ql-picker.ql-header .ql-picker-label::before, +.ql-snow .ql-picker.ql-header .ql-picker-item::before { + content: 'Normal'; +} +.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before, +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before { + content: 'Heading 1'; +} +.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { + content: 'Heading 2'; +} +.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { + content: 'Heading 3'; +} +.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before, +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { + content: 'Heading 4'; +} +.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before, +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before { + content: 'Heading 5'; +} +.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before, +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { + content: 'Heading 6'; +} +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before { + font-size: 2em; +} +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { + font-size: 1.5em; +} +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { + font-size: 1.17em; +} +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { + font-size: 1em; +} +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before { + font-size: 0.83em; +} +.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { + font-size: 0.67em; +} +.ql-snow .ql-picker.ql-font { + width: 108px; +} +.ql-snow .ql-picker.ql-font .ql-picker-label::before, +.ql-snow .ql-picker.ql-font .ql-picker-item::before { + content: 'Sans Serif'; +} +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before, +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before { + content: 'Serif'; +} +.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before, +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before { + content: 'Monospace'; +} +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before { + font-family: Georgia, Times New Roman, serif; +} +.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before { + font-family: Monaco, Courier New, monospace; +} +.ql-snow .ql-picker.ql-size { + width: 98px; +} +.ql-snow .ql-picker.ql-size .ql-picker-label::before, +.ql-snow .ql-picker.ql-size .ql-picker-item::before { + content: 'Normal'; +} +.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before, +.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before { + content: 'Small'; +} +.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before, +.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before { + content: 'Large'; +} +.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before, +.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before { + content: 'Huge'; +} +.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before { + font-size: 10px; +} +.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before { + font-size: 18px; +} +.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before { + font-size: 32px; +} +.ql-snow .ql-color-picker.ql-background .ql-picker-item { + background-color: #fff; +} +.ql-snow .ql-color-picker.ql-color .ql-picker-item { + background-color: #000; +} +.ql-toolbar.ql-snow { + border: 1px solid #ccc; + box-sizing: border-box; + font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif; + padding: 8px; +} +.ql-toolbar.ql-snow .ql-formats { + margin-right: 15px; +} +.ql-toolbar.ql-snow .ql-picker-label { + border: 1px solid transparent; +} +.ql-toolbar.ql-snow .ql-picker-options { + border: 1px solid transparent; + box-shadow: rgba(0,0,0,0.2) 0 2px 8px; +} +.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + border-color: #ccc; +} +.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + border-color: #ccc; +} +.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected, +.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover { + border-color: #000; +} +.ql-toolbar.ql-snow + .ql-container.ql-snow { + border-top: 0px; +} +.ql-snow .ql-tooltip { + background-color: #fff; + border: 1px solid #ccc; + box-shadow: 0px 0px 5px #ddd; + color: #444; + padding: 5px 12px; + white-space: nowrap; +} +.ql-snow .ql-tooltip::before { + content: "Visit URL:"; + line-height: 26px; + margin-right: 8px; +} +.ql-snow .ql-tooltip input[type=text] { + display: none; + border: 1px solid #ccc; + font-size: 13px; + height: 26px; + margin: 0px; + padding: 3px 5px; + width: 170px; +} +.ql-snow .ql-tooltip a.ql-preview { + display: inline-block; + max-width: 200px; + overflow-x: hidden; + text-overflow: ellipsis; + vertical-align: top; +} +.ql-snow .ql-tooltip a.ql-action::after { + border-right: 1px solid #ccc; + content: 'Edit'; + margin-left: 16px; + padding-right: 8px; +} +.ql-snow .ql-tooltip a.ql-remove::before { + content: 'Remove'; + margin-left: 8px; +} +.ql-snow .ql-tooltip a { + line-height: 26px; +} +.ql-snow .ql-tooltip.ql-editing a.ql-preview, +.ql-snow .ql-tooltip.ql-editing a.ql-remove { + display: none; +} +.ql-snow .ql-tooltip.ql-editing input[type=text] { + display: inline-block; +} +.ql-snow .ql-tooltip.ql-editing a.ql-action::after { + border-right: 0px; + content: 'Save'; + padding-right: 0px; +} +.ql-snow .ql-tooltip[data-mode=link]::before { + content: "Enter link:"; +} +.ql-snow .ql-tooltip[data-mode=formula]::before { + content: "Enter formula:"; +} +.ql-snow .ql-tooltip[data-mode=video]::before { + content: "Enter video:"; +} +.ql-snow a { + color: #06c; +} +.ql-container.ql-snow { + border: 1px solid #ccc; +} \ No newline at end of file diff --git a/public/css/third_party/vue-html-editor_custom.css b/public/css/third_party/vue-html-editor_custom.css new file mode 100644 index 000000000..ed13be59f --- /dev/null +++ b/public/css/third_party/vue-html-editor_custom.css @@ -0,0 +1,278 @@ +.quill { + @apply mt-1; +} + +.ql-container { + height: 18rem !important; + font-family: "Quicksand", sans-serif !important; +} + +.ql-editor p { + color: #424242; +} + +.ql-toolbar { + @apply text-black; + position: relative; + padding: .625rem .75rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.5rem 0.5rem 0 0; +} + +.ql-editor { + @apply text-sm text-light-gray; + display: block; + width: 100%; + padding: .625rem .75rem; + background-color: #fff; + background-clip: padding-box; + border: 1px solid; + border-top: unset; + border-bottom-left-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; +} + +.ql-toolbar button:hover { + color: #55588B !important; +} + +.ql-snow .ql-editor a { + @apply text-green no-underline; +} + +.quillWrapper { + @apply mt-1; +} + +.ql-container.ql-snow { + border: unset !important; +} + +.ql-tooltip { + position: absolute; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + width: 18.5rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 0.4375rem; + padding: 0.625rem 0.75rem; + margin-top: 0.6rem; + -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.2); +} +.ql-tooltip:after, +.ql-tooltip:before { + content: ""; + position: absolute; + left: 50%; + bottom: 100%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} +.ql-tooltip:before { + border-bottom: 0.6rem solid rgba(0, 0, 0, 0.05); + border-left: 0.6rem solid transparent; + border-right: 0.6rem solid transparent; +} +.ql-tooltip:after { + border-bottom: 0.5rem solid #fff; + border-left: 0.5rem solid transparent; + border-right: 0.5rem solid transparent; +} +.ql-container .ql-tooltip:hover { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; +} +.ql-tooltip .ql-preview { + width: 100%; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .ql-tooltip .ql-preview { + -webkit-transition: none; + transition: none; + } +} +.ql-tooltip.ql-editing .ql-preview { + display: none; +} +.ql-tooltip input { + display: none; + width: 100%; + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + background-color: transparent; + font-size: 0.875rem; + line-height: 1.5; + border: none; + color: #8898aa; +} +.ql-tooltip input:focus { + outline: none; +} +.ql-tooltip.ql-editing input { + display: block; +} +.ql-tooltip .ql-action, +.ql-tooltip .ql-remove { + margin-left: 0.25rem; +} +.ql-tooltip .ql-action:before, +.ql-tooltip .ql-remove:before { + display: inline-block; + font-weight: 600; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + cursor: pointer; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .ql-tooltip .ql-action:before, + .ql-tooltip .ql-remove:before { + -webkit-transition: none; + transition: none; + } +} +.ql-tooltip .ql-action:before:focus, +.ql-tooltip .ql-action:before:hover, +.ql-tooltip .ql-remove:before:focus, +.ql-tooltip .ql-remove:before:hover { + text-decoration: none; +} +.ql-tooltip .ql-action:before.focus, +.ql-tooltip .ql-action:before:focus, +.ql-tooltip .ql-remove:before.focus, +.ql-tooltip .ql-remove:before:focus { + outline: 0; + -webkit-box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08); + box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08); +} +.ql-tooltip .ql-action:before, +.ql-tooltip.ql-editing .ql-action:before { + color: #fff; + background-color: #5e72e4; + border-color: #5e72e4; + -webkit-box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} +.ql-tooltip .ql-action:before:hover, +.ql-tooltip.ql-editing .ql-action:before:hover { + color: #fff; + background-color: #5e72e4; + border-color: #5e72e4; +} +.ql-tooltip .ql-action:before.focus, +.ql-tooltip .ql-action:before:focus, +.ql-tooltip.ql-editing .ql-action:before.focus, +.ql-tooltip.ql-editing .ql-action:before:focus { + -webkit-box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(94, 114, 228, 0.5); + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(94, 114, 228, 0.5); +} +.ql-tooltip .ql-action:before.disabled, +.ql-tooltip .ql-action:before:disabled, +.ql-tooltip.ql-editing .ql-action:before.disabled, +.ql-tooltip.ql-editing .ql-action:before:disabled { + color: #fff; + background-color: #5e72e4; + border-color: #5e72e4; +} +.ql-tooltip .ql-action:before:not(:disabled):not(.disabled).active, +.ql-tooltip .ql-action:before:not(:disabled):not(.disabled):active, +.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled).active, +.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled):active, +.show > .ql-tooltip .ql-action:before.dropdown-toggle, +.show > .ql-tooltip.ql-editing .ql-action:before.dropdown-toggle { + color: #fff; + background-color: #324cdd; + border-color: #5e72e4; +} +.ql-tooltip .ql-action:before:not(:disabled):not(.disabled).active:focus, +.ql-tooltip .ql-action:before:not(:disabled):not(.disabled):active:focus, +.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled).active:focus, +.ql-tooltip.ql-editing .ql-action:before:not(:disabled):not(.disabled):active:focus, +.show > .ql-tooltip .ql-action:before.dropdown-toggle:focus, +.show > .ql-tooltip.ql-editing .ql-action:before.dropdown-toggle:focus { + -webkit-box-shadow: none, 0 0 0 0 rgba(94, 114, 228, 0.5); + box-shadow: none, 0 0 0 0 rgba(94, 114, 228, 0.5); +} +.ql-tooltip .ql-action:before { + content: "Edit"; +} +.ql-tooltip.ql-editing .ql-action:before { + content: "Save"; +} +.ql-tooltip .ql-remove:before { + color: #212529; + background-color: #fff; + -webkit-box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); + content: "Remove"; + border-color: #dee2e6; +} +.ql-tooltip .ql-remove:before:hover { + color: #212529; + background-color: #fff; + border-color: #fff; +} +.ql-tooltip .ql-remove:before.focus, +.ql-tooltip .ql-remove:before:focus { + -webkit-box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 hsla(0, 0%, 100%, 0.5); + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 hsla(0, 0%, 100%, 0.5); +} +.ql-tooltip .ql-remove:before.disabled, +.ql-tooltip .ql-remove:before:disabled { + color: #212529; + background-color: #fff; + border-color: #fff; +} +.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled).active, +.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled):active, +.show > .ql-tooltip .ql-remove:before.dropdown-toggle { + color: #212529; + background-color: #e6e5e5; + border-color: #fff; +} +.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled).active:focus, +.ql-tooltip .ql-remove:before:not(:disabled):not(.disabled):active:focus, +.show > .ql-tooltip .ql-remove:before.dropdown-toggle:focus { + -webkit-box-shadow: none, 0 0 0 0 hsla(0, 0%, 100%, 0.5); + box-shadow: none, 0 0 0 0 hsla(0, 0%, 100%, 0.5); +} +.ql-tooltip.ql-editing .ql-remove:before { + display: none; +} + +.ql-snow .ql-tooltip::before { + display: none; +} + +.ql-snow .ql-tooltip a.ql-action::after { + display: none; +} \ No newline at end of file diff --git a/public/files/import/categories.xlsx b/public/files/import/categories.xlsx index ab5676545..12e128091 100644 Binary files a/public/files/import/categories.xlsx and b/public/files/import/categories.xlsx differ diff --git a/public/files/import/items.xlsx b/public/files/import/items.xlsx index 66640947b..be028ee45 100644 Binary files a/public/files/import/items.xlsx and b/public/files/import/items.xlsx differ diff --git a/public/files/import/payments.xlsx b/public/files/import/payments.xlsx deleted file mode 100644 index b216490fa..000000000 Binary files a/public/files/import/payments.xlsx and /dev/null differ diff --git a/public/files/import/revenues.xlsx b/public/files/import/revenues.xlsx deleted file mode 100644 index c2a0ee5f3..000000000 Binary files a/public/files/import/revenues.xlsx and /dev/null differ diff --git a/public/files/import/taxes.xlsx b/public/files/import/taxes.xlsx new file mode 100644 index 000000000..aea98d08d Binary files /dev/null and b/public/files/import/taxes.xlsx differ diff --git a/public/files/import/transactions.xlsx b/public/files/import/transactions.xlsx index 9d40d33b9..81854e3b4 100644 Binary files a/public/files/import/transactions.xlsx and b/public/files/import/transactions.xlsx differ diff --git a/public/fonts/MaterialIcons-Regular.eot b/public/fonts/MaterialIcons-Regular.eot new file mode 100644 index 000000000..ba9158002 Binary files /dev/null and b/public/fonts/MaterialIcons-Regular.eot differ diff --git a/public/fonts/MaterialIcons-Regular.ttf b/public/fonts/MaterialIcons-Regular.ttf new file mode 100644 index 000000000..22db32c43 Binary files /dev/null and b/public/fonts/MaterialIcons-Regular.ttf differ diff --git a/public/fonts/MaterialIcons-Regular.woff b/public/fonts/MaterialIcons-Regular.woff new file mode 100644 index 000000000..d5b6e2a39 Binary files /dev/null and b/public/fonts/MaterialIcons-Regular.woff differ diff --git a/public/fonts/MaterialIcons-Regular.woff2 b/public/fonts/MaterialIcons-Regular.woff2 new file mode 100644 index 000000000..36b0b6376 Binary files /dev/null and b/public/fonts/MaterialIcons-Regular.woff2 differ diff --git a/public/img/akaunting-loading.gif b/public/img/akaunting-loading.gif new file mode 100644 index 000000000..3c0fd422a Binary files /dev/null and b/public/img/akaunting-loading.gif differ diff --git a/public/img/akaunting-logo-gold.png b/public/img/akaunting-logo-gold.png new file mode 100644 index 000000000..b96dadd27 Binary files /dev/null and b/public/img/akaunting-logo-gold.png differ diff --git a/public/img/akaunting-logo-golden.svg b/public/img/akaunting-logo-golden.svg deleted file mode 100644 index c24058bc7..000000000 --- a/public/img/akaunting-logo-golden.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/public/img/akaunting-logo-horizontal.svg b/public/img/akaunting-logo-horizontal.svg new file mode 100644 index 000000000..7f4453fa1 --- /dev/null +++ b/public/img/akaunting-logo-horizontal.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/akaunting-logo-purple.svg b/public/img/akaunting-logo-purple.svg new file mode 100644 index 000000000..da27fac2c --- /dev/null +++ b/public/img/akaunting-logo-purple.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/img/akaunting-logo-wild-blue.png b/public/img/akaunting-logo-wild-blue.png new file mode 100644 index 000000000..90c6cd08a Binary files /dev/null and b/public/img/akaunting-logo-wild-blue.png differ diff --git a/public/img/auth/bullet_active.png b/public/img/auth/bullet_active.png new file mode 100644 index 000000000..215157815 Binary files /dev/null and b/public/img/auth/bullet_active.png differ diff --git a/public/img/auth/bullet_inactive.png b/public/img/auth/bullet_inactive.png new file mode 100644 index 000000000..43183cff7 Binary files /dev/null and b/public/img/auth/bullet_inactive.png differ diff --git a/public/img/auth/chart.png b/public/img/auth/chart.png new file mode 100644 index 000000000..6a618a8a2 Binary files /dev/null and b/public/img/auth/chart.png differ diff --git a/public/img/auth/client.png b/public/img/auth/client.png new file mode 100644 index 000000000..e31b06458 Binary files /dev/null and b/public/img/auth/client.png differ diff --git a/public/img/auth/folder.png b/public/img/auth/folder.png new file mode 100644 index 000000000..b439b4348 Binary files /dev/null and b/public/img/auth/folder.png differ diff --git a/public/img/auth/layout.png b/public/img/auth/layout.png new file mode 100644 index 000000000..c14caebc0 Binary files /dev/null and b/public/img/auth/layout.png differ diff --git a/public/img/auth/login-bg.png b/public/img/auth/login-bg.png new file mode 100644 index 000000000..17c2fc937 Binary files /dev/null and b/public/img/auth/login-bg.png differ diff --git a/public/img/auth/logo.png b/public/img/auth/logo.png new file mode 100644 index 000000000..6d1a66d1c Binary files /dev/null and b/public/img/auth/logo.png differ diff --git a/public/img/auth/small-logo.png b/public/img/auth/small-logo.png new file mode 100644 index 000000000..238cd14d9 Binary files /dev/null and b/public/img/auth/small-logo.png differ diff --git a/public/img/dashboard.png b/public/img/dashboard.png new file mode 100644 index 000000000..c7cd39726 Binary files /dev/null and b/public/img/dashboard.png differ diff --git a/public/img/empty_pages/bills.png b/public/img/empty_pages/bills.png index c005a131c..ec33cef5f 100644 Binary files a/public/img/empty_pages/bills.png and b/public/img/empty_pages/bills.png differ diff --git a/public/img/empty_pages/companies.png b/public/img/empty_pages/companies.png new file mode 100644 index 000000000..20cd28b00 Binary files /dev/null and b/public/img/empty_pages/companies.png differ diff --git a/public/img/empty_pages/contacs.png b/public/img/empty_pages/contacs.png new file mode 100644 index 000000000..353432aa5 Binary files /dev/null and b/public/img/empty_pages/contacs.png differ diff --git a/public/img/empty_pages/customers.png b/public/img/empty_pages/customers.png index ff5185ecf..4a8a71744 100644 Binary files a/public/img/empty_pages/customers.png and b/public/img/empty_pages/customers.png differ diff --git a/public/img/empty_pages/default.png b/public/img/empty_pages/default.png new file mode 100644 index 000000000..76e3b4a0d Binary files /dev/null and b/public/img/empty_pages/default.png differ diff --git a/public/img/empty_pages/invoices.png b/public/img/empty_pages/invoices.png index 39a80385f..c97fbf215 100644 Binary files a/public/img/empty_pages/invoices.png and b/public/img/empty_pages/invoices.png differ diff --git a/public/img/empty_pages/items.png b/public/img/empty_pages/items.png index 5ea10e13b..a24c60700 100644 Binary files a/public/img/empty_pages/items.png and b/public/img/empty_pages/items.png differ diff --git a/public/img/empty_pages/no-apps.png b/public/img/empty_pages/no-apps.png new file mode 100644 index 000000000..12146562c Binary files /dev/null and b/public/img/empty_pages/no-apps.png differ diff --git a/public/img/empty_pages/payments.png b/public/img/empty_pages/payments.png index e5fd8c414..7c1e17eb1 100644 Binary files a/public/img/empty_pages/payments.png and b/public/img/empty_pages/payments.png differ diff --git a/public/img/empty_pages/reconciliations.png b/public/img/empty_pages/reconciliations.png index fadfecd05..746073d76 100644 Binary files a/public/img/empty_pages/reconciliations.png and b/public/img/empty_pages/reconciliations.png differ diff --git a/public/img/empty_pages/recurring_templates.png b/public/img/empty_pages/recurring_templates.png new file mode 100644 index 000000000..4eecab041 Binary files /dev/null and b/public/img/empty_pages/recurring_templates.png differ diff --git a/public/img/empty_pages/revenues.png b/public/img/empty_pages/revenues.png index d6a5c87b2..ca6a3c9eb 100644 Binary files a/public/img/empty_pages/revenues.png and b/public/img/empty_pages/revenues.png differ diff --git a/public/img/empty_pages/subscriptions.png b/public/img/empty_pages/subscriptions.png new file mode 100644 index 000000000..29be49b30 Binary files /dev/null and b/public/img/empty_pages/subscriptions.png differ diff --git a/public/img/empty_pages/taxes.png b/public/img/empty_pages/taxes.png index 9a65fe1cd..1884d7661 100644 Binary files a/public/img/empty_pages/taxes.png and b/public/img/empty_pages/taxes.png differ diff --git a/public/img/empty_pages/tickets.png b/public/img/empty_pages/tickets.png new file mode 100644 index 000000000..2296a5c1d Binary files /dev/null and b/public/img/empty_pages/tickets.png differ diff --git a/public/img/empty_pages/transactions.png b/public/img/empty_pages/transactions.png new file mode 100644 index 000000000..886a664d5 Binary files /dev/null and b/public/img/empty_pages/transactions.png differ diff --git a/public/img/empty_pages/transfers.png b/public/img/empty_pages/transfers.png index 8958e17a6..744459df6 100644 Binary files a/public/img/empty_pages/transfers.png and b/public/img/empty_pages/transfers.png differ diff --git a/public/img/empty_pages/vendors.png b/public/img/empty_pages/vendors.png index 122488e8c..c7f33aa15 100644 Binary files a/public/img/empty_pages/vendors.png and b/public/img/empty_pages/vendors.png differ diff --git a/public/img/errors/403.png b/public/img/errors/403.png new file mode 100644 index 000000000..bae710ab1 Binary files /dev/null and b/public/img/errors/403.png differ diff --git a/public/img/errors/404.png b/public/img/errors/404.png new file mode 100644 index 000000000..e15fe3ba9 Binary files /dev/null and b/public/img/errors/404.png differ diff --git a/public/img/errors/500.png b/public/img/errors/500.png new file mode 100644 index 000000000..9de37ea84 Binary files /dev/null and b/public/img/errors/500.png differ diff --git a/public/img/invoice_templates/classic.png b/public/img/invoice_templates/classic.png index 705422f51..da5eb986b 100644 Binary files a/public/img/invoice_templates/classic.png and b/public/img/invoice_templates/classic.png differ diff --git a/public/img/invoice_templates/default.png b/public/img/invoice_templates/default.png index 9e360346c..b51552606 100644 Binary files a/public/img/invoice_templates/default.png and b/public/img/invoice_templates/default.png differ diff --git a/public/img/invoice_templates/modern.png b/public/img/invoice_templates/modern.png index d0e92a220..d66225d28 100644 Binary files a/public/img/invoice_templates/modern.png and b/public/img/invoice_templates/modern.png differ diff --git a/public/img/login.png b/public/img/login.png deleted file mode 100644 index 37f8e2e8d..000000000 Binary files a/public/img/login.png and /dev/null differ diff --git a/public/img/modules/save30arrow3.png b/public/img/modules/save30arrow3.png deleted file mode 100644 index 156c72d4a..000000000 Binary files a/public/img/modules/save30arrow3.png and /dev/null differ diff --git a/public/img/no_records/accounts_transactions.png b/public/img/no_records/accounts_transactions.png new file mode 100644 index 000000000..b611e4d16 Binary files /dev/null and b/public/img/no_records/accounts_transactions.png differ diff --git a/public/img/no_records/accounts_transfers.png b/public/img/no_records/accounts_transfers.png new file mode 100644 index 000000000..ca7c59793 Binary files /dev/null and b/public/img/no_records/accounts_transfers.png differ diff --git a/public/img/no_records/customers_invoices.png b/public/img/no_records/customers_invoices.png new file mode 100644 index 000000000..aa2ae771b Binary files /dev/null and b/public/img/no_records/customers_invoices.png differ diff --git a/public/img/no_records/customers_transactions.png b/public/img/no_records/customers_transactions.png new file mode 100644 index 000000000..6ff42d493 Binary files /dev/null and b/public/img/no_records/customers_transactions.png differ diff --git a/public/img/no_records/vendors_bills.png b/public/img/no_records/vendors_bills.png new file mode 100644 index 000000000..000b4ccd2 Binary files /dev/null and b/public/img/no_records/vendors_bills.png differ diff --git a/public/img/no_records/vendors_transactions.png b/public/img/no_records/vendors_transactions.png new file mode 100644 index 000000000..feddd49ee Binary files /dev/null and b/public/img/no_records/vendors_transactions.png differ diff --git a/public/img/tailwind_icons/not-equal.svg b/public/img/tailwind_icons/not-equal.svg new file mode 100644 index 000000000..e546d10dc --- /dev/null +++ b/public/img/tailwind_icons/not-equal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/img/transfer_templates/default.png b/public/img/transfer_templates/default.png index ec891524e..2c7850c96 100644 Binary files a/public/img/transfer_templates/default.png and b/public/img/transfer_templates/default.png differ diff --git a/public/img/transfer_templates/second.png b/public/img/transfer_templates/second.png index 192abaaf6..0240dc66c 100644 Binary files a/public/img/transfer_templates/second.png and b/public/img/transfer_templates/second.png differ diff --git a/public/img/transfer_templates/third.png b/public/img/transfer_templates/third.png index eb3f55ecf..49618ffc8 100644 Binary files a/public/img/transfer_templates/third.png and b/public/img/transfer_templates/third.png differ diff --git a/public/img/wizard-modules.png b/public/img/wizard-modules.png new file mode 100644 index 000000000..f64814d63 Binary files /dev/null and b/public/img/wizard-modules.png differ diff --git a/public/shortcuts-config.json b/public/shortcuts-config.json new file mode 100644 index 000000000..554b4952f --- /dev/null +++ b/public/shortcuts-config.json @@ -0,0 +1,30 @@ +{ + "ctrlKey": { + "Slash": "/common/reports", + "Backslash": "/" + }, + "altKey": { + "Quote": "/sales/invoices/create", + "KeyB": "/purchases/bills/create", + "KeyR": "/sales/revenues/create", + "KeyP": "/purchases/payments/create", + "KeyC": "/sales/customers/create", + "KeyV": "/purchases/vendors/create", + "KeyN": "/common/items/create" + }, + "char": { + "KeyP": "/print", + "KeyN": null, + "KeyC": null + }, + "pages": { + "sales/invoices/": { + "KeyC": null, + "KeyN": null + }, + "purchases/bills/": { + "KeyC": "window.axios.get('http://software.test/1/modals/vendors/create')", + "KeyN": null + } + } +} \ No newline at end of file diff --git a/public/vendor/alpinejs/alpine.min.js b/public/vendor/alpinejs/alpine.min.js new file mode 100644 index 000000000..5a72af488 --- /dev/null +++ b/public/vendor/alpinejs/alpine.min.js @@ -0,0 +1,8 @@ +/** + * Minified by jsDelivr using Terser v5.3.5. + * Original file: /gh/alpinejs/alpine@2.8.2/dist/alpine.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Alpine=t()}(this,(function(){"use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function n(n){for(var i=1;i tags. See https://github.com/alpinejs/alpine#${t}`):1!==e.content.childElementCount&&console.warn(`Alpine: