diff --git a/app/Abstracts/View/Components/TransferShow.php b/app/Abstracts/View/Components/TransferShow.php index ba62cd890..f6045640a 100644 --- a/app/Abstracts/View/Components/TransferShow.php +++ b/app/Abstracts/View/Components/TransferShow.php @@ -101,6 +101,12 @@ abstract class TransferShow extends Component /** @var string */ public $routeButtonDelete; + /** @var string */ + public $routeFromAccountShow; + + /** @var string */ + public $routeToAccountShow; + /** @var string */ public $textDeleteModal; @@ -267,7 +273,7 @@ abstract class TransferShow extends Component bool $hideButtonGroupDivider1 = false, bool $hideButtonGroupDivider2 = false, bool $hideButtonGroupDivider3 = false, string $permissionCreate = '', string $permissionUpdate = '', string $permissionDelete = '', string $routeButtonAddNew = '', string $routeButtonEdit = '', string $routeButtonDuplicate = '', string $routeButtonPrint = '', string $signedUrl = '', - string $routeButtonEmail = '', string $routeButtonPdf = '', string $routeButtonDelete = '', + string $routeButtonEmail = '', string $routeButtonPdf = '', string $routeButtonDelete = '', string $routeFromAccountShow = '', string $routeToAccountShow = '', string $textDeleteModal = '', bool $hideHeader = false, bool $hideHeaderFromAccount = false, bool $hideHeaderToAccount = false, bool $hideHeaderAmount = false, bool $hideHeaderPaidAt = false, string $textHeaderFromAccount = '', string $textHeaderToAccount = '', string $textHeaderAmount = '', string $textHeaderPaidAt = '', @@ -324,6 +330,8 @@ abstract class TransferShow extends Component $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; @@ -501,6 +509,24 @@ abstract class TransferShow extends Component 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)) { diff --git a/app/Console/Stubs/Modules/command.stub b/app/Console/Stubs/Modules/command.stub index 95145d84b..6dbc129ec 100644 --- a/app/Console/Stubs/Modules/command.stub +++ b/app/Console/Stubs/Modules/command.stub @@ -3,8 +3,6 @@ namespace $NAMESPACE$; use Illuminate\Console\Command; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Input\InputArgument; class $CLASS$ extends Command { @@ -22,16 +20,6 @@ class $CLASS$ extends Command */ protected $description = 'Command description.'; - /** - * Create a new command instance. - * - * @return void - */ - public function __construct() - { - parent::__construct(); - } - /** * Execute the console command. * @@ -41,28 +29,4 @@ class $CLASS$ extends Command { // } - - /** - * Get the console command arguments. - * - * @return array - */ - protected function getArguments() - { - return [ - ['example', InputArgument::REQUIRED, 'An example argument.'], - ]; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['example', null, InputOption::VALUE_OPTIONAL, 'An example option.', null], - ]; - } } diff --git a/app/Events/Auth/UserCreated.php b/app/Events/Auth/UserCreated.php new file mode 100644 index 000000000..52aa52df1 --- /dev/null +++ b/app/Events/Auth/UserCreated.php @@ -0,0 +1,24 @@ +user = $user; + $this->request = $request; + } +} diff --git a/app/Events/Auth/UserCreating.php b/app/Events/Auth/UserCreating.php new file mode 100644 index 000000000..6e613b5d8 --- /dev/null +++ b/app/Events/Auth/UserCreating.php @@ -0,0 +1,22 @@ +request = $request; + } +} diff --git a/app/Events/Auth/UserUpdated.php b/app/Events/Auth/UserUpdated.php new file mode 100644 index 000000000..c5766fb6b --- /dev/null +++ b/app/Events/Auth/UserUpdated.php @@ -0,0 +1,24 @@ +user = $user; + $this->request = $request; + } +} diff --git a/app/Events/Auth/UserUpdating.php b/app/Events/Auth/UserUpdating.php new file mode 100644 index 000000000..ebf0b8b37 --- /dev/null +++ b/app/Events/Auth/UserUpdating.php @@ -0,0 +1,24 @@ +user = $user; + $this->request = $request; + } +} diff --git a/app/Http/Controllers/Banking/Accounts.php b/app/Http/Controllers/Banking/Accounts.php index 21a5f3a7e..6b8c66ab1 100644 --- a/app/Http/Controllers/Banking/Accounts.php +++ b/app/Http/Controllers/Banking/Accounts.php @@ -8,6 +8,9 @@ use App\Jobs\Banking\CreateAccount; use App\Jobs\Banking\DeleteAccount; use App\Jobs\Banking\UpdateAccount; use App\Models\Banking\Account; +use App\Models\Banking\Transaction; +use App\Models\Banking\Transfer; +use App\Utilities\Reports as Utility; use App\Models\Setting\Currency; class Accounts extends Controller @@ -29,11 +32,26 @@ class Accounts extends Controller * * @return Response */ - public function show() + public function show(Account $account) { - return redirect()->route('accounts.index'); - } + // Handle transactions + $transactions = Transaction::with('account', 'category')->where('account_id', $account->id)->collect('paid_at'); + $transfers = Transfer::with('transaction')->all()->filter(function ($transfer) use($account) { + if ($transfer->expense_account->id == $account->id || $transfer->income_account->id == $account->id) { + return true; + } + + return false; + })->sortByDesc(function ($transfer) { + return $transfer->expense_transaction->paid_at; + }); + + $limit = (int) request('limit', setting('default.list_limit', '25')); + $transfers = $this->paginate($transfers, $limit); + + return view('banking.accounts.show', compact('account', 'transactions', 'transfers')); + } /** * Show the form for creating a new resource. * @@ -60,7 +78,7 @@ class Accounts extends Controller $response = $this->ajaxDispatch(new CreateAccount($request)); if ($response['success']) { - $response['redirect'] = route('accounts.index'); + $response['redirect'] = route('accounts.show', $response['data']->id); $message = trans('messages.success.added', ['type' => trans_choice('general.accounts', 1)]); @@ -76,6 +94,24 @@ class Accounts extends Controller return response()->json($response); } + /** + * Duplicate the specified resource. + * + * @param Account $account + * + * @return Response + */ + public function duplicate(Account $account) + { + $clone = $account->duplicate(); + + $message = trans('messages.success.duplicated', ['type' => trans_choice('general.accounts', 1)]); + + flash($message)->success(); + + return redirect()->route('accounts.edit', $clone->id); + } + /** * Show the form for editing the specified resource. * @@ -107,7 +143,7 @@ class Accounts extends Controller $response = $this->ajaxDispatch(new UpdateAccount($account, $request)); if ($response['success']) { - $response['redirect'] = route('accounts.index'); + $response['redirect'] = route('accounts.show', $account->id); $message = trans('messages.success.updated', ['type' => $account->name]); @@ -185,6 +221,44 @@ class Accounts extends Controller return response()->json($response); } + public function createRevenue(Account $account) + { + $data['account_id'] = $account->id; + + return redirect()->route('revenues.create')->withInput($data); + } + + public function createPayment(Account $account) + { + $data['account_id'] = $account->id; + + return redirect()->route('payments.create')->withInput($data); + } + + public function createTransfer(Account $account) + { + $data['from_account_id'] = $account->id; + + return redirect()->route('transfers.create')->withInput($data); + } + + public function seePerformance(Account $account) + { + $data['account_id'] = $account->id; + + $report = Utility::getClassInstance('App\Reports\IncomeExpenseSummary'); + + if (empty($report) || empty($report->model)) { + $message = trans('accounts.create_report'); + + flash($message)->warning()->important(); + + return redirect()->route('reports.create'); + } + + return redirect()->route('reports.show', $report->model->id)->withInput($data); + } + public function currency() { $account_id = (int) request('account_id'); diff --git a/app/Http/Controllers/Common/BulkActions.php b/app/Http/Controllers/Common/BulkActions.php index 314cc4f49..28fe4af67 100644 --- a/app/Http/Controllers/Common/BulkActions.php +++ b/app/Http/Controllers/Common/BulkActions.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Common; use App\Abstracts\Http\Controller; use App\Http\Requests\Common\BulkAction as Request; +use Illuminate\Http\RedirectResponse; use Illuminate\Support\Str; class BulkActions extends Controller @@ -57,6 +58,14 @@ class BulkActions extends Controller if (!empty($result) && ($result instanceof \Symfony\Component\HttpFoundation\BinaryFileResponse)) { return $result; + } elseif (!empty($result) && ($result instanceof RedirectResponse)) { + return response()->json([ + 'success' => true, + 'redirect' => $result->getTargetUrl(), + 'error' => false, + 'data' => [], + 'message' => '' + ]); } else { return response()->json([ 'success' => true, diff --git a/app/Http/Controllers/Common/Notifications.php b/app/Http/Controllers/Common/Notifications.php index b283dba9e..0e72e8ab6 100644 --- a/app/Http/Controllers/Common/Notifications.php +++ b/app/Http/Controllers/Common/Notifications.php @@ -2,15 +2,15 @@ namespace App\Http\Controllers\Common; -use Date; use App\Abstracts\Http\Controller; -use App\Traits\Modules as RemoteModules; use App\Http\Requests\Common\Notification as Request; +use App\Traits\Modules; +use App\Utilities\Date; use Illuminate\Support\Str; class Notifications extends Controller { - use RemoteModules; + use Modules; /** * Display a listing of the resource. @@ -36,13 +36,17 @@ class Notifications extends Controller } // Hide New Apps Notifications - $module_notifications = $this->getNotifications('new-apps' ); + $module_notifications = $this->getNotifications('new-apps'); foreach ($module_notifications as $module_notification) { - setting()->set('notifications.'. user()->id . '.' . $module_notification->alias . '.name', $module_notification->name); - setting()->set('notifications.'. user()->id . '.' . $module_notification->alias . '.message', $module_notification->alias); - setting()->set('notifications.'. user()->id . '.' . $module_notification->alias . '.date', Date::now()); - setting()->set('notifications.'. user()->id . '.' . $module_notification->alias . '.status', '0'); + $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(); @@ -68,17 +72,20 @@ class Notifications extends Controller $notifications = $this->getNotifications($path); - if ($notifications) { - foreach ($notifications as $notification) { - if ($notification->id == $id) { - setting()->set('notifications.'. $path . '.' . $id . '.name', $notification->name); - setting()->set('notifications.'. $path . '.' . $id . '.message', $notification->message); - setting()->set('notifications.'. $path . '.' . $id . '.date', Date::now()); - setting()->set('notifications.'. $path . '.' . $id . '.status', '0'); + foreach ($notifications as $notification) { + if ($notification->id == $id) { + $prefix = 'notifications.' . $path . '.' . $id; - setting()->save(); - break; - } + setting()->set([ + $prefix . '.name' => $notification->name, + $prefix . '.message' => $notification->message, + $prefix . '.date' => Date::now(), + $prefix . '.status' => '0', + ]); + + setting()->save(); + + break; } } diff --git a/app/Http/Controllers/Modals/TransferTemplates.php b/app/Http/Controllers/Modals/TransferTemplates.php index 022545ecd..449bd1fb6 100644 --- a/app/Http/Controllers/Modals/TransferTemplates.php +++ b/app/Http/Controllers/Modals/TransferTemplates.php @@ -57,7 +57,7 @@ class TransferTemplates extends Controller 'error' => false, 'message' => $message, 'data' => null, - 'redirect' => route('settings.invoice.edit'), + 'redirect' => url()->previous(), ]; flash($message)->success(); diff --git a/app/Http/Controllers/Purchases/Vendors.php b/app/Http/Controllers/Purchases/Vendors.php index f92559c66..c4ce7cd36 100644 --- a/app/Http/Controllers/Purchases/Vendors.php +++ b/app/Http/Controllers/Purchases/Vendors.php @@ -59,7 +59,7 @@ class Vendors extends Controller foreach ($bills as $item) { // Already in transactions - if ($item->status == 'paid') { + if ($item->status == 'paid' || $item->status == 'cancelled') { continue; } @@ -118,7 +118,7 @@ class Vendors extends Controller $response = $this->ajaxDispatch(new CreateContact($request)); if ($response['success']) { - $response['redirect'] = route('vendors.index'); + $response['redirect'] = route('vendors.show', $response['data']->id); $message = trans('messages.success.added', ['type' => trans_choice('general.vendors', 1)]); diff --git a/app/Http/Controllers/Sales/Customers.php b/app/Http/Controllers/Sales/Customers.php index b5f5c3e2c..86c44cb5f 100644 --- a/app/Http/Controllers/Sales/Customers.php +++ b/app/Http/Controllers/Sales/Customers.php @@ -57,7 +57,7 @@ class Customers extends Controller foreach ($invoices as $item) { // Already in transactions - if ($item->status == 'paid') { + if ($item->status == 'paid' || $item->status == 'cancelled') { continue; } @@ -116,7 +116,7 @@ class Customers extends Controller $response = $this->ajaxDispatch(new CreateContact($request)); if ($response['success']) { - $response['redirect'] = route('customers.index'); + $response['redirect'] = route('customers.show', $response['data']->id); $message = trans('messages.success.added', ['type' => trans_choice('general.customers', 1)]); diff --git a/app/Http/Livewire/Common/Notifications/NewApps.php b/app/Http/Livewire/Common/Notifications/NewApps.php index 21e4a03e6..5e76a6769 100644 --- a/app/Http/Livewire/Common/Notifications/NewApps.php +++ b/app/Http/Livewire/Common/Notifications/NewApps.php @@ -2,8 +2,8 @@ namespace App\Http\Livewire\Common\Notifications; -use Date; use App\Traits\Modules; +use App\Utilities\Date; use Livewire\Component; class NewApps extends Component @@ -12,39 +12,46 @@ class NewApps extends Component public function markRead($alias) { - $notifications = $this->getNotifications('new-apps' ); + $notifications = $this->getNotifications('new-apps'); foreach ($notifications as $notification) { if ($notification->alias != $alias) { continue; } - $readed = $notification; + $read = $notification; } - setting()->set('notifications.'. user()->id . '.' . $alias . '.name', $readed->name); - setting()->set('notifications.'. user()->id . '.' . $alias . '.message', $readed->alias); - setting()->set('notifications.'. user()->id . '.' . $alias . '.date', Date::now()); - setting()->set('notifications.'. user()->id . '.' . $alias . '.status', '0'); + $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' => $notification->name]), + 'message' => trans('notifications.messages.mark_read', ['type' => $read->name]), ]); } public function markReadAll() { - $notifications = $this->getNotifications('new-apps' ); + $notifications = $this->getNotifications('new-apps'); foreach ($notifications as $notification) { - setting()->set('notifications.'. user()->id . '.' . $notification->alias . '.name', $notification->name); - setting()->set('notifications.'. user()->id . '.' . $notification->alias . '.message', $notification->alias); - setting()->set('notifications.'. user()->id . '.' . $notification->alias . '.date', Date::now()); - setting()->set('notifications.'. user()->id . '.' . $notification->alias . '.status', '0'); + $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(); diff --git a/app/Http/Livewire/Common/Search.php b/app/Http/Livewire/Common/Search.php index 646f3ec8d..499479937 100644 --- a/app/Http/Livewire/Common/Search.php +++ b/app/Http/Livewire/Common/Search.php @@ -109,7 +109,7 @@ class Search extends Component 'name' => $account->name, 'type' => trans_choice('general.accounts', 1), 'color' => '#55588b', - 'href' => route('accounts.edit', $account->id), + 'href' => route('accounts.show', $account->id), ]; } } diff --git a/app/Http/Middleware/Money.php b/app/Http/Middleware/Money.php index 3703f9b31..ee1fa32a2 100644 --- a/app/Http/Middleware/Money.php +++ b/app/Http/Middleware/Money.php @@ -59,6 +59,8 @@ class Money $money_format = Str::replaceFirst('.', '', $money_format); } } + + $money_format = (double) $money_format; } $amount = $this->getAmount($money_format, $currency_code); diff --git a/app/Http/Requests/Document/Document.php b/app/Http/Requests/Document/Document.php index 897f930b1..f52a3fd12 100644 --- a/app/Http/Requests/Document/Document.php +++ b/app/Http/Requests/Document/Document.php @@ -43,6 +43,12 @@ class Document extends FormRequest // Get company id $company_id = (int) $this->request->get('company_id'); + $quantity_size = 5; + + if ((Str::substrCount($this->request->get('quantity'), '.') > 1) || (Str::substrCount($this->request->get('quantity'), ',') > 1)) { + $quantity_size = 7; + } + return [ 'type' => 'required|string', 'document_number' => 'required|string|unique:documents,NULL,' . $id . ',id,type,' . $type . ',company_id,' . $company_id . ',deleted_at,NULL', @@ -51,7 +57,7 @@ class Document extends FormRequest 'due_at' => 'required|date_format:Y-m-d H:i:s|after_or_equal:issued_at', 'amount' => 'required', 'items.*.name' => 'required|string', - 'items.*.quantity' => 'required', + 'items.*.quantity' => 'required|max:' . $quantity_size, 'items.*.price' => 'required|amount', 'currency_code' => 'required|string|currency', 'currency_rate' => 'required|gt:0', @@ -80,6 +86,7 @@ class Document extends FormRequest return [ 'items.*.name.required' => trans('validation.required', ['attribute' => Str::lower(trans('general.name'))]), 'items.*.quantity.required' => trans('validation.required', ['attribute' => Str::lower(trans('invoices.quantity'))]), + 'items.*.quantity.size' => trans('validation.size', ['attribute' => Str::lower(trans('invoices.quantity'))]), 'items.*.price.required' => trans('validation.required', ['attribute' => Str::lower(trans('invoices.price'))]), 'items.*.currency.required' => trans('validation.custom.invalid_currency'), 'items.*.currency.string' => trans('validation.custom.invalid_currency'), diff --git a/app/Http/Requests/Document/DocumentItem.php b/app/Http/Requests/Document/DocumentItem.php index c55141013..d901eea3f 100644 --- a/app/Http/Requests/Document/DocumentItem.php +++ b/app/Http/Requests/Document/DocumentItem.php @@ -3,6 +3,7 @@ namespace App\Http\Requests\Document; use App\Abstracts\Http\FormRequest; +use Illuminate\Support\Str; class DocumentItem extends FormRequest { @@ -13,11 +14,17 @@ class DocumentItem extends FormRequest */ public function rules() { + $quantity_size = 5; + + if ((Str::substrCount($this->request->get('quantity'), '.') > 1) || (Str::substrCount($this->request->get('quantity'), ',') > 1)) { + $quantity_size = 7; + } + return [ 'type' => 'required|string', 'document_id' => 'required|integer', 'name' => 'required|string', - 'quantity' => 'required', + 'quantity' => 'required|max:' . $quantity_size, 'price' => 'required|amount', 'total' => 'required', 'tax' => 'required', diff --git a/app/Http/ViewComposers/Header.php b/app/Http/ViewComposers/Header.php index b379a9233..31a9e38ba 100644 --- a/app/Http/ViewComposers/Header.php +++ b/app/Http/ViewComposers/Header.php @@ -2,8 +2,8 @@ namespace App\Http\ViewComposers; -use App\Utilities\Versions; use App\Traits\Modules; +use App\Utilities\Versions; use Illuminate\View\View; class Header @@ -71,16 +71,14 @@ class Header $new_apps = $this->getNotifications('new-apps'); - if ($new_apps) { - foreach ($new_apps as $key => $new_app) { - if (setting('notifications.' . user()->id . '.' . $new_app->alias)) { - unset($new_apps[$key]); + foreach ($new_apps as $key => $new_app) { + if (setting('notifications.' . user()->id . '.' . $new_app->alias)) { + unset($new_apps[$key]); - continue; - } - - $notifications++; + continue; } + + $notifications++; } } diff --git a/app/Http/ViewComposers/Notifications.php b/app/Http/ViewComposers/Notifications.php index 8d16b1284..6bf9e6c97 100644 --- a/app/Http/ViewComposers/Notifications.php +++ b/app/Http/ViewComposers/Notifications.php @@ -3,7 +3,7 @@ namespace App\Http\ViewComposers; use App\Traits\Modules; -use Route; +use Illuminate\Support\Facades\Route; use Illuminate\View\View; class Notifications @@ -29,9 +29,7 @@ class Notifications $path = str_replace('{company_id}/', '', $path); - if (!$notifications = $this->getNotifications($path)) { - return; - } + $notifications = $this->getNotifications($path); // Push to a stack foreach ($notifications as $notification) { diff --git a/app/Imports/Purchases/Sheets/Bills.php b/app/Imports/Purchases/Sheets/Bills.php index 350dd0c0d..b7ffc5b99 100644 --- a/app/Imports/Purchases/Sheets/Bills.php +++ b/app/Imports/Purchases/Sheets/Bills.php @@ -37,6 +37,7 @@ class Bills extends Import $rules['bill_number'] = Str::replaceFirst('unique:documents,NULL', 'unique:documents,document_number', $rules['document_number']); $rules['billed_at'] = $rules['issued_at']; + $rules['currency_rate'] = 'required'; unset($rules['document_number'], $rules['issued_at'], $rules['type']); diff --git a/app/Imports/Sales/Sheets/Invoices.php b/app/Imports/Sales/Sheets/Invoices.php index e0a4f1d97..a6144089c 100644 --- a/app/Imports/Sales/Sheets/Invoices.php +++ b/app/Imports/Sales/Sheets/Invoices.php @@ -37,6 +37,7 @@ class Invoices extends Import $rules['invoice_number'] = Str::replaceFirst('unique:documents,NULL', 'unique:documents,document_number', $rules['document_number']); $rules['invoiced_at'] = $rules['issued_at']; + $rules['currency_rate'] = 'required'; unset($rules['document_number'], $rules['issued_at'], $rules['type']); diff --git a/app/Jobs/Auth/CreateUser.php b/app/Jobs/Auth/CreateUser.php index e01d4f71b..c797780b0 100644 --- a/app/Jobs/Auth/CreateUser.php +++ b/app/Jobs/Auth/CreateUser.php @@ -3,6 +3,8 @@ namespace App\Jobs\Auth; use App\Abstracts\Job; +use App\Events\Auth\UserCreated; +use App\Events\Auth\UserCreating; use App\Models\Auth\User; use Artisan; @@ -29,6 +31,8 @@ class CreateUser extends Job */ public function handle() { + event(new UserCreating($this->request)); + \DB::transaction(function () { $this->user = User::create($this->request->input()); @@ -79,6 +83,8 @@ class CreateUser extends Job } }); + event(new UserCreated($this->user, $this->request)); + return $this->user; } } diff --git a/app/Jobs/Auth/UpdateUser.php b/app/Jobs/Auth/UpdateUser.php index 3d9a049ad..e003406c2 100644 --- a/app/Jobs/Auth/UpdateUser.php +++ b/app/Jobs/Auth/UpdateUser.php @@ -3,6 +3,8 @@ namespace App\Jobs\Auth; use App\Abstracts\Job; +use App\Events\Auth\UserUpdated; +use App\Events\Auth\UserUpdating; use App\Models\Auth\User; class UpdateUser extends Job @@ -38,6 +40,8 @@ class UpdateUser extends Job unset($this->request['password_confirmation']); } + event(new UserUpdating($this->user, $this->request)); + \DB::transaction(function () { $this->user->update($this->request->input()); @@ -73,6 +77,8 @@ class UpdateUser extends Job } }); + event(new UserUpdated($this->user, $this->request)); + return $this->user; } diff --git a/app/Jobs/Banking/CreateTransfer.php b/app/Jobs/Banking/CreateTransfer.php index 7f5927774..6203a0a98 100644 --- a/app/Jobs/Banking/CreateTransfer.php +++ b/app/Jobs/Banking/CreateTransfer.php @@ -55,6 +55,7 @@ class CreateTransfer extends Job 'category_id' => Category::transfer(), // Transfer Category ID 'payment_method' => $this->request->get('payment_method'), 'reference' => $this->request->get('reference'), + 'created_by' => $this->request->get('created_by'), ]); $amount = $this->request->get('amount'); @@ -77,12 +78,14 @@ class CreateTransfer extends Job 'category_id' => Category::transfer(), // Transfer Category ID 'payment_method' => $this->request->get('payment_method'), 'reference' => $this->request->get('reference'), + 'created_by' => $this->request->get('created_by'), ]); $this->transfer = Transfer::create([ 'company_id' => $this->request['company_id'], 'expense_transaction_id' => $expense_transaction->id, 'income_transaction_id' => $income_transaction->id, + 'created_by' => $this->request->get('created_by'), ]); // Upload attachment diff --git a/app/Jobs/Document/CreateDocumentItem.php b/app/Jobs/Document/CreateDocumentItem.php index 07f1565fa..c04244708 100644 --- a/app/Jobs/Document/CreateDocumentItem.php +++ b/app/Jobs/Document/CreateDocumentItem.php @@ -43,16 +43,13 @@ class CreateDocumentItem extends Job // Apply line discount to amount if (!empty($this->request['discount'])) { - $discount += $this->request['discount']; + $discount = $this->request['discount']; - $item_discounted_amount = $item_amount -= ($item_amount * ($this->request['discount'] / 100)); - } - - // Apply global discount to amount - if (!empty($this->request['global_discount'])) { - $discount += $this->request['global_discount']; - - $item_discounted_amount = $item_amount - ($item_amount * ($this->request['global_discount'] / 100)); + if ($this->request['discount_type'] === 'percentage') { + $item_discounted_amount = $item_amount -= ($item_amount * ($this->request['discount'] / 100)); + } else { + $item_discounted_amount = $item_amount -= $this->request['discount']; + } } $tax_amount = 0; @@ -153,7 +150,11 @@ class CreateDocumentItem extends Job $item_tax_total += $tax_amount; } - $item_amount = ($item_amount - $item_tax_total) / (1 - $discount / 100); + if (!empty($this->request['discount_type']) && $this->request['discount_type'] === 'fixed') { + $item_amount = ($item_amount - $item_tax_total) - $discount; + } else { + $item_amount = ($item_amount - $item_tax_total) / (1 - $discount / 100); + } } if ($compounds) { @@ -185,6 +186,7 @@ class CreateDocumentItem extends Job $this->request['quantity'] = (double) $this->request['quantity']; $this->request['price'] = round($this->request['price'], $precision); $this->request['tax'] = round($item_tax_total, $precision); + $this->request['discount_type'] = !empty($this->request['discount_type']) ? $this->request['discount_type'] : 'percentage'; $this->request['discount_rate'] = !empty($this->request['discount']) ? $this->request['discount'] : 0; $this->request['total'] = round($item_amount, $precision); diff --git a/app/Jobs/Document/CreateDocumentItemsAndTotals.php b/app/Jobs/Document/CreateDocumentItemsAndTotals.php index a325ec2f2..4d971ebf4 100644 --- a/app/Jobs/Document/CreateDocumentItemsAndTotals.php +++ b/app/Jobs/Document/CreateDocumentItemsAndTotals.php @@ -67,15 +67,17 @@ class CreateDocumentItemsAndTotals extends Job 'sort_order' => $sort_order, ]); - $this->request['amount'] -= $discount_amount_total; - $sort_order++; } if (!empty($this->request['discount'])) { - $discount_total = ($sub_total - $discount_amount_total) * ($this->request['discount'] / 100); + if ($this->request['discount_type'] === 'percentage') { + $discount_total = $sub_total * ($this->request['discount'] / 100); + } else { + $discount_total = $this->request['discount']; + } - DocumentTotal::create([ + DocumentTotal::create([ 'company_id' => $this->document->company_id, 'type' => $this->document->type, 'document_id' => $this->document->id, @@ -193,11 +195,15 @@ class CreateDocumentItemsAndTotals extends Job $discount_amount = 0; if (!empty($item['discount'])) { - $discount_amount = ($item_amount * ($item['discount'] / 100)); + if ($item['discount_type'] === 'percentage') { + $discount_amount = ($item_amount * ($item['discount'] / 100)); + } else { + $discount_amount = $item['discount']; + } } // Calculate totals - $sub_total += $document_item->total + $discount_amount; + $sub_total += $document_item->total; $discount_amount_total += $discount_amount; diff --git a/app/Listeners/Document/CreateDocumentTransaction.php b/app/Listeners/Document/CreateDocumentTransaction.php index cd5c16245..76c4535f7 100644 --- a/app/Listeners/Document/CreateDocumentTransaction.php +++ b/app/Listeners/Document/CreateDocumentTransaction.php @@ -36,16 +36,30 @@ class CreateDocumentTransaction if (empty($user) || $signed) { flash($message)->error()->important(); - redirect()->route("signed.$type.show", $document->id)->send(); + return $this->getResponse('signed.' . $type . '.show', $document, $message); } if ($user->can('read-client-portal')) { flash($message)->error()->important(); - redirect()->route("portal.$type.show", $document->id)->send(); + return $this->getResponse('portal.' . $type . '.show', $document, $message); } throw new \Exception($message); } } + + protected function getResponse($path, $document, $message) + { + if (request()->expectsJson()) { + return response()->json([ + 'success' => false, + 'errors' => true, + 'message' => $message, + 'redirect' => route($path, $document->id) + ]); + } + + return redirect()->route($path, $document->id); + } } diff --git a/app/Listeners/Report/AddSearchString.php b/app/Listeners/Report/AddSearchString.php index 8bce21bdc..1e655395e 100644 --- a/app/Listeners/Report/AddSearchString.php +++ b/app/Listeners/Report/AddSearchString.php @@ -27,6 +27,35 @@ class AddSearchString extends Listener return; } + $old = old(); + $request = request()->all(); + + if ($old || $request) { + $input = request('search'); + + $filters = []; + + if ($input) { + $filters = explode(' ', $input); + } + + foreach ($old as $key => $value) { + $filters[] = $key . ':' . $value; + } + + foreach ($request as $key => $value) { + if ($key == 'search') { + continue; + } + + $filters[] = $key . ':' . $value; + } + + request()->merge([ + 'search' => implode(' ', $filters) + ]); + } + // Apply search string $this->applySearchStringFilter($event); } diff --git a/app/Models/Banking/Account.php b/app/Models/Banking/Account.php index f18019a19..41199c0f1 100644 --- a/app/Models/Banking/Account.php +++ b/app/Models/Banking/Account.php @@ -5,10 +5,11 @@ namespace App\Models\Banking; use App\Abstracts\Model; use App\Traits\Transactions; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Bkwld\Cloner\Cloneable; class Account extends Model { - use HasFactory, Transactions; + use Cloneable, HasFactory, Transactions; protected $table = 'accounts'; @@ -92,6 +93,41 @@ class Account extends Model return $total; } + /** + * Get the current balance. + * + * @return string + */ + public function getIncomeBalanceAttribute() + { + // Opening Balance + //$total = $this->opening_balance; + $total = 0; + + // Sum Incomes + $total += $this->income_transactions->sum('amount'); + + return $total; + } + + /** + * Get the current balance. + * + * @return string + */ + public function getExpenseBalanceAttribute() + { + // Opening Balance + //$total = $this->opening_balance; + $total = 0; + + // Subtract Expenses + $total += $this->expense_transactions->sum('amount'); + + return $total; + } + + /** * Create a new factory instance for the model. * diff --git a/app/Models/Banking/Transaction.php b/app/Models/Banking/Transaction.php index cb7281a05..f6b1b778b 100644 --- a/app/Models/Banking/Transaction.php +++ b/app/Models/Banking/Transaction.php @@ -349,6 +349,16 @@ class Transaction extends Model } } + /** + * Check if the record is attached to a transfer. + * + * @return bool + */ + public function getHasTransferRelationAttribute() + { + return (bool) (optional($this->category)->id == optional($this->category)->transfer()); + } + /** * Get the title of type. * diff --git a/app/Models/Common/Company.php b/app/Models/Common/Company.php index c983a9b2e..01650ba7e 100644 --- a/app/Models/Common/Company.php +++ b/app/Models/Common/Company.php @@ -443,7 +443,7 @@ class Company extends Eloquent implements Ownable */ public function getCompanyLogoAttribute() { - return $this->getMedia('company_logo')->last(); + return $this->getMedia('company.logo')->last(); } public function makeCurrent($force = false) diff --git a/app/Providers/App.php b/app/Providers/App.php index 3b02fbda5..b44b24c9a 100644 --- a/app/Providers/App.php +++ b/app/Providers/App.php @@ -37,7 +37,7 @@ class App extends Provider Paginator::useBootstrap(); - Model::preventLazyLoading(); + Model::preventLazyLoading(config('app.eager_load')); Model::handleLazyLoadingViolationUsing(function ($model, $relation) { $class = get_class($model); diff --git a/app/Providers/Form.php b/app/Providers/Form.php index 2e8fbaf5a..ef18a2912 100644 --- a/app/Providers/Form.php +++ b/app/Providers/Form.php @@ -136,7 +136,7 @@ class Form extends Provider ]); Facade::component('bulkActionAllGroup', 'partials.form.bulk_action_all_group', [ - + 'attributes' => [] ]); Facade::component('bulkActionGroup', 'partials.form.bulk_action_group', [ diff --git a/app/Traits/Modules.php b/app/Traits/Modules.php index 2617aca42..d5683d881 100644 --- a/app/Traits/Modules.php +++ b/app/Traits/Modules.php @@ -396,7 +396,7 @@ trait Modules return false; } - public function getNotifications($path) + public function getNotifications($path): array { $key = 'apps.notifications'; @@ -407,10 +407,10 @@ trait Modules } if (!empty($data) && array_key_exists($path, $data)) { - return $data[$path]; + return (array) $data[$path]; } - return false; + return []; } public function getPageNumberOfModules($data = []) diff --git a/composer.lock b/composer.lock index d14f01732..1b379e518 100644 --- a/composer.lock +++ b/composer.lock @@ -629,16 +629,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.185.14", + "version": "3.188.0", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "9faaa7f7fafe569049bbb615767d8e3fa83d9fb7" + "reference": "613cea76913b632d75ed2f6ed5afb11c53762a6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/9faaa7f7fafe569049bbb615767d8e3fa83d9fb7", - "reference": "9faaa7f7fafe569049bbb615767d8e3fa83d9fb7", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/613cea76913b632d75ed2f6ed5afb11c53762a6e", + "reference": "613cea76913b632d75ed2f6ed5afb11c53762a6e", "shasum": "" }, "require": { @@ -713,9 +713,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.185.14" + "source": "https://github.com/aws/aws-sdk-php/tree/3.188.0" }, - "time": "2021-07-15T18:15:50+00:00" + "time": "2021-08-06T18:17:12+00:00" }, { "name": "balping/json-raw-encoder", @@ -1315,16 +1315,16 @@ }, { "name": "composer/composer", - "version": "2.1.3", + "version": "2.1.5", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "fc5c4573aafce3a018eb7f1f8f91cea423970f2e" + "reference": "ac679902e9f66b85a8f9d8c1c88180f609a8745d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/fc5c4573aafce3a018eb7f1f8f91cea423970f2e", - "reference": "fc5c4573aafce3a018eb7f1f8f91cea423970f2e", + "url": "https://api.github.com/repos/composer/composer/zipball/ac679902e9f66b85a8f9d8c1c88180f609a8745d", + "reference": "ac679902e9f66b85a8f9d8c1c88180f609a8745d", "shasum": "" }, "require": { @@ -1333,7 +1333,7 @@ "composer/semver": "^3.0", "composer/spdx-licenses": "^1.2", "composer/xdebug-handler": "^2.0", - "justinrainbow/json-schema": "^5.2.10", + "justinrainbow/json-schema": "^5.2.11", "php": "^5.3.2 || ^7.0 || ^8.0", "psr/log": "^1.0", "react/promise": "^1.2 || ^2.7", @@ -1393,7 +1393,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.1.3" + "source": "https://github.com/composer/composer/tree/2.1.5" }, "funding": [ { @@ -1409,7 +1409,7 @@ "type": "tidelift" } ], - "time": "2021-06-09T14:31:20+00:00" + "time": "2021-07-23T08:35:47+00:00" }, { "name": "composer/metadata-minifier", @@ -1715,21 +1715,21 @@ }, { "name": "composer/xdebug-handler", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "964adcdd3a28bf9ed5d9ac6450064e0d71ed7496" + "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/964adcdd3a28bf9ed5d9ac6450064e0d71ed7496", - "reference": "964adcdd3a28bf9ed5d9ac6450064e0d71ed7496", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339", + "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" + "psr/log": "^1 || ^2 || ^3" }, "require-dev": { "phpstan/phpstan": "^0.12.55", @@ -1759,7 +1759,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/2.0.1" + "source": "https://github.com/composer/xdebug-handler/tree/2.0.2" }, "funding": [ { @@ -1775,7 +1775,7 @@ "type": "tidelift" } ], - "time": "2021-05-05T19:37:51+00:00" + "time": "2021-07-31T17:03:58+00:00" }, { "name": "consoletvs/charts", @@ -1984,16 +1984,16 @@ }, { "name": "doctrine/annotations", - "version": "1.13.1", + "version": "1.13.2", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f" + "reference": "5b668aef16090008790395c02c893b1ba13f7e08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f", - "reference": "e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08", + "reference": "5b668aef16090008790395c02c893b1ba13f7e08", "shasum": "" }, "require": { @@ -2050,22 +2050,22 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.13.1" + "source": "https://github.com/doctrine/annotations/tree/1.13.2" }, - "time": "2021-05-16T18:07:53+00:00" + "time": "2021-08-05T19:00:23+00:00" }, { "name": "doctrine/cache", - "version": "2.1.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "ac77408b22cc6c4d0b4947d20a3889be3043566e" + "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/ac77408b22cc6c4d0b4947d20a3889be3043566e", - "reference": "ac77408b22cc6c4d0b4947d20a3889be3043566e", + "url": "https://api.github.com/repos/doctrine/cache/zipball/331b4d5dbaeab3827976273e9356b3b453c300ce", + "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce", "shasum": "" }, "require": { @@ -2135,7 +2135,7 @@ ], "support": { "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.1.0" + "source": "https://github.com/doctrine/cache/tree/2.1.1" }, "funding": [ { @@ -2151,7 +2151,7 @@ "type": "tidelift" } ], - "time": "2021-07-14T11:22:57+00:00" + "time": "2021-07-17T14:49:29+00:00" }, { "name": "doctrine/collections", @@ -4836,16 +4836,16 @@ }, { "name": "justinrainbow/json-schema", - "version": "5.2.10", + "version": "5.2.11", "source": { "type": "git", "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b" + "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ab6744b7296ded80f8cc4f9509abbff393399aa", + "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa", "shasum": "" }, "require": { @@ -4900,9 +4900,9 @@ ], "support": { "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/5.2.10" + "source": "https://github.com/justinrainbow/json-schema/tree/5.2.11" }, - "time": "2020-05-27T16:41:55+00:00" + "time": "2021-07-22T09:24:00+00:00" }, { "name": "kkszymanowski/traitor", @@ -5075,16 +5075,16 @@ }, { "name": "laravel/framework", - "version": "v8.50.0", + "version": "v8.53.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "d892dbacbe3859cf9303ccda98ac8d782141d5ae" + "reference": "5df423c2790f32b26baee90518bb659572aa404f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/d892dbacbe3859cf9303ccda98ac8d782141d5ae", - "reference": "d892dbacbe3859cf9303ccda98ac8d782141d5ae", + "url": "https://api.github.com/repos/laravel/framework/zipball/5df423c2790f32b26baee90518bb659572aa404f", + "reference": "5df423c2790f32b26baee90518bb659572aa404f", "shasum": "" }, "require": { @@ -5157,7 +5157,7 @@ "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.155", + "aws/aws-sdk-php": "^3.186.4", "doctrine/dbal": "^2.6|^3.0", "filp/whoops": "^2.8", "guzzlehttp/guzzle": "^6.5.5|^7.0.1", @@ -5170,7 +5170,7 @@ "symfony/cache": "^5.1.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.186.4).", "brianium/paratest": "Required to run tests in parallel (^6.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", "ext-ftp": "Required to use the Flysystem FTP driver.", @@ -5239,7 +5239,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-07-13T12:41:53+00:00" + "time": "2021-08-05T14:04:08+00:00" }, { "name": "laravel/slack-notification-channel", @@ -5502,16 +5502,16 @@ }, { "name": "league/commonmark", - "version": "1.6.5", + "version": "1.6.6", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "44ffd8d3c4a9133e4bd0548622b09c55af39db5f" + "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/44ffd8d3c4a9133e4bd0548622b09c55af39db5f", - "reference": "44ffd8d3c4a9133e4bd0548622b09c55af39db5f", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c4228d11e30d7493c6836d20872f9582d8ba6dcf", + "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf", "shasum": "" }, "require": { @@ -5599,7 +5599,7 @@ "type": "tidelift" } ], - "time": "2021-06-26T11:57:13+00:00" + "time": "2021-07-17T17:13:23+00:00" }, { "name": "league/flysystem", @@ -6447,16 +6447,16 @@ }, { "name": "maximebf/debugbar", - "version": "v1.16.5", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62" + "reference": "0a3532556be0145603f8a9de23e76dc28eed7054" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/6d51ee9e94cff14412783785e79a4e7ef97b9d62", - "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/0a3532556be0145603f8a9de23e76dc28eed7054", + "reference": "0a3532556be0145603f8a9de23e76dc28eed7054", "shasum": "" }, "require": { @@ -6475,7 +6475,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.16-dev" + "dev-master": "1.17-dev" } }, "autoload": { @@ -6506,9 +6506,9 @@ ], "support": { "issues": "https://github.com/maximebf/php-debugbar/issues", - "source": "https://github.com/maximebf/php-debugbar/tree/v1.16.5" + "source": "https://github.com/maximebf/php-debugbar/tree/v1.17.1" }, - "time": "2020-12-07T11:07:24+00:00" + "time": "2021-08-01T09:19:02+00:00" }, { "name": "mnsami/composer-custom-directory-installer", @@ -6788,16 +6788,16 @@ }, { "name": "monolog/monolog", - "version": "2.3.1", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "9738e495f288eec0b187e310b7cdbbb285777dbe" + "reference": "71312564759a7db5b789296369c1a264efc43aad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/9738e495f288eec0b187e310b7cdbbb285777dbe", - "reference": "9738e495f288eec0b187e310b7cdbbb285777dbe", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/71312564759a7db5b789296369c1a264efc43aad", + "reference": "71312564759a7db5b789296369c1a264efc43aad", "shasum": "" }, "require": { @@ -6868,7 +6868,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.3.1" + "source": "https://github.com/Seldaek/monolog/tree/2.3.2" }, "funding": [ { @@ -6880,7 +6880,7 @@ "type": "tidelift" } ], - "time": "2021-07-14T11:56:39+00:00" + "time": "2021-07-23T07:42:52+00:00" }, { "name": "monooso/unobserve", @@ -7064,22 +7064,23 @@ }, { "name": "nesbot/carbon", - "version": "2.50.0", + "version": "2.51.1", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "f47f17d17602b2243414a44ad53d9f8b9ada5fdb" + "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f47f17d17602b2243414a44ad53d9f8b9ada5fdb", - "reference": "f47f17d17602b2243414a44ad53d9f8b9ada5fdb", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", + "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.1.8 || ^8.0", "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", "symfony/translation": "^3.4 || ^4.0 || ^5.0" }, "require-dev": { @@ -7098,8 +7099,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev", - "dev-3.x": "3.x-dev" + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" }, "laravel": { "providers": [ @@ -7153,20 +7154,20 @@ "type": "tidelift" } ], - "time": "2021-06-28T22:38:45+00:00" + "time": "2021-07-28T13:16:28+00:00" }, { "name": "nikic/php-parser", - "version": "v4.11.0", + "version": "v4.12.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "fe14cf3672a149364fb66dfe11bf6549af899f94" + "reference": "6608f01670c3cc5079e18c1dab1104e002579143" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/fe14cf3672a149364fb66dfe11bf6549af899f94", - "reference": "fe14cf3672a149364fb66dfe11bf6549af899f94", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143", + "reference": "6608f01670c3cc5079e18c1dab1104e002579143", "shasum": "" }, "require": { @@ -7207,22 +7208,22 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.11.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0" }, - "time": "2021-07-03T13:36:55+00:00" + "time": "2021-07-21T10:44:31+00:00" }, { "name": "nunomaduro/larastan", - "version": "v0.7.10", + "version": "v0.7.12", "source": { "type": "git", "url": "https://github.com/nunomaduro/larastan.git", - "reference": "d684efa6f79ff34f3a516efa9db532c861438718" + "reference": "b2da312efe88d501aeeb867ba857e8c4198d43c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/d684efa6f79ff34f3a516efa9db532c861438718", - "reference": "d684efa6f79ff34f3a516efa9db532c861438718", + "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/b2da312efe88d501aeeb867ba857e8c4198d43c0", + "reference": "b2da312efe88d501aeeb867ba857e8c4198d43c0", "shasum": "" }, "require": { @@ -7238,7 +7239,7 @@ "mockery/mockery": "^0.9 || ^1.0", "php": "^7.2 || ^8.0", "phpstan/phpstan": "^0.12.90", - "symfony/process": "^4.3 || ^5.0" + "symfony/process": "^4.3 || ^5.0 || ^6.0" }, "require-dev": { "orchestra/testbench": "^4.0 || ^5.0 || ^6.0 || ^7.0", @@ -7286,7 +7287,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/larastan/issues", - "source": "https://github.com/nunomaduro/larastan/tree/v0.7.10" + "source": "https://github.com/nunomaduro/larastan/tree/v0.7.12" }, "funding": [ { @@ -7306,7 +7307,7 @@ "type": "patreon" } ], - "time": "2021-07-07T12:13:19+00:00" + "time": "2021-07-26T12:12:39+00:00" }, { "name": "omnipay/common", @@ -7794,16 +7795,16 @@ }, { "name": "php-http/message", - "version": "1.11.1", + "version": "1.11.2", "source": { "type": "git", "url": "https://github.com/php-http/message.git", - "reference": "887734d9c515ad9a564f6581a682fff87a6253cc" + "reference": "295c82867d07261f2fa4b3a26677519fc6f7f5f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/887734d9c515ad9a564f6581a682fff87a6253cc", - "reference": "887734d9c515ad9a564f6581a682fff87a6253cc", + "url": "https://api.github.com/repos/php-http/message/zipball/295c82867d07261f2fa4b3a26677519fc6f7f5f6", + "reference": "295c82867d07261f2fa4b3a26677519fc6f7f5f6", "shasum": "" }, "require": { @@ -7862,9 +7863,9 @@ ], "support": { "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.11.1" + "source": "https://github.com/php-http/message/tree/1.11.2" }, - "time": "2021-05-24T18:11:08+00:00" + "time": "2021-08-03T11:52:11+00:00" }, { "name": "php-http/message-factory", @@ -8310,16 +8311,16 @@ }, { "name": "phpstan/phpstan", - "version": "0.12.92", + "version": "0.12.94", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "64d4c5dc8ea96972bc18432d137a330239a5d2b2" + "reference": "3d0ba4c198a24e3c3fc489f3ec6ac9612c4be5d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/64d4c5dc8ea96972bc18432d137a330239a5d2b2", - "reference": "64d4c5dc8ea96972bc18432d137a330239a5d2b2", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3d0ba4c198a24e3c3fc489f3ec6ac9612c4be5d6", + "reference": "3d0ba4c198a24e3c3fc489f3ec6ac9612c4be5d6", "shasum": "" }, "require": { @@ -8350,7 +8351,7 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.92" + "source": "https://github.com/phpstan/phpstan/tree/0.12.94" }, "funding": [ { @@ -8370,7 +8371,7 @@ "type": "tidelift" } ], - "time": "2021-07-10T13:53:49+00:00" + "time": "2021-07-30T09:05:27+00:00" }, { "name": "plank/laravel-mediable", @@ -8979,20 +8980,21 @@ }, { "name": "ramsey/collection", - "version": "1.1.3", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" + "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", + "url": "https://api.github.com/repos/ramsey/collection/zipball/eaca1dc1054ddd10cbd83c1461907bee6fb528fa", + "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa", "shasum": "" }, "require": { - "php": "^7.2 || ^8" + "php": "^7.3 || ^8", + "symfony/polyfill-php81": "^1.23" }, "require-dev": { "captainhook/captainhook": "^5.3", @@ -9002,6 +9004,7 @@ "hamcrest/hamcrest-php": "^2", "jangregor/phpstan-prophecy": "^0.8", "mockery/mockery": "^1.3", + "phpspec/prophecy-phpunit": "^2.0", "phpstan/extension-installer": "^1", "phpstan/phpstan": "^0.12.32", "phpstan/phpstan-mockery": "^0.12.5", @@ -9029,7 +9032,7 @@ "homepage": "https://benramsey.com" } ], - "description": "A PHP 7.2+ library for representing and manipulating collections.", + "description": "A PHP library for representing and manipulating collections.", "keywords": [ "array", "collection", @@ -9040,7 +9043,7 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.1.3" + "source": "https://github.com/ramsey/collection/tree/1.2.1" }, "funding": [ { @@ -9052,20 +9055,20 @@ "type": "tidelift" } ], - "time": "2021-01-21T17:40:04+00:00" + "time": "2021-08-06T03:41:06+00:00" }, { "name": "ramsey/uuid", - "version": "4.1.1", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "cd4032040a750077205918c86049aa0f43d22947" + "reference": "7231612a5221f5524d3575bebdce20eeef8547a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", - "reference": "cd4032040a750077205918c86049aa0f43d22947", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/7231612a5221f5524d3575bebdce20eeef8547a1", + "reference": "7231612a5221f5524d3575bebdce20eeef8547a1", "shasum": "" }, "require": { @@ -9079,26 +9082,26 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "codeception/aspect-mock": "^3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", "doctrine/annotations": "^1.8", - "goaop/framework": "^2", + "ergebnis/composer-normalize": "^2.15", "mockery/mockery": "^1.3", "moontoast/math": "^1.1", "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", "php-mock/php-mock-mockery": "^1.3", - "php-mock/php-mock-phpunit": "^2.5", "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^0.17.1", + "phpbench/phpbench": "^1.0", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12", "phpstan/phpstan-mockery": "^0.12", "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^8.5", - "psy/psysh": "^0.10.0", - "slevomat/coding-standard": "^6.0", + "phpunit/phpunit": "^8.5 || ^9", + "slevomat/coding-standard": "^7.0", "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "3.9.4" + "vimeo/psalm": "^4.9" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", @@ -9111,7 +9114,10 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev" + "dev-main": "4.x-dev" + }, + "captainhook": { + "force-install": true } }, "autoload": { @@ -9127,7 +9133,6 @@ "MIT" ], "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "homepage": "https://github.com/ramsey/uuid", "keywords": [ "guid", "identifier", @@ -9135,16 +9140,19 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "rss": "https://github.com/ramsey/uuid/releases.atom", - "source": "https://github.com/ramsey/uuid" + "source": "https://github.com/ramsey/uuid/tree/4.2.0" }, "funding": [ { "url": "https://github.com/ramsey", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" } ], - "time": "2020-08-18T17:17:46+00:00" + "time": "2021-08-06T22:30:43+00:00" }, { "name": "react/promise", @@ -9802,16 +9810,16 @@ }, { "name": "symfony/console", - "version": "v5.3.2", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1" + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/649730483885ff2ca99ca0560ef0e5f6b03f2ac1", - "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1", + "url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "shasum": "" }, "require": { @@ -9819,11 +9827,12 @@ "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", + "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1|^2", "symfony/string": "^5.1" }, "conflict": { + "psr/log": ">=3", "symfony/dependency-injection": "<4.4", "symfony/dotenv": "<5.1", "symfony/event-dispatcher": "<4.4", @@ -9831,10 +9840,10 @@ "symfony/process": "<4.4" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2", "symfony/config": "^4.4|^5.0", "symfony/dependency-injection": "^4.4|^5.0", "symfony/event-dispatcher": "^4.4|^5.0", @@ -9880,7 +9889,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.3.2" + "source": "https://github.com/symfony/console/tree/v5.3.6" }, "funding": [ { @@ -9896,24 +9905,25 @@ "type": "tidelift" } ], - "time": "2021-06-12T09:42:48+00:00" + "time": "2021-07-27T19:10:22+00:00" }, { "name": "symfony/css-selector", - "version": "v5.3.0", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814" + "reference": "7fb120adc7f600a59027775b224c13a33530dd90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/fcd0b29a7a0b1bb5bfbedc6231583d77fea04814", - "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/7fb120adc7f600a59027775b224c13a33530dd90", + "reference": "7fb120adc7f600a59027775b224c13a33530dd90", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -9945,7 +9955,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.3.0" + "source": "https://github.com/symfony/css-selector/tree/v5.3.4" }, "funding": [ { @@ -9961,26 +9971,25 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:40:38+00:00" + "time": "2021-07-21T12:38:00+00:00" }, { "name": "symfony/debug", - "version": "v4.4.25", + "version": "v4.4.27", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "a8d2d5c94438548bff9f998ca874e202bb29d07f" + "reference": "2f9160e92eb64c95da7368c867b663a8e34e980c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/a8d2d5c94438548bff9f998ca874e202bb29d07f", - "reference": "a8d2d5c94438548bff9f998ca874e202bb29d07f", + "url": "https://api.github.com/repos/symfony/debug/zipball/2f9160e92eb64c95da7368c867b663a8e34e980c", + "reference": "2f9160e92eb64c95da7368c867b663a8e34e980c", "shasum": "" }, "require": { "php": ">=7.1.3", - "psr/log": "~1.0", - "symfony/polyfill-php80": "^1.15" + "psr/log": "^1|^2|^3" }, "conflict": { "symfony/http-kernel": "<3.4" @@ -10014,7 +10023,7 @@ "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.25" + "source": "https://github.com/symfony/debug/tree/v4.4.27" }, "funding": [ { @@ -10030,7 +10039,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:39:37+00:00" + "time": "2021-07-22T07:21:39+00:00" }, { "name": "symfony/deprecation-contracts", @@ -10101,22 +10110,21 @@ }, { "name": "symfony/error-handler", - "version": "v5.3.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "43323e79c80719e8a4674e33484bca98270d223f" + "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/43323e79c80719e8a4674e33484bca98270d223f", - "reference": "43323e79c80719e8a4674e33484bca98270d223f", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/281f6c4660bcf5844bb0346fe3a4664722fe4c73", + "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/log": "^1.0", - "symfony/polyfill-php80": "^1.15", + "psr/log": "^1|^2|^3", "symfony/var-dumper": "^4.4|^5.0" }, "require-dev": { @@ -10150,7 +10158,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.3.3" + "source": "https://github.com/symfony/error-handler/tree/v5.3.4" }, "funding": [ { @@ -10166,27 +10174,27 @@ "type": "tidelift" } ], - "time": "2021-06-24T08:13:00+00:00" + "time": "2021-07-23T15:55:36+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.3.0", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce" + "reference": "f2fd2208157553874560f3645d4594303058c4bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/67a5f354afa8e2f231081b3fa11a5912f933c3ce", - "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f2fd2208157553874560f3645d4594303058c4bd", + "reference": "f2fd2208157553874560f3645d4594303058c4bd", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1", "symfony/event-dispatcher-contracts": "^2", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "symfony/dependency-injection": "<4.4" @@ -10196,7 +10204,7 @@ "symfony/event-dispatcher-implementation": "2.0" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2|^3", "symfony/config": "^4.4|^5.0", "symfony/dependency-injection": "^4.4|^5.0", "symfony/error-handler": "^4.4|^5.0", @@ -10235,7 +10243,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.3.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.4" }, "funding": [ { @@ -10251,7 +10259,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:43:10+00:00" + "time": "2021-07-23T15:55:36+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -10334,21 +10342,22 @@ }, { "name": "symfony/filesystem", - "version": "v5.3.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "19b71c8f313b411172dd5f470fd61f24466d79a9" + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/19b71c8f313b411172dd5f470fd61f24466d79a9", - "reference": "19b71c8f313b411172dd5f470fd61f24466d79a9", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/343f4fe324383ca46792cae728a3b6e2f708fb32", + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -10376,7 +10385,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.3.3" + "source": "https://github.com/symfony/filesystem/tree/v5.3.4" }, "funding": [ { @@ -10392,24 +10401,25 @@ "type": "tidelift" } ], - "time": "2021-06-30T07:27:52+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/finder", - "version": "v5.3.0", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6" + "reference": "17f50e06018baec41551a71a15731287dbaab186" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", - "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", + "url": "https://api.github.com/repos/symfony/finder/zipball/17f50e06018baec41551a71a15731287dbaab186", + "reference": "17f50e06018baec41551a71a15731287dbaab186", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -10437,7 +10447,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.3.0" + "source": "https://github.com/symfony/finder/tree/v5.3.4" }, "funding": [ { @@ -10453,7 +10463,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T12:52:38+00:00" + "time": "2021-07-23T15:54:19+00:00" }, { "name": "symfony/http-client-contracts", @@ -10535,23 +10545,23 @@ }, { "name": "symfony/http-foundation", - "version": "v5.3.3", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "0e45ab1574caa0460d9190871a8ce47539e40ccf" + "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0e45ab1574caa0460d9190871a8ce47539e40ccf", - "reference": "0e45ab1574caa0460d9190871a8ce47539e40ccf", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", + "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "require-dev": { "predis/predis": "~1.0", @@ -10588,7 +10598,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.3.3" + "source": "https://github.com/symfony/http-foundation/tree/v5.3.6" }, "funding": [ { @@ -10604,25 +10614,25 @@ "type": "tidelift" } ], - "time": "2021-06-27T09:19:40+00:00" + "time": "2021-07-27T17:08:17+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.3.3", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8" + "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8", - "reference": "90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/60030f209018356b3b553b9dbd84ad2071c1b7e0", + "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/log": "~1.0", + "psr/log": "^1|^2", "symfony/deprecation-contracts": "^2.1", "symfony/error-handler": "^4.4|^5.0", "symfony/event-dispatcher": "^5.0", @@ -10630,7 +10640,7 @@ "symfony/http-foundation": "^5.3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "symfony/browser-kit": "<4.4", @@ -10649,7 +10659,7 @@ "twig/twig": "<2.13" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", @@ -10700,7 +10710,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.3.3" + "source": "https://github.com/symfony/http-kernel/tree/v5.3.6" }, "funding": [ { @@ -10716,20 +10726,20 @@ "type": "tidelift" } ], - "time": "2021-06-30T08:27:49+00:00" + "time": "2021-07-29T07:06:27+00:00" }, { "name": "symfony/mime", - "version": "v5.3.2", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a" + "reference": "633e4e8afe9e529e5599d71238849a4218dd497b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/47dd7912152b82d0d4c8d9040dbc93d6232d472a", - "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a", + "url": "https://api.github.com/repos/symfony/mime/zipball/633e4e8afe9e529e5599d71238849a4218dd497b", + "reference": "633e4e8afe9e529e5599d71238849a4218dd497b", "shasum": "" }, "require": { @@ -10737,7 +10747,7 @@ "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "egulias/email-validator": "~3.0.0", @@ -10783,7 +10793,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.3.2" + "source": "https://github.com/symfony/mime/tree/v5.3.4" }, "funding": [ { @@ -10799,7 +10809,7 @@ "type": "tidelift" } ], - "time": "2021-06-09T10:58:01+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/polyfill-ctype", @@ -10962,16 +10972,16 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.23.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab" + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab", - "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", "shasum": "" }, "require": { @@ -11023,7 +11033,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" }, "funding": [ { @@ -11039,7 +11049,7 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:17:38+00:00" + "time": "2021-05-27T12:26:48+00:00" }, { "name": "symfony/polyfill-intl-idn", @@ -11214,16 +11224,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.23.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1" + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1", - "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", "shasum": "" }, "require": { @@ -11274,7 +11284,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" }, "funding": [ { @@ -11290,7 +11300,7 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:27:20+00:00" + "time": "2021-05-27T12:26:48+00:00" }, { "name": "symfony/polyfill-php72", @@ -11449,16 +11459,16 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.23.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0" + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0", - "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", "shasum": "" }, "require": { @@ -11512,7 +11522,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" }, "funding": [ { @@ -11528,25 +11538,104 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2021-07-28T13:41:28+00:00" }, { - "name": "symfony/process", - "version": "v5.3.2", + "name": "symfony/polyfill-php81", + "version": "v1.23.0", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "714b47f9196de61a196d86c4bad5f09201b307df" + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "e66119f3de95efc359483f810c4c3e6436279436" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/714b47f9196de61a196d86c4bad5f09201b307df", - "reference": "714b47f9196de61a196d86c4bad5f09201b307df", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", + "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "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": { + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "files": [ + "bootstrap.php" + ], + "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 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.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-05-21T13:25:03+00:00" + }, + { + "name": "symfony/process", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/d16634ee55b895bd85ec714dadc58e4428ecf030", + "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -11574,7 +11663,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.3.2" + "source": "https://github.com/symfony/process/tree/v5.3.4" }, "funding": [ { @@ -11590,26 +11679,26 @@ "type": "tidelift" } ], - "time": "2021-06-12T10:15:01+00:00" + "time": "2021-07-23T15:54:19+00:00" }, { "name": "symfony/routing", - "version": "v5.3.0", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "368e81376a8e049c37cb80ae87dbfbf411279199" + "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/368e81376a8e049c37cb80ae87dbfbf411279199", - "reference": "368e81376a8e049c37cb80ae87dbfbf411279199", + "url": "https://api.github.com/repos/symfony/routing/zipball/0a35d2f57d73c46ab6d042ced783b81d09a624c4", + "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "doctrine/annotations": "<1.12", @@ -11619,7 +11708,7 @@ }, "require-dev": { "doctrine/annotations": "^1.12", - "psr/log": "~1.0", + "psr/log": "^1|^2|^3", "symfony/config": "^5.3", "symfony/dependency-injection": "^4.4|^5.0", "symfony/expression-language": "^4.4|^5.0", @@ -11664,7 +11753,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.3.0" + "source": "https://github.com/symfony/routing/tree/v5.3.4" }, "funding": [ { @@ -11680,7 +11769,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:43:10+00:00" + "time": "2021-07-23T15:55:36+00:00" }, { "name": "symfony/service-contracts", @@ -11846,23 +11935,23 @@ }, { "name": "symfony/translation", - "version": "v5.3.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "380b8c9e944d0e364b25f28e8e555241eb49c01c" + "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/380b8c9e944d0e364b25f28e8e555241eb49c01c", - "reference": "380b8c9e944d0e364b25f28e8e555241eb49c01c", + "url": "https://api.github.com/repos/symfony/translation/zipball/d89ad7292932c2699cbe4af98d72c5c6bbc504c1", + "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15", + "symfony/polyfill-php80": "^1.16", "symfony/translation-contracts": "^2.3" }, "conflict": { @@ -11876,7 +11965,7 @@ "symfony/translation-implementation": "2.3" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2|^3", "symfony/config": "^4.4|^5.0", "symfony/console": "^4.4|^5.0", "symfony/dependency-injection": "^5.0", @@ -11921,7 +12010,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.3.3" + "source": "https://github.com/symfony/translation/tree/v5.3.4" }, "funding": [ { @@ -11937,7 +12026,7 @@ "type": "tidelift" } ], - "time": "2021-06-27T12:22:47+00:00" + "time": "2021-07-25T09:39:16+00:00" }, { "name": "symfony/translation-contracts", @@ -12019,22 +12108,22 @@ }, { "name": "symfony/var-dumper", - "version": "v5.3.3", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "46aa709affb9ad3355bd7a810f9662d71025c384" + "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/46aa709affb9ad3355bd7a810f9662d71025c384", - "reference": "46aa709affb9ad3355bd7a810f9662d71025c384", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", + "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "phpunit/phpunit": "<5.4.3", @@ -12087,7 +12176,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.3.3" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.6" }, "funding": [ { @@ -12103,20 +12192,20 @@ "type": "tidelift" } ], - "time": "2021-06-24T08:13:00+00:00" + "time": "2021-07-27T01:56:02+00:00" }, { "name": "symfony/yaml", - "version": "v5.3.3", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "485c83a2fb5893e2ff21bf4bfc7fdf48b4967229" + "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/485c83a2fb5893e2ff21bf4bfc7fdf48b4967229", - "reference": "485c83a2fb5893e2ff21bf4bfc7fdf48b4967229", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7", + "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7", "shasum": "" }, "require": { @@ -12162,7 +12251,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.3.3" + "source": "https://github.com/symfony/yaml/tree/v5.3.6" }, "funding": [ { @@ -12178,7 +12267,7 @@ "type": "tidelift" } ], - "time": "2021-06-24T08:13:00+00:00" + "time": "2021-07-29T06:20:01+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -12742,16 +12831,16 @@ }, { "name": "facade/ignition", - "version": "2.11.0", + "version": "2.11.2", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "dc6818335f50ccf0b90284784718ea9a82604286" + "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/dc6818335f50ccf0b90284784718ea9a82604286", - "reference": "dc6818335f50ccf0b90284784718ea9a82604286", + "url": "https://api.github.com/repos/facade/ignition/zipball/7c4e7a7da184cd00c7ce6eacc590200bb9672de7", + "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7", "shasum": "" }, "require": { @@ -12814,7 +12903,7 @@ "issues": "https://github.com/facade/ignition/issues", "source": "https://github.com/facade/ignition" }, - "time": "2021-07-12T15:55:51+00:00" + "time": "2021-07-20T14:01:22+00:00" }, { "name": "facade/ignition-contracts", @@ -13065,16 +13154,16 @@ }, { "name": "nunomaduro/collision", - "version": "v5.5.0", + "version": "v5.6.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "b5cb36122f1c142c3c3ee20a0ae778439ef0244b" + "reference": "0122ac6b03c75279ef78d1c0ad49725dfc52a8d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/b5cb36122f1c142c3c3ee20a0ae778439ef0244b", - "reference": "b5cb36122f1c142c3c3ee20a0ae778439ef0244b", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0122ac6b03c75279ef78d1c0ad49725dfc52a8d2", + "reference": "0122ac6b03c75279ef78d1c0ad49725dfc52a8d2", "shasum": "" }, "require": { @@ -13088,10 +13177,10 @@ "fideloper/proxy": "^4.4.1", "friendsofphp/php-cs-fixer": "^2.17.3", "fruitcake/laravel-cors": "^2.0.3", - "laravel/framework": "^9.0", + "laravel/framework": "^8.0 || ^9.0", "nunomaduro/larastan": "^0.6.2", "nunomaduro/mock-final-classes": "^1.0", - "orchestra/testbench": "^7.0", + "orchestra/testbench": "^6.0 || ^7.0", "phpstan/phpstan": "^0.12.64", "phpunit/phpunit": "^9.5.0" }, @@ -13149,20 +13238,20 @@ "type": "patreon" } ], - "time": "2021-06-22T20:47:22+00:00" + "time": "2021-07-26T20:39:06+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", "shasum": "" }, "require": { @@ -13207,9 +13296,9 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/master" + "source": "https://github.com/phar-io/manifest/tree/2.0.3" }, - "time": "2020-06-27T14:33:11+00:00" + "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", @@ -13649,16 +13738,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.6", + "version": "9.5.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "fb9b8333f14e3dce976a60ef6a7e05c7c7ed8bfb" + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fb9b8333f14e3dce976a60ef6a7e05c7c7ed8bfb", - "reference": "fb9b8333f14e3dce976a60ef6a7e05c7c7ed8bfb", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/191768ccd5c85513b4068bdbe99bb6390c7d54fb", + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb", "shasum": "" }, "require": { @@ -13670,7 +13759,7 @@ "ext-xml": "*", "ext-xmlwriter": "*", "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.1", + "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", "phpspec/prophecy": "^1.12.1", @@ -13736,7 +13825,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.6" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.8" }, "funding": [ { @@ -13748,7 +13837,7 @@ "type": "github" } ], - "time": "2021-06-23T05:14:38+00:00" + "time": "2021-07-31T15:17:34+00:00" }, { "name": "sebastian/cli-parser", @@ -14777,16 +14866,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "75a63c33a8577608444246075ea0af0d052e452a" + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", - "reference": "75a63c33a8577608444246075ea0af0d052e452a", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", "shasum": "" }, "require": { @@ -14815,7 +14904,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/master" + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" }, "funding": [ { @@ -14823,7 +14912,7 @@ "type": "github" } ], - "time": "2020-07-12T23:59:07+00:00" + "time": "2021-07-28T10:34:58+00:00" }, { "name": "wnx/laravel-stats", diff --git a/config/app.php b/config/app.php index 86ec20af2..394cf659d 100644 --- a/config/app.php +++ b/config/app.php @@ -18,6 +18,8 @@ return [ 'schedule_time' => env('APP_SCHEDULE_TIME', '09:00'), + 'eager_load' => (bool) env('APP_EAGER_LOAD', true), + /* |-------------------------------------------------------------------------- | Application Environment diff --git a/config/version.php b/config/version.php index 1937aec93..17b20f966 100644 --- a/config/version.php +++ b/config/version.php @@ -10,15 +10,15 @@ return [ 'minor' => '1', - 'patch' => '20', + 'patch' => '22', 'build' => '', 'status' => 'Stable', - 'date' => '16-July-2021', + 'date' => '08-August-2021', - 'time' => '16:00', + 'time' => '23:00', 'zone' => 'GMT +3', diff --git a/public/vendor/livewire/livewire.js b/public/vendor/livewire/livewire.js index 3173657c4..33ca826ba 100644 --- a/public/vendor/livewire/livewire.js +++ b/public/vendor/livewire/livewire.js @@ -10,5 +10,5 @@ * * Copyright (c) 2014-2018, Jon Schlinkert. * Released under the MIT License. - */function join(segs,joinChar,options){return"function"==typeof options.join?options.join(segs):segs[0]+joinChar+segs[1]}function split(path,splitChar,options){return"function"==typeof options.split?options.split(path):path.split(splitChar)}function isValid(key,target,options){return"function"!=typeof options.isValid||options.isValid(key,target)}function isValidObject(val){return isobject(val)||Array.isArray(val)||"function"==typeof val}var _default=function(){function _default(el){var skipWatcher=arguments.length>1&&void 0!==arguments[1]&&arguments[1];_classCallCheck(this,_default),this.el=el,this.skipWatcher=skipWatcher,this.resolveCallback=function(){},this.rejectCallback=function(){}}return _createClass(_default,[{key:"toId",value:function(){return btoa(encodeURIComponent(this.el.outerHTML))}},{key:"onResolve",value:function(callback){this.resolveCallback=callback}},{key:"onReject",value:function(callback){this.rejectCallback=callback}},{key:"resolve",value:function(thing){this.resolveCallback(thing)}},{key:"reject",value:function(thing){this.rejectCallback(thing)}}]),_default}(),_default$1=function(_Action){_inherits(_default,_Action);var _super=_createSuper(_default);function _default(event,params,el){var _this;return _classCallCheck(this,_default),(_this=_super.call(this,el)).type="fireEvent",_this.payload={event:event,params:params},_this}return _createClass(_default,[{key:"toId",value:function(){return btoa(encodeURIComponent(this.type,this.payload.event,JSON.stringify(this.payload.params)))}}]),_default}(_default),MessageBus=function(){function MessageBus(){_classCallCheck(this,MessageBus),this.listeners={}}return _createClass(MessageBus,[{key:"register",value:function(name,callback){this.listeners[name]||(this.listeners[name]=[]),this.listeners[name].push(callback)}},{key:"call",value:function(name){for(var _len=arguments.length,params=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)params[_key-1]=arguments[_key];(this.listeners[name]||[]).forEach((function(callback){callback.apply(void 0,params)}))}},{key:"has",value:function(name){return Object.keys(this.listeners).includes(name)}}]),MessageBus}(),HookManager={availableHooks:["component.initialized","element.initialized","element.updating","element.updated","element.removed","message.sent","message.failed","message.received","message.processed","interceptWireModelSetValue","interceptWireModelAttachListener","beforeReplaceState","beforePushState"],bus:new MessageBus,register:function(name,callback){if(!this.availableHooks.includes(name))throw"Livewire: Referencing unknown hook: [".concat(name,"]");this.bus.register(name,callback)},call:function(name){for(var _this$bus,_len=arguments.length,params=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)params[_key-1]=arguments[_key];(_this$bus=this.bus).call.apply(_this$bus,[name].concat(params))}},DirectiveManager$1={directives:new MessageBus,register:function(name,callback){if(this.has(name))throw"Livewire: Directive already registered: [".concat(name,"]");this.directives.register(name,callback)},call:function(name,el,directive,component){this.directives.call(name,el,directive,component)},has:function(name){return this.directives.has(name)}},store={componentsById:{},listeners:new MessageBus,initialRenderIsFinished:!1,livewireIsInBackground:!1,livewireIsOffline:!1,sessionHasExpired:!1,directives:DirectiveManager$1,hooks:HookManager,onErrorCallback:function(){},components:function(){var _this=this;return Object.keys(this.componentsById).map((function(key){return _this.componentsById[key]}))},addComponent:function(component){return this.componentsById[component.id]=component},findComponent:function(id){return this.componentsById[id]},getComponentsByName:function(name){return this.components().filter((function(component){return component.name===name}))},hasComponent:function(id){return!!this.componentsById[id]},tearDownComponents:function(){var _this2=this;this.components().forEach((function(component){_this2.removeComponent(component)}))},on:function(event,callback){this.listeners.register(event,callback)},emit:function(event){for(var _this$listeners,_len=arguments.length,params=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)params[_key-1]=arguments[_key];(_this$listeners=this.listeners).call.apply(_this$listeners,[event].concat(params)),this.componentsListeningForEvent(event).forEach((function(component){return component.addAction(new _default$1(event,params))}))},emitUp:function(el,event){for(var _len2=arguments.length,params=new Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++)params[_key2-2]=arguments[_key2];this.componentsListeningForEventThatAreTreeAncestors(el,event).forEach((function(component){return component.addAction(new _default$1(event,params))}))},emitSelf:function(componentId,event){var component=this.findComponent(componentId);if(component.listeners.includes(event)){for(var _len3=arguments.length,params=new Array(_len3>2?_len3-2:0),_key3=2;_key3<_len3;_key3++)params[_key3-2]=arguments[_key3];component.addAction(new _default$1(event,params))}},emitTo:function(componentName,event){for(var _len4=arguments.length,params=new Array(_len4>2?_len4-2:0),_key4=2;_key4<_len4;_key4++)params[_key4-2]=arguments[_key4];var components=this.getComponentsByName(componentName);components.forEach((function(component){component.listeners.includes(event)&&component.addAction(new _default$1(event,params))}))},componentsListeningForEventThatAreTreeAncestors:function(el,event){for(var parentIds=[],parent=el.parentElement.closest("[wire\\:id]");parent;)parentIds.push(parent.getAttribute("wire:id")),parent=parent.parentElement.closest("[wire\\:id]");return this.components().filter((function(component){return component.listeners.includes(event)&&parentIds.includes(component.id)}))},componentsListeningForEvent:function(event){return this.components().filter((function(component){return component.listeners.includes(event)}))},registerDirective:function(name,callback){this.directives.register(name,callback)},registerHook:function(name,callback){this.hooks.register(name,callback)},callHook:function(name){for(var _this$hooks,_len5=arguments.length,params=new Array(_len5>1?_len5-1:0),_key5=1;_key5<_len5;_key5++)params[_key5-1]=arguments[_key5];(_this$hooks=this.hooks).call.apply(_this$hooks,[name].concat(params))},changeComponentId:function(component,newId){var oldId=component.id;component.id=newId,component.fingerprint.id=newId,this.componentsById[newId]=component,delete this.componentsById[oldId],this.components().forEach((function(component){var children=component.serverMemo.children||{};Object.entries(children).forEach((function(_ref){var _ref2=_slicedToArray(_ref,2),key=_ref2[0],_ref2$=_ref2[1],id=_ref2$.id;_ref2$.tagName;id===oldId&&(children[key].id=newId)}))}))},removeComponent:function(component){component.tearDown(),delete this.componentsById[component.id]},onError:function(callback){this.onErrorCallback=callback},getClosestParentId:function(childId,subsetOfParentIds){var _this3=this,distancesByParentId={};subsetOfParentIds.forEach((function(parentId){var distance=_this3.getDistanceToChild(parentId,childId);distance&&(distancesByParentId[parentId]=distance)}));var closestParentId,smallestDistance=Math.min.apply(Math,_toConsumableArray(Object.values(distancesByParentId)));return Object.entries(distancesByParentId).forEach((function(_ref3){var _ref4=_slicedToArray(_ref3,2),parentId=_ref4[0];_ref4[1]===smallestDistance&&(closestParentId=parentId)})),closestParentId},getDistanceToChild:function(parentId,childId){var distanceMemo=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,parentComponent=this.findComponent(parentId);if(parentComponent){var childIds=parentComponent.childIds;if(childIds.includes(childId))return distanceMemo;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null;null===node&&(node=document);var allEls=Array.from(node.querySelectorAll("[wire\\:initial-data]")),onlyChildEls=Array.from(node.querySelectorAll("[wire\\:initial-data] [wire\\:initial-data]"));return allEls.filter((function(el){return!onlyChildEls.includes(el)}))},allModelElementsInside:function(root){return Array.from(root.querySelectorAll("[wire\\:model]"))},getByAttributeAndValue:function(attribute,value){return document.querySelector("[wire\\:".concat(attribute,'="').concat(value,'"]'))},nextFrame:function(fn){var _this=this;requestAnimationFrame((function(){requestAnimationFrame(fn.bind(_this))}))},closestRoot:function(el){return this.closestByAttribute(el,"id")},closestByAttribute:function(el,attribute){var closestEl=el.closest("[wire\\:".concat(attribute,"]"));if(!closestEl)throw"\nLivewire Error:\n\nCannot find parent element in DOM tree containing attribute: [wire:".concat(attribute,"].\n\nUsually this is caused by Livewire's DOM-differ not being able to properly track changes.\n\nReference the following guide for common causes: https://laravel-livewire.com/docs/troubleshooting \n\nReferenced element:\n\n").concat(el.outerHTML,"\n");return closestEl},isComponentRootEl:function(el){return this.hasAttribute(el,"id")},hasAttribute:function(el,attribute){return el.hasAttribute("wire:".concat(attribute))},getAttribute:function(el,attribute){return el.getAttribute("wire:".concat(attribute))},removeAttribute:function(el,attribute){return el.removeAttribute("wire:".concat(attribute))},setAttribute:function(el,attribute,value){return el.setAttribute("wire:".concat(attribute),value)},hasFocus:function(el){return el===document.activeElement},isInput:function(el){return["INPUT","TEXTAREA","SELECT"].includes(el.tagName.toUpperCase())},isTextInput:function(el){return["INPUT","TEXTAREA"].includes(el.tagName.toUpperCase())&&!["checkbox","radio"].includes(el.type)},valueFromInput:function(el,component){if("checkbox"===el.type){var modelName=wireDirectives(el).get("model").value,modelValue=component.deferredActions[modelName]?component.deferredActions[modelName].payload.value:getValue(component.data,modelName);return Array.isArray(modelValue)?this.mergeCheckboxValueIntoArray(el,modelValue):!!el.checked&&(el.getAttribute("value")||!0)}return"SELECT"===el.tagName&&el.multiple?this.getSelectValues(el):el.value},mergeCheckboxValueIntoArray:function(el,arrayValue){return el.checked?arrayValue.includes(el.value)?arrayValue:arrayValue.concat(el.value):arrayValue.filter((function(item){return item!==el.value}))},setInputValueFromModel:function(el,component){var modelString=wireDirectives(el).get("model").value,modelValue=getValue(component.data,modelString);"input"===el.tagName.toLowerCase()&&"file"===el.type||this.setInputValue(el,modelValue)},setInputValue:function(el,value){if(store.callHook("interceptWireModelSetValue",value,el),"radio"===el.type)el.checked=el.value==value;else if("checkbox"===el.type)if(Array.isArray(value)){var valueFound=!1;value.forEach((function(val){val==el.value&&(valueFound=!0)})),el.checked=valueFound}else el.checked=!!value;else"SELECT"===el.tagName?this.updateSelect(el,value):(value=void 0===value?"":value,el.value=value)},getSelectValues:function(el){return Array.from(el.options).filter((function(option){return option.selected})).map((function(option){return option.value||option.text}))},updateSelect:function(el,value){var arrayWrappedValue=[].concat(value).map((function(value){return value+""}));Array.from(el.options).forEach((function(option){option.selected=arrayWrappedValue.includes(option.value)}))}},ceil=Math.ceil,floor=Math.floor,toInteger=function(argument){return isNaN(argument=+argument)?0:(argument>0?floor:ceil)(argument)},requireObjectCoercible=function(it){if(null==it)throw TypeError("Can't call method on "+it);return it},createMethod=function(CONVERT_TO_STRING){return function($this,pos){var first,second,S=String(requireObjectCoercible($this)),position=toInteger(pos),size=S.length;return position<0||position>=size?CONVERT_TO_STRING?"":void 0:(first=S.charCodeAt(position))<55296||first>56319||position+1===size||(second=S.charCodeAt(position+1))<56320||second>57343?CONVERT_TO_STRING?S.charAt(position):first:CONVERT_TO_STRING?S.slice(position,position+2):second-56320+(first-55296<<10)+65536}},stringMultibyte={codeAt:createMethod(!1),charAt:createMethod(!0)},commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(fn,basedir,module){return fn(module={path:basedir,exports:{},require:function(path,base){return commonjsRequire(path,null==base?module.path:base)}},module.exports),module.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var check=function(it){return it&&it.Math==Math&&it},global_1=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof commonjsGlobal&&commonjsGlobal)||Function("return this")(),fails=function(exec){try{return!!exec()}catch(error){return!0}},descriptors=!fails((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),isObject=function(it){return"object"==typeof it?null!==it:"function"==typeof it},document$1=global_1.document,EXISTS=isObject(document$1)&&isObject(document$1.createElement),documentCreateElement=function(it){return EXISTS?document$1.createElement(it):{}},ie8DomDefine=!descriptors&&!fails((function(){return 7!=Object.defineProperty(documentCreateElement("div"),"a",{get:function(){return 7}}).a})),anObject=function(it){if(!isObject(it))throw TypeError(String(it)+" is not an object");return it},toPrimitive=function(input,PREFERRED_STRING){if(!isObject(input))return input;var fn,val;if(PREFERRED_STRING&&"function"==typeof(fn=input.toString)&&!isObject(val=fn.call(input)))return val;if("function"==typeof(fn=input.valueOf)&&!isObject(val=fn.call(input)))return val;if(!PREFERRED_STRING&&"function"==typeof(fn=input.toString)&&!isObject(val=fn.call(input)))return val;throw TypeError("Can't convert object to primitive value")},nativeDefineProperty=Object.defineProperty,f=descriptors?nativeDefineProperty:function(O,P,Attributes){if(anObject(O),P=toPrimitive(P,!0),anObject(Attributes),ie8DomDefine)try{return nativeDefineProperty(O,P,Attributes)}catch(error){}if("get"in Attributes||"set"in Attributes)throw TypeError("Accessors not supported");return"value"in Attributes&&(O[P]=Attributes.value),O},objectDefineProperty={f:f},createPropertyDescriptor=function(bitmap,value){return{enumerable:!(1&bitmap),configurable:!(2&bitmap),writable:!(4&bitmap),value:value}},createNonEnumerableProperty=descriptors?function(object,key,value){return objectDefineProperty.f(object,key,createPropertyDescriptor(1,value))}:function(object,key,value){return object[key]=value,object},setGlobal=function(key,value){try{createNonEnumerableProperty(global_1,key,value)}catch(error){global_1[key]=value}return value},SHARED="__core-js_shared__",store$1=global_1[SHARED]||setGlobal(SHARED,{}),sharedStore=store$1,functionToString=Function.toString;"function"!=typeof sharedStore.inspectSource&&(sharedStore.inspectSource=function(it){return functionToString.call(it)});var inspectSource=sharedStore.inspectSource,WeakMap=global_1.WeakMap,nativeWeakMap="function"==typeof WeakMap&&/native code/.test(inspectSource(WeakMap)),hasOwnProperty={}.hasOwnProperty,has=function(it,key){return hasOwnProperty.call(it,key)},shared=createCommonjsModule((function(module){(module.exports=function(key,value){return sharedStore[key]||(sharedStore[key]=void 0!==value?value:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),id=0,postfix=Math.random(),uid=function(key){return"Symbol("+String(void 0===key?"":key)+")_"+(++id+postfix).toString(36)},keys=shared("keys"),sharedKey=function(key){return keys[key]||(keys[key]=uid(key))},hiddenKeys={},WeakMap$1=global_1.WeakMap,set,get,has$1,enforce=function(it){return has$1(it)?get(it):set(it,{})},getterFor=function(TYPE){return function(it){var state;if(!isObject(it)||(state=get(it)).type!==TYPE)throw TypeError("Incompatible receiver, "+TYPE+" required");return state}};if(nativeWeakMap){var store$2=new WeakMap$1,wmget=store$2.get,wmhas=store$2.has,wmset=store$2.set;set=function(it,metadata){return wmset.call(store$2,it,metadata),metadata},get=function(it){return wmget.call(store$2,it)||{}},has$1=function(it){return wmhas.call(store$2,it)}}else{var STATE=sharedKey("state");hiddenKeys[STATE]=!0,set=function(it,metadata){return createNonEnumerableProperty(it,STATE,metadata),metadata},get=function(it){return has(it,STATE)?it[STATE]:{}},has$1=function(it){return has(it,STATE)}}var internalState={set:set,get:get,has:has$1,enforce:enforce,getterFor:getterFor},nativePropertyIsEnumerable={}.propertyIsEnumerable,getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor,NASHORN_BUG=getOwnPropertyDescriptor&&!nativePropertyIsEnumerable.call({1:2},1),f$1=NASHORN_BUG?function(V){var descriptor=getOwnPropertyDescriptor(this,V);return!!descriptor&&descriptor.enumerable}:nativePropertyIsEnumerable,objectPropertyIsEnumerable={f:f$1},toString={}.toString,classofRaw=function(it){return toString.call(it).slice(8,-1)},split$1="".split,indexedObject=fails((function(){return!Object("z").propertyIsEnumerable(0)}))?function(it){return"String"==classofRaw(it)?split$1.call(it,""):Object(it)}:Object,toIndexedObject=function(it){return indexedObject(requireObjectCoercible(it))},nativeGetOwnPropertyDescriptor=Object.getOwnPropertyDescriptor,f$2=descriptors?nativeGetOwnPropertyDescriptor:function(O,P){if(O=toIndexedObject(O),P=toPrimitive(P,!0),ie8DomDefine)try{return nativeGetOwnPropertyDescriptor(O,P)}catch(error){}if(has(O,P))return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O,P),O[P])},objectGetOwnPropertyDescriptor={f:f$2},redefine=createCommonjsModule((function(module){var getInternalState=internalState.get,enforceInternalState=internalState.enforce,TEMPLATE=String(String).split("String");(module.exports=function(O,key,value,options){var unsafe=!!options&&!!options.unsafe,simple=!!options&&!!options.enumerable,noTargetGet=!!options&&!!options.noTargetGet;"function"==typeof value&&("string"!=typeof key||has(value,"name")||createNonEnumerableProperty(value,"name",key),enforceInternalState(value).source=TEMPLATE.join("string"==typeof key?key:"")),O!==global_1?(unsafe?!noTargetGet&&O[key]&&(simple=!0):delete O[key],simple?O[key]=value:createNonEnumerableProperty(O,key,value)):simple?O[key]=value:setGlobal(key,value)})(Function.prototype,"toString",(function(){return"function"==typeof this&&getInternalState(this).source||inspectSource(this)}))})),path=global_1,aFunction=function(variable){return"function"==typeof variable?variable:void 0},getBuiltIn=function(namespace,method){return arguments.length<2?aFunction(path[namespace])||aFunction(global_1[namespace]):path[namespace]&&path[namespace][method]||global_1[namespace]&&global_1[namespace][method]},min=Math.min,toLength=function(argument){return argument>0?min(toInteger(argument),9007199254740991):0},max=Math.max,min$1=Math.min,toAbsoluteIndex=function(index,length){var integer=toInteger(index);return integer<0?max(integer+length,0):min$1(integer,length)},createMethod$1=function(IS_INCLUDES){return function($this,el,fromIndex){var value,O=toIndexedObject($this),length=toLength(O.length),index=toAbsoluteIndex(fromIndex,length);if(IS_INCLUDES&&el!=el){for(;length>index;)if((value=O[index++])!=value)return!0}else for(;length>index;index++)if((IS_INCLUDES||index in O)&&O[index]===el)return IS_INCLUDES||index||0;return!IS_INCLUDES&&-1}},arrayIncludes={includes:createMethod$1(!0),indexOf:createMethod$1(!1)},indexOf=arrayIncludes.indexOf,objectKeysInternal=function(object,names){var key,O=toIndexedObject(object),i=0,result=[];for(key in O)!has(hiddenKeys,key)&&has(O,key)&&result.push(key);for(;names.length>i;)has(O,key=names[i++])&&(~indexOf(result,key)||result.push(key));return result},enumBugKeys=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],hiddenKeys$1=enumBugKeys.concat("length","prototype"),f$3=Object.getOwnPropertyNames||function(O){return objectKeysInternal(O,hiddenKeys$1)},objectGetOwnPropertyNames={f:f$3},f$4=Object.getOwnPropertySymbols,objectGetOwnPropertySymbols={f:f$4},ownKeys=getBuiltIn("Reflect","ownKeys")||function(it){var keys=objectGetOwnPropertyNames.f(anObject(it)),getOwnPropertySymbols=objectGetOwnPropertySymbols.f;return getOwnPropertySymbols?keys.concat(getOwnPropertySymbols(it)):keys},copyConstructorProperties=function(target,source){for(var keys=ownKeys(source),defineProperty=objectDefineProperty.f,getOwnPropertyDescriptor=objectGetOwnPropertyDescriptor.f,i=0;iindex;)objectDefineProperty.f(O,key=keys[index++],Properties[key]);return O},html=getBuiltIn("document","documentElement"),GT=">",LT="<",PROTOTYPE="prototype",SCRIPT="script",IE_PROTO$1=sharedKey("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(content){return LT+SCRIPT+GT+content+LT+"/"+SCRIPT+GT},NullProtoObjectViaActiveX=function(activeXDocument){activeXDocument.write(scriptTag("")),activeXDocument.close();var temp=activeXDocument.parentWindow.Object;return activeXDocument=null,temp},NullProtoObjectViaIFrame=function(){var iframeDocument,iframe=documentCreateElement("iframe"),JS="java"+SCRIPT+":";return iframe.style.display="none",html.appendChild(iframe),iframe.src=String(JS),(iframeDocument=iframe.contentWindow.document).open(),iframeDocument.write(scriptTag("document.F=Object")),iframeDocument.close(),iframeDocument.F},activeXDocument,NullProtoObject=function(){try{activeXDocument=document.domain&&new ActiveXObject("htmlfile")}catch(error){}NullProtoObject=activeXDocument?NullProtoObjectViaActiveX(activeXDocument):NullProtoObjectViaIFrame();for(var length=enumBugKeys.length;length--;)delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];return NullProtoObject()};hiddenKeys[IE_PROTO$1]=!0;var objectCreate=Object.create||function(O,Properties){var result;return null!==O?(EmptyConstructor[PROTOTYPE]=anObject(O),result=new EmptyConstructor,EmptyConstructor[PROTOTYPE]=null,result[IE_PROTO$1]=O):result=NullProtoObject(),void 0===Properties?result:objectDefineProperties(result,Properties)},defineProperty=objectDefineProperty.f,TO_STRING_TAG=wellKnownSymbol("toStringTag"),setToStringTag=function(it,TAG,STATIC){it&&!has(it=STATIC?it:it.prototype,TO_STRING_TAG)&&defineProperty(it,TO_STRING_TAG,{configurable:!0,value:TAG})},iterators={},IteratorPrototype$1=iteratorsCore.IteratorPrototype,returnThis$1=function(){return this},createIteratorConstructor=function(IteratorConstructor,NAME,next){var TO_STRING_TAG=NAME+" Iterator";return IteratorConstructor.prototype=objectCreate(IteratorPrototype$1,{next:createPropertyDescriptor(1,next)}),setToStringTag(IteratorConstructor,TO_STRING_TAG,!1),iterators[TO_STRING_TAG]=returnThis$1,IteratorConstructor},aPossiblePrototype=function(it){if(!isObject(it)&&null!==it)throw TypeError("Can't set "+String(it)+" as a prototype");return it},objectSetPrototypeOf=Object.setPrototypeOf||("__proto__"in{}?function(){var setter,CORRECT_SETTER=!1,test={};try{(setter=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(test,[]),CORRECT_SETTER=test instanceof Array}catch(error){}return function(O,proto){return anObject(O),aPossiblePrototype(proto),CORRECT_SETTER?setter.call(O,proto):O.__proto__=proto,O}}():void 0),IteratorPrototype$2=iteratorsCore.IteratorPrototype,BUGGY_SAFARI_ITERATORS$1=iteratorsCore.BUGGY_SAFARI_ITERATORS,ITERATOR$1=wellKnownSymbol("iterator"),KEYS="keys",VALUES="values",ENTRIES="entries",returnThis$2=function(){return this},defineIterator=function(Iterable,NAME,IteratorConstructor,next,DEFAULT,IS_SET,FORCED){createIteratorConstructor(IteratorConstructor,NAME,next);var CurrentIteratorPrototype,methods,KEY,getIterationMethod=function(KIND){if(KIND===DEFAULT&&defaultIterator)return defaultIterator;if(!BUGGY_SAFARI_ITERATORS$1&&KIND in IterablePrototype)return IterablePrototype[KIND];switch(KIND){case KEYS:case VALUES:case ENTRIES:return function(){return new IteratorConstructor(this,KIND)}}return function(){return new IteratorConstructor(this)}},TO_STRING_TAG=NAME+" Iterator",INCORRECT_VALUES_NAME=!1,IterablePrototype=Iterable.prototype,nativeIterator=IterablePrototype[ITERATOR$1]||IterablePrototype["@@iterator"]||DEFAULT&&IterablePrototype[DEFAULT],defaultIterator=!BUGGY_SAFARI_ITERATORS$1&&nativeIterator||getIterationMethod(DEFAULT),anyNativeIterator="Array"==NAME&&IterablePrototype.entries||nativeIterator;if(anyNativeIterator&&(CurrentIteratorPrototype=objectGetPrototypeOf(anyNativeIterator.call(new Iterable)),IteratorPrototype$2!==Object.prototype&&CurrentIteratorPrototype.next&&(objectGetPrototypeOf(CurrentIteratorPrototype)!==IteratorPrototype$2&&(objectSetPrototypeOf?objectSetPrototypeOf(CurrentIteratorPrototype,IteratorPrototype$2):"function"!=typeof CurrentIteratorPrototype[ITERATOR$1]&&createNonEnumerableProperty(CurrentIteratorPrototype,ITERATOR$1,returnThis$2)),setToStringTag(CurrentIteratorPrototype,TO_STRING_TAG,!0))),DEFAULT==VALUES&&nativeIterator&&nativeIterator.name!==VALUES&&(INCORRECT_VALUES_NAME=!0,defaultIterator=function(){return nativeIterator.call(this)}),IterablePrototype[ITERATOR$1]!==defaultIterator&&createNonEnumerableProperty(IterablePrototype,ITERATOR$1,defaultIterator),iterators[NAME]=defaultIterator,DEFAULT)if(methods={values:getIterationMethod(VALUES),keys:IS_SET?defaultIterator:getIterationMethod(KEYS),entries:getIterationMethod(ENTRIES)},FORCED)for(KEY in methods)(BUGGY_SAFARI_ITERATORS$1||INCORRECT_VALUES_NAME||!(KEY in IterablePrototype))&&redefine(IterablePrototype,KEY,methods[KEY]);else _export({target:NAME,proto:!0,forced:BUGGY_SAFARI_ITERATORS$1||INCORRECT_VALUES_NAME},methods);return methods},charAt=stringMultibyte.charAt,STRING_ITERATOR="String Iterator",setInternalState=internalState.set,getInternalState=internalState.getterFor(STRING_ITERATOR);defineIterator(String,"String",(function(iterated){setInternalState(this,{type:STRING_ITERATOR,string:String(iterated),index:0})}),(function(){var point,state=getInternalState(this),string=state.string,index=state.index;return index>=string.length?{value:void 0,done:!0}:(point=charAt(string,index),state.index+=point.length,{value:point,done:!1})}));var aFunction$1=function(it){if("function"!=typeof it)throw TypeError(String(it)+" is not a function");return it},functionBindContext=function(fn,that,length){if(aFunction$1(fn),void 0===that)return fn;switch(length){case 0:return function(){return fn.call(that)};case 1:return function(a){return fn.call(that,a)};case 2:return function(a,b){return fn.call(that,a,b)};case 3:return function(a,b,c){return fn.call(that,a,b,c)}}return function(){return fn.apply(that,arguments)}},callWithSafeIterationClosing=function(iterator,fn,value,ENTRIES){try{return ENTRIES?fn(anObject(value)[0],value[1]):fn(value)}catch(error){var returnMethod=iterator.return;throw void 0!==returnMethod&&anObject(returnMethod.call(iterator)),error}},ITERATOR$2=wellKnownSymbol("iterator"),ArrayPrototype=Array.prototype,isArrayIteratorMethod=function(it){return void 0!==it&&(iterators.Array===it||ArrayPrototype[ITERATOR$2]===it)},createProperty=function(object,key,value){var propertyKey=toPrimitive(key);propertyKey in object?objectDefineProperty.f(object,propertyKey,createPropertyDescriptor(0,value)):object[propertyKey]=value},TO_STRING_TAG$1=wellKnownSymbol("toStringTag"),test={};test[TO_STRING_TAG$1]="z";var toStringTagSupport="[object z]"===String(test),TO_STRING_TAG$2=wellKnownSymbol("toStringTag"),CORRECT_ARGUMENTS="Arguments"==classofRaw(function(){return arguments}()),tryGet=function(it,key){try{return it[key]}catch(error){}},classof=toStringTagSupport?classofRaw:function(it){var O,tag,result;return void 0===it?"Undefined":null===it?"Null":"string"==typeof(tag=tryGet(O=Object(it),TO_STRING_TAG$2))?tag:CORRECT_ARGUMENTS?classofRaw(O):"Object"==(result=classofRaw(O))&&"function"==typeof O.callee?"Arguments":result},ITERATOR$3=wellKnownSymbol("iterator"),getIteratorMethod=function(it){if(null!=it)return it[ITERATOR$3]||it["@@iterator"]||iterators[classof(it)]},arrayFrom=function(arrayLike){var length,result,step,iterator,next,value,O=toObject(arrayLike),C="function"==typeof this?this:Array,argumentsLength=arguments.length,mapfn=argumentsLength>1?arguments[1]:void 0,mapping=void 0!==mapfn,iteratorMethod=getIteratorMethod(O),index=0;if(mapping&&(mapfn=functionBindContext(mapfn,argumentsLength>2?arguments[2]:void 0,2)),null==iteratorMethod||C==Array&&isArrayIteratorMethod(iteratorMethod))for(result=new C(length=toLength(O.length));length>index;index++)value=mapping?mapfn(O[index],index):O[index],createProperty(result,index,value);else for(next=(iterator=iteratorMethod.call(O)).next,result=new C;!(step=next.call(iterator)).done;index++)value=mapping?callWithSafeIterationClosing(iterator,mapfn,[step.value,index],!0):step.value,createProperty(result,index,value);return result.length=index,result},ITERATOR$4=wellKnownSymbol("iterator"),SAFE_CLOSING=!1;try{var called=0,iteratorWithReturn={next:function(){return{done:!!called++}},return:function(){SAFE_CLOSING=!0}};iteratorWithReturn[ITERATOR$4]=function(){return this},Array.from(iteratorWithReturn,(function(){throw 2}))}catch(error){}var checkCorrectnessOfIteration=function(exec,SKIP_CLOSING){if(!SKIP_CLOSING&&!SAFE_CLOSING)return!1;var ITERATION_SUPPORT=!1;try{var object={};object[ITERATOR$4]=function(){return{next:function(){return{done:ITERATION_SUPPORT=!0}}}},exec(object)}catch(error){}return ITERATION_SUPPORT},INCORRECT_ITERATION=!checkCorrectnessOfIteration((function(iterable){Array.from(iterable)}));_export({target:"Array",stat:!0,forced:INCORRECT_ITERATION},{from:arrayFrom});var from_1=path.Array.from,UNSCOPABLES=wellKnownSymbol("unscopables"),ArrayPrototype$1=Array.prototype;null==ArrayPrototype$1[UNSCOPABLES]&&objectDefineProperty.f(ArrayPrototype$1,UNSCOPABLES,{configurable:!0,value:objectCreate(null)});var addToUnscopables=function(key){ArrayPrototype$1[UNSCOPABLES][key]=!0},defineProperty$1=Object.defineProperty,cache={},thrower=function(it){throw it},arrayMethodUsesToLength=function(METHOD_NAME,options){if(has(cache,METHOD_NAME))return cache[METHOD_NAME];options||(options={});var method=[][METHOD_NAME],ACCESSORS=!!has(options,"ACCESSORS")&&options.ACCESSORS,argument0=has(options,0)?options[0]:thrower,argument1=has(options,1)?options[1]:void 0;return cache[METHOD_NAME]=!!method&&!fails((function(){if(ACCESSORS&&!descriptors)return!0;var O={length:-1};ACCESSORS?defineProperty$1(O,1,{enumerable:!0,get:thrower}):O[1]=1,method.call(O,argument0,argument1)}))},$includes=arrayIncludes.includes,USES_TO_LENGTH=arrayMethodUsesToLength("indexOf",{ACCESSORS:!0,1:0});_export({target:"Array",proto:!0,forced:!USES_TO_LENGTH},{includes:function(el){return $includes(this,el,arguments.length>1?arguments[1]:void 0)}}),addToUnscopables("includes");var call=Function.call,entryUnbind=function(CONSTRUCTOR,METHOD,length){return functionBindContext(call,global_1[CONSTRUCTOR].prototype[METHOD],length)},includes=entryUnbind("Array","includes"),isArray=Array.isArray||function(arg){return"Array"==classofRaw(arg)},flattenIntoArray=function(target,original,source,sourceLen,start,depth,mapper,thisArg){for(var element,targetIndex=start,sourceIndex=0,mapFn=!!mapper&&functionBindContext(mapper,thisArg,3);sourceIndex0&&isArray(element))targetIndex=flattenIntoArray(target,original,element,toLength(element.length),targetIndex,depth-1)-1;else{if(targetIndex>=9007199254740991)throw TypeError("Exceed the acceptable array length");target[targetIndex]=element}targetIndex++}sourceIndex++}return targetIndex},flattenIntoArray_1=flattenIntoArray,SPECIES=wellKnownSymbol("species"),arraySpeciesCreate=function(originalArray,length){var C;return isArray(originalArray)&&("function"!=typeof(C=originalArray.constructor)||C!==Array&&!isArray(C.prototype)?isObject(C)&&null===(C=C[SPECIES])&&(C=void 0):C=void 0),new(void 0===C?Array:C)(0===length?0:length)};_export({target:"Array",proto:!0},{flat:function(){var depthArg=arguments.length?arguments[0]:void 0,O=toObject(this),sourceLen=toLength(O.length),A=arraySpeciesCreate(O,0);return A.length=flattenIntoArray_1(A,O,O,sourceLen,0,void 0===depthArg?1:toInteger(depthArg)),A}}),addToUnscopables("flat");var flat=entryUnbind("Array","flat"),push=[].push,createMethod$2=function(TYPE){var IS_MAP=1==TYPE,IS_FILTER=2==TYPE,IS_SOME=3==TYPE,IS_EVERY=4==TYPE,IS_FIND_INDEX=6==TYPE,NO_HOLES=5==TYPE||IS_FIND_INDEX;return function($this,callbackfn,that,specificCreate){for(var value,result,O=toObject($this),self=indexedObject(O),boundFunction=functionBindContext(callbackfn,that,3),length=toLength(self.length),index=0,create=specificCreate||arraySpeciesCreate,target=IS_MAP?create($this,length):IS_FILTER?create($this,0):void 0;length>index;index++)if((NO_HOLES||index in self)&&(result=boundFunction(value=self[index],index,O),TYPE))if(IS_MAP)target[index]=result;else if(result)switch(TYPE){case 3:return!0;case 5:return value;case 6:return index;case 2:push.call(target,value)}else if(IS_EVERY)return!1;return IS_FIND_INDEX?-1:IS_SOME||IS_EVERY?IS_EVERY:target}},arrayIteration={forEach:createMethod$2(0),map:createMethod$2(1),filter:createMethod$2(2),some:createMethod$2(3),every:createMethod$2(4),find:createMethod$2(5),findIndex:createMethod$2(6)},$find=arrayIteration.find,FIND="find",SKIPS_HOLES=!0,USES_TO_LENGTH$1=arrayMethodUsesToLength(FIND);FIND in[]&&Array(1)[FIND]((function(){SKIPS_HOLES=!1})),_export({target:"Array",proto:!0,forced:SKIPS_HOLES||!USES_TO_LENGTH$1},{find:function(callbackfn){return $find(this,callbackfn,arguments.length>1?arguments[1]:void 0)}}),addToUnscopables(FIND);var find=entryUnbind("Array","find"),nativeAssign=Object.assign,defineProperty$2=Object.defineProperty,objectAssign=!nativeAssign||fails((function(){if(descriptors&&1!==nativeAssign({b:1},nativeAssign(defineProperty$2({},"a",{enumerable:!0,get:function(){defineProperty$2(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var A={},B={},symbol=Symbol();return A[symbol]=7,"abcdefghijklmnopqrst".split("").forEach((function(chr){B[chr]=chr})),7!=nativeAssign({},A)[symbol]||"abcdefghijklmnopqrst"!=objectKeys(nativeAssign({},B)).join("")}))?function(target,source){for(var T=toObject(target),argumentsLength=arguments.length,index=1,getOwnPropertySymbols=objectGetOwnPropertySymbols.f,propertyIsEnumerable=objectPropertyIsEnumerable.f;argumentsLength>index;)for(var key,S=indexedObject(arguments[index++]),keys=getOwnPropertySymbols?objectKeys(S).concat(getOwnPropertySymbols(S)):objectKeys(S),length=keys.length,j=0;length>j;)key=keys[j++],descriptors&&!propertyIsEnumerable.call(S,key)||(T[key]=S[key]);return T}:nativeAssign;_export({target:"Object",stat:!0,forced:Object.assign!==objectAssign},{assign:objectAssign});var assign=path.Object.assign,propertyIsEnumerable=objectPropertyIsEnumerable.f,createMethod$3=function(TO_ENTRIES){return function(it){for(var key,O=toIndexedObject(it),keys=objectKeys(O),length=keys.length,i=0,result=[];length>i;)key=keys[i++],descriptors&&!propertyIsEnumerable.call(O,key)||result.push(TO_ENTRIES?[key,O[key]]:O[key]);return result}},objectToArray={entries:createMethod$3(!0),values:createMethod$3(!1)},$entries=objectToArray.entries;_export({target:"Object",stat:!0},{entries:function(O){return $entries(O)}});var entries=path.Object.entries,$values=objectToArray.values;_export({target:"Object",stat:!0},{values:function(O){return $values(O)}});var values=path.Object.values,objectToString=toStringTagSupport?{}.toString:function(){return"[object "+classof(this)+"]"};toStringTagSupport||redefine(Object.prototype,"toString",objectToString,{unsafe:!0});var domIterables={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},ARRAY_ITERATOR="Array Iterator",setInternalState$1=internalState.set,getInternalState$1=internalState.getterFor(ARRAY_ITERATOR),es_array_iterator=defineIterator(Array,"Array",(function(iterated,kind){setInternalState$1(this,{type:ARRAY_ITERATOR,target:toIndexedObject(iterated),index:0,kind:kind})}),(function(){var state=getInternalState$1(this),target=state.target,kind=state.kind,index=state.index++;return!target||index>=target.length?(state.target=void 0,{value:void 0,done:!0}):"keys"==kind?{value:index,done:!1}:"values"==kind?{value:target[index],done:!1}:{value:[index,target[index]],done:!1}}),"values");iterators.Arguments=iterators.Array,addToUnscopables("keys"),addToUnscopables("values"),addToUnscopables("entries");var ITERATOR$5=wellKnownSymbol("iterator"),TO_STRING_TAG$3=wellKnownSymbol("toStringTag"),ArrayValues=es_array_iterator.values;for(var COLLECTION_NAME in domIterables){var Collection=global_1[COLLECTION_NAME],CollectionPrototype=Collection&&Collection.prototype;if(CollectionPrototype){if(CollectionPrototype[ITERATOR$5]!==ArrayValues)try{createNonEnumerableProperty(CollectionPrototype,ITERATOR$5,ArrayValues)}catch(error){CollectionPrototype[ITERATOR$5]=ArrayValues}if(CollectionPrototype[TO_STRING_TAG$3]||createNonEnumerableProperty(CollectionPrototype,TO_STRING_TAG$3,COLLECTION_NAME),domIterables[COLLECTION_NAME])for(var METHOD_NAME in es_array_iterator)if(CollectionPrototype[METHOD_NAME]!==es_array_iterator[METHOD_NAME])try{createNonEnumerableProperty(CollectionPrototype,METHOD_NAME,es_array_iterator[METHOD_NAME])}catch(error){CollectionPrototype[METHOD_NAME]=es_array_iterator[METHOD_NAME]}}}var nativePromiseConstructor=global_1.Promise,redefineAll=function(target,src,options){for(var key in src)redefine(target,key,src[key],options);return target},SPECIES$1=wellKnownSymbol("species"),setSpecies=function(CONSTRUCTOR_NAME){var Constructor=getBuiltIn(CONSTRUCTOR_NAME),defineProperty=objectDefineProperty.f;descriptors&&Constructor&&!Constructor[SPECIES$1]&&defineProperty(Constructor,SPECIES$1,{configurable:!0,get:function(){return this}})},anInstance=function(it,Constructor,name){if(!(it instanceof Constructor))throw TypeError("Incorrect "+(name?name+" ":"")+"invocation");return it},iterate_1=createCommonjsModule((function(module){var Result=function(stopped,result){this.stopped=stopped,this.result=result};(module.exports=function(iterable,fn,that,AS_ENTRIES,IS_ITERATOR){var iterator,iterFn,index,length,result,next,step,boundFunction=functionBindContext(fn,that,AS_ENTRIES?2:1);if(IS_ITERATOR)iterator=iterable;else{if("function"!=typeof(iterFn=getIteratorMethod(iterable)))throw TypeError("Target is not iterable");if(isArrayIteratorMethod(iterFn)){for(index=0,length=toLength(iterable.length);length>index;index++)if((result=AS_ENTRIES?boundFunction(anObject(step=iterable[index])[0],step[1]):boundFunction(iterable[index]))&&result instanceof Result)return result;return new Result(!1)}iterator=iterFn.call(iterable)}for(next=iterator.next;!(step=next.call(iterator)).done;)if("object"==typeof(result=callWithSafeIterationClosing(iterator,boundFunction,step.value,AS_ENTRIES))&&result&&result instanceof Result)return result;return new Result(!1)}).stop=function(result){return new Result(!0,result)}})),SPECIES$2=wellKnownSymbol("species"),speciesConstructor=function(O,defaultConstructor){var S,C=anObject(O).constructor;return void 0===C||null==(S=anObject(C)[SPECIES$2])?defaultConstructor:aFunction$1(S)},engineUserAgent=getBuiltIn("navigator","userAgent")||"",engineIsIos=/(iphone|ipod|ipad).*applewebkit/i.test(engineUserAgent),location=global_1.location,set$1=global_1.setImmediate,clear=global_1.clearImmediate,process=global_1.process,MessageChannel=global_1.MessageChannel,Dispatch=global_1.Dispatch,counter=0,queue={},ONREADYSTATECHANGE="onreadystatechange",defer,channel,port,run=function(id){if(queue.hasOwnProperty(id)){var fn=queue[id];delete queue[id],fn()}},runner=function(id){return function(){run(id)}},listener=function(event){run(event.data)},post=function(id){global_1.postMessage(id+"",location.protocol+"//"+location.host)};set$1&&clear||(set$1=function(fn){for(var args=[],i=1;arguments.length>i;)args.push(arguments[i++]);return queue[++counter]=function(){("function"==typeof fn?fn:Function(fn)).apply(void 0,args)},defer(counter),counter},clear=function(id){delete queue[id]},"process"==classofRaw(process)?defer=function(id){process.nextTick(runner(id))}:Dispatch&&Dispatch.now?defer=function(id){Dispatch.now(runner(id))}:MessageChannel&&!engineIsIos?(channel=new MessageChannel,port=channel.port2,channel.port1.onmessage=listener,defer=functionBindContext(port.postMessage,port,1)):!global_1.addEventListener||"function"!=typeof postMessage||global_1.importScripts||fails(post)||"file:"===location.protocol?defer=ONREADYSTATECHANGE in documentCreateElement("script")?function(id){html.appendChild(documentCreateElement("script"))[ONREADYSTATECHANGE]=function(){html.removeChild(this),run(id)}}:function(id){setTimeout(runner(id),0)}:(defer=post,global_1.addEventListener("message",listener,!1)));var task={set:set$1,clear:clear},getOwnPropertyDescriptor$2=objectGetOwnPropertyDescriptor.f,macrotask=task.set,MutationObserver=global_1.MutationObserver||global_1.WebKitMutationObserver,process$1=global_1.process,Promise$1=global_1.Promise,IS_NODE="process"==classofRaw(process$1),queueMicrotaskDescriptor=getOwnPropertyDescriptor$2(global_1,"queueMicrotask"),queueMicrotask=queueMicrotaskDescriptor&&queueMicrotaskDescriptor.value,flush,head,last,notify,toggle,node,promise,then;queueMicrotask||(flush=function(){var parent,fn;for(IS_NODE&&(parent=process$1.domain)&&parent.exit();head;){fn=head.fn,head=head.next;try{fn()}catch(error){throw head?notify():last=void 0,error}}last=void 0,parent&&parent.enter()},IS_NODE?notify=function(){process$1.nextTick(flush)}:MutationObserver&&!engineIsIos?(toggle=!0,node=document.createTextNode(""),new MutationObserver(flush).observe(node,{characterData:!0}),notify=function(){node.data=toggle=!toggle}):Promise$1&&Promise$1.resolve?(promise=Promise$1.resolve(void 0),then=promise.then,notify=function(){then.call(promise,flush)}):notify=function(){macrotask.call(global_1,flush)});var microtask=queueMicrotask||function(fn){var task={fn:fn,next:void 0};last&&(last.next=task),head||(head=task,notify()),last=task},PromiseCapability=function(C){var resolve,reject;this.promise=new C((function($$resolve,$$reject){if(void 0!==resolve||void 0!==reject)throw TypeError("Bad Promise constructor");resolve=$$resolve,reject=$$reject})),this.resolve=aFunction$1(resolve),this.reject=aFunction$1(reject)},f$5=function(C){return new PromiseCapability(C)},newPromiseCapability={f:f$5},promiseResolve=function(C,x){if(anObject(C),isObject(x)&&x.constructor===C)return x;var promiseCapability=newPromiseCapability.f(C);return(0,promiseCapability.resolve)(x),promiseCapability.promise},hostReportErrors=function(a,b){var console=global_1.console;console&&console.error&&(1===arguments.length?console.error(a):console.error(a,b))},perform=function(exec){try{return{error:!1,value:exec()}}catch(error){return{error:!0,value:error}}},process$2=global_1.process,versions=process$2&&process$2.versions,v8=versions&&versions.v8,match,version;v8?(match=v8.split("."),version=match[0]+match[1]):engineUserAgent&&(match=engineUserAgent.match(/Edge\/(\d+)/),(!match||match[1]>=74)&&(match=engineUserAgent.match(/Chrome\/(\d+)/),match&&(version=match[1])));var engineV8Version=version&&+version,task$1=task.set,SPECIES$3=wellKnownSymbol("species"),PROMISE="Promise",getInternalState$2=internalState.get,setInternalState$2=internalState.set,getInternalPromiseState=internalState.getterFor(PROMISE),PromiseConstructor=nativePromiseConstructor,TypeError$1=global_1.TypeError,document$2=global_1.document,process$3=global_1.process,$fetch=getBuiltIn("fetch"),newPromiseCapability$1=newPromiseCapability.f,newGenericPromiseCapability=newPromiseCapability$1,IS_NODE$1="process"==classofRaw(process$3),DISPATCH_EVENT=!!(document$2&&document$2.createEvent&&global_1.dispatchEvent),UNHANDLED_REJECTION="unhandledrejection",REJECTION_HANDLED="rejectionhandled",PENDING=0,FULFILLED=1,REJECTED=2,HANDLED=1,UNHANDLED=2,Internal,OwnPromiseCapability,PromiseWrapper,nativeThen,FORCED=isForced_1(PROMISE,(function(){if(!(inspectSource(PromiseConstructor)!==String(PromiseConstructor))){if(66===engineV8Version)return!0;if(!IS_NODE$1&&"function"!=typeof PromiseRejectionEvent)return!0}if(engineV8Version>=51&&/native code/.test(PromiseConstructor))return!1;var promise=PromiseConstructor.resolve(1),FakePromise=function(exec){exec((function(){}),(function(){}))};return(promise.constructor={})[SPECIES$3]=FakePromise,!(promise.then((function(){}))instanceof FakePromise)})),INCORRECT_ITERATION$1=FORCED||!checkCorrectnessOfIteration((function(iterable){PromiseConstructor.all(iterable).catch((function(){}))})),isThenable=function(it){var then;return!(!isObject(it)||"function"!=typeof(then=it.then))&&then},notify$1=function(promise,state,isReject){if(!state.notified){state.notified=!0;var chain=state.reactions;microtask((function(){for(var value=state.value,ok=state.state==FULFILLED,index=0;chain.length>index;){var result,then,exited,reaction=chain[index++],handler=ok?reaction.ok:reaction.fail,resolve=reaction.resolve,reject=reaction.reject,domain=reaction.domain;try{handler?(ok||(state.rejection===UNHANDLED&&onHandleUnhandled(promise,state),state.rejection=HANDLED),!0===handler?result=value:(domain&&domain.enter(),result=handler(value),domain&&(domain.exit(),exited=!0)),result===reaction.promise?reject(TypeError$1("Promise-chain cycle")):(then=isThenable(result))?then.call(result,resolve,reject):resolve(result)):reject(value)}catch(error){domain&&!exited&&domain.exit(),reject(error)}}state.reactions=[],state.notified=!1,isReject&&!state.rejection&&onUnhandled(promise,state)}))}},dispatchEvent=function(name,promise,reason){var event,handler;DISPATCH_EVENT?((event=document$2.createEvent("Event")).promise=promise,event.reason=reason,event.initEvent(name,!1,!0),global_1.dispatchEvent(event)):event={promise:promise,reason:reason},(handler=global_1["on"+name])?handler(event):name===UNHANDLED_REJECTION&&hostReportErrors("Unhandled promise rejection",reason)},onUnhandled=function(promise,state){task$1.call(global_1,(function(){var result,value=state.value;if(isUnhandled(state)&&(result=perform((function(){IS_NODE$1?process$3.emit("unhandledRejection",value,promise):dispatchEvent(UNHANDLED_REJECTION,promise,value)})),state.rejection=IS_NODE$1||isUnhandled(state)?UNHANDLED:HANDLED,result.error))throw result.value}))},isUnhandled=function(state){return state.rejection!==HANDLED&&!state.parent},onHandleUnhandled=function(promise,state){task$1.call(global_1,(function(){IS_NODE$1?process$3.emit("rejectionHandled",promise):dispatchEvent(REJECTION_HANDLED,promise,state.value)}))},bind=function(fn,promise,state,unwrap){return function(value){fn(promise,state,value,unwrap)}},internalReject=function(promise,state,value,unwrap){state.done||(state.done=!0,unwrap&&(state=unwrap),state.value=value,state.state=REJECTED,notify$1(promise,state,!0))},internalResolve=function(promise,state,value,unwrap){if(!state.done){state.done=!0,unwrap&&(state=unwrap);try{if(promise===value)throw TypeError$1("Promise can't be resolved itself");var then=isThenable(value);then?microtask((function(){var wrapper={done:!1};try{then.call(value,bind(internalResolve,promise,wrapper,state),bind(internalReject,promise,wrapper,state))}catch(error){internalReject(promise,wrapper,error,state)}})):(state.value=value,state.state=FULFILLED,notify$1(promise,state,!1))}catch(error){internalReject(promise,{done:!1},error,state)}}};FORCED&&(PromiseConstructor=function(executor){anInstance(this,PromiseConstructor,PROMISE),aFunction$1(executor),Internal.call(this);var state=getInternalState$2(this);try{executor(bind(internalResolve,this,state),bind(internalReject,this,state))}catch(error){internalReject(this,state,error)}},Internal=function(executor){setInternalState$2(this,{type:PROMISE,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:PENDING,value:void 0})},Internal.prototype=redefineAll(PromiseConstructor.prototype,{then:function(onFulfilled,onRejected){var state=getInternalPromiseState(this),reaction=newPromiseCapability$1(speciesConstructor(this,PromiseConstructor));return reaction.ok="function"!=typeof onFulfilled||onFulfilled,reaction.fail="function"==typeof onRejected&&onRejected,reaction.domain=IS_NODE$1?process$3.domain:void 0,state.parent=!0,state.reactions.push(reaction),state.state!=PENDING&¬ify$1(this,state,!1),reaction.promise},catch:function(onRejected){return this.then(void 0,onRejected)}}),OwnPromiseCapability=function(){var promise=new Internal,state=getInternalState$2(promise);this.promise=promise,this.resolve=bind(internalResolve,promise,state),this.reject=bind(internalReject,promise,state)},newPromiseCapability.f=newPromiseCapability$1=function(C){return C===PromiseConstructor||C===PromiseWrapper?new OwnPromiseCapability(C):newGenericPromiseCapability(C)},"function"==typeof nativePromiseConstructor&&(nativeThen=nativePromiseConstructor.prototype.then,redefine(nativePromiseConstructor.prototype,"then",(function(onFulfilled,onRejected){var that=this;return new PromiseConstructor((function(resolve,reject){nativeThen.call(that,resolve,reject)})).then(onFulfilled,onRejected)}),{unsafe:!0}),"function"==typeof $fetch&&_export({global:!0,enumerable:!0,forced:!0},{fetch:function(input){return promiseResolve(PromiseConstructor,$fetch.apply(global_1,arguments))}}))),_export({global:!0,wrap:!0,forced:FORCED},{Promise:PromiseConstructor}),setToStringTag(PromiseConstructor,PROMISE,!1),setSpecies(PROMISE),PromiseWrapper=getBuiltIn(PROMISE),_export({target:PROMISE,stat:!0,forced:FORCED},{reject:function(r){var capability=newPromiseCapability$1(this);return capability.reject.call(void 0,r),capability.promise}}),_export({target:PROMISE,stat:!0,forced:FORCED},{resolve:function(x){return promiseResolve(this,x)}}),_export({target:PROMISE,stat:!0,forced:INCORRECT_ITERATION$1},{all:function(iterable){var C=this,capability=newPromiseCapability$1(C),resolve=capability.resolve,reject=capability.reject,result=perform((function(){var $promiseResolve=aFunction$1(C.resolve),values=[],counter=0,remaining=1;iterate_1(iterable,(function(promise){var index=counter++,alreadyCalled=!1;values.push(void 0),remaining++,$promiseResolve.call(C,promise).then((function(value){alreadyCalled||(alreadyCalled=!0,values[index]=value,--remaining||resolve(values))}),reject)})),--remaining||resolve(values)}));return result.error&&reject(result.value),capability.promise},race:function(iterable){var C=this,capability=newPromiseCapability$1(C),reject=capability.reject,result=perform((function(){var $promiseResolve=aFunction$1(C.resolve);iterate_1(iterable,(function(promise){$promiseResolve.call(C,promise).then(capability.resolve,reject)}))}));return result.error&&reject(result.value),capability.promise}}),_export({target:"Promise",stat:!0},{allSettled:function(iterable){var C=this,capability=newPromiseCapability.f(C),resolve=capability.resolve,reject=capability.reject,result=perform((function(){var promiseResolve=aFunction$1(C.resolve),values=[],counter=0,remaining=1;iterate_1(iterable,(function(promise){var index=counter++,alreadyCalled=!1;values.push(void 0),remaining++,promiseResolve.call(C,promise).then((function(value){alreadyCalled||(alreadyCalled=!0,values[index]={status:"fulfilled",value:value},--remaining||resolve(values))}),(function(e){alreadyCalled||(alreadyCalled=!0,values[index]={status:"rejected",reason:e},--remaining||resolve(values))}))})),--remaining||resolve(values)}));return result.error&&reject(result.value),capability.promise}});var NON_GENERIC=!!nativePromiseConstructor&&fails((function(){nativePromiseConstructor.prototype.finally.call({then:function(){}},(function(){}))}));_export({target:"Promise",proto:!0,real:!0,forced:NON_GENERIC},{finally:function(onFinally){var C=speciesConstructor(this,getBuiltIn("Promise")),isFunction="function"==typeof onFinally;return this.then(isFunction?function(x){return promiseResolve(C,onFinally()).then((function(){return x}))}:onFinally,isFunction?function(e){return promiseResolve(C,onFinally()).then((function(){throw e}))}:onFinally)}}),"function"!=typeof nativePromiseConstructor||nativePromiseConstructor.prototype.finally||redefine(nativePromiseConstructor.prototype,"finally",getBuiltIn("Promise").prototype.finally);var promise$1=path.Promise,setInternalState$3=internalState.set,getInternalAggregateErrorState=internalState.getterFor("AggregateError"),$AggregateError=function(errors,message){var that=this;if(!(that instanceof $AggregateError))return new $AggregateError(errors,message);objectSetPrototypeOf&&(that=objectSetPrototypeOf(new Error(message),objectGetPrototypeOf(that)));var errorsArray=[];return iterate_1(errors,errorsArray.push,errorsArray),descriptors?setInternalState$3(that,{errors:errorsArray,type:"AggregateError"}):that.errors=errorsArray,void 0!==message&&createNonEnumerableProperty(that,"message",String(message)),that};$AggregateError.prototype=objectCreate(Error.prototype,{constructor:createPropertyDescriptor(5,$AggregateError),message:createPropertyDescriptor(5,""),name:createPropertyDescriptor(5,"AggregateError")}),descriptors&&objectDefineProperty.f($AggregateError.prototype,"errors",{get:function(){return getInternalAggregateErrorState(this).errors},configurable:!0}),_export({global:!0},{AggregateError:$AggregateError}),_export({target:"Promise",stat:!0},{try:function(callbackfn){var promiseCapability=newPromiseCapability.f(this),result=perform(callbackfn);return(result.error?promiseCapability.reject:promiseCapability.resolve)(result.value),promiseCapability.promise}});var PROMISE_ANY_ERROR="No one promise resolved";_export({target:"Promise",stat:!0},{any:function(iterable){var C=this,capability=newPromiseCapability.f(C),resolve=capability.resolve,reject=capability.reject,result=perform((function(){var promiseResolve=aFunction$1(C.resolve),errors=[],counter=0,remaining=1,alreadyResolved=!1;iterate_1(iterable,(function(promise){var index=counter++,alreadyRejected=!1;errors.push(void 0),remaining++,promiseResolve.call(C,promise).then((function(value){alreadyRejected||alreadyResolved||(alreadyResolved=!0,resolve(value))}),(function(e){alreadyRejected||alreadyResolved||(alreadyRejected=!0,errors[index]=e,--remaining||reject(new(getBuiltIn("AggregateError"))(errors,PROMISE_ANY_ERROR)))}))})),--remaining||reject(new(getBuiltIn("AggregateError"))(errors,PROMISE_ANY_ERROR))}));return result.error&&reject(result.value),capability.promise}});var MATCH=wellKnownSymbol("match"),isRegexp=function(it){var isRegExp;return isObject(it)&&(void 0!==(isRegExp=it[MATCH])?!!isRegExp:"RegExp"==classofRaw(it))},notARegexp=function(it){if(isRegexp(it))throw TypeError("The method doesn't accept regular expressions");return it},MATCH$1=wellKnownSymbol("match"),correctIsRegexpLogic=function(METHOD_NAME){var regexp=/./;try{"/./"[METHOD_NAME](regexp)}catch(e){try{return regexp[MATCH$1]=!1,"/./"[METHOD_NAME](regexp)}catch(f){}}return!1},getOwnPropertyDescriptor$3=objectGetOwnPropertyDescriptor.f,nativeStartsWith="".startsWith,min$2=Math.min,CORRECT_IS_REGEXP_LOGIC=correctIsRegexpLogic("startsWith"),MDN_POLYFILL_BUG=!(CORRECT_IS_REGEXP_LOGIC||(descriptor=getOwnPropertyDescriptor$3(String.prototype,"startsWith"),!descriptor||descriptor.writable)),descriptor;_export({target:"String",proto:!0,forced:!MDN_POLYFILL_BUG&&!CORRECT_IS_REGEXP_LOGIC},{startsWith:function(searchString){var that=String(requireObjectCoercible(this));notARegexp(searchString);var index=toLength(min$2(arguments.length>1?arguments[1]:void 0,that.length)),search=String(searchString);return nativeStartsWith?nativeStartsWith.call(that,search,index):that.slice(index,index+search.length)===search}});var startsWith=entryUnbind("String","startsWith"),global$1="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==global$1&&global$1,support={searchParams:"URLSearchParams"in global$1,iterable:"Symbol"in global$1&&"iterator"in Symbol,blob:"FileReader"in global$1&&"Blob"in global$1&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in global$1,arrayBuffer:"ArrayBuffer"in global$1};function isDataView(obj){return obj&&DataView.prototype.isPrototypeOf(obj)}if(support.arrayBuffer)var viewClasses=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],isArrayBufferView=ArrayBuffer.isView||function(obj){return obj&&viewClasses.indexOf(Object.prototype.toString.call(obj))>-1};function normalizeName(name){if("string"!=typeof name&&(name=String(name)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name)||""===name)throw new TypeError("Invalid character in header field name");return name.toLowerCase()}function normalizeValue(value){return"string"!=typeof value&&(value=String(value)),value}function iteratorFor(items){var iterator={next:function(){var value=items.shift();return{done:void 0===value,value:value}}};return support.iterable&&(iterator[Symbol.iterator]=function(){return iterator}),iterator}function Headers(headers){this.map={},headers instanceof Headers?headers.forEach((function(value,name){this.append(name,value)}),this):Array.isArray(headers)?headers.forEach((function(header){this.append(header[0],header[1])}),this):headers&&Object.getOwnPropertyNames(headers).forEach((function(name){this.append(name,headers[name])}),this)}function consumed(body){if(body.bodyUsed)return Promise.reject(new TypeError("Already read"));body.bodyUsed=!0}function fileReaderReady(reader){return new Promise((function(resolve,reject){reader.onload=function(){resolve(reader.result)},reader.onerror=function(){reject(reader.error)}}))}function readBlobAsArrayBuffer(blob){var reader=new FileReader,promise=fileReaderReady(reader);return reader.readAsArrayBuffer(blob),promise}function readBlobAsText(blob){var reader=new FileReader,promise=fileReaderReady(reader);return reader.readAsText(blob),promise}function readArrayBufferAsText(buf){for(var view=new Uint8Array(buf),chars=new Array(view.length),i=0;i-1?upcased:method}function Request(input,options){if(!(this instanceof Request))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var body=(options=options||{}).body;if(input instanceof Request){if(input.bodyUsed)throw new TypeError("Already read");this.url=input.url,this.credentials=input.credentials,options.headers||(this.headers=new Headers(input.headers)),this.method=input.method,this.mode=input.mode,this.signal=input.signal,body||null==input._bodyInit||(body=input._bodyInit,input.bodyUsed=!0)}else this.url=String(input);if(this.credentials=options.credentials||this.credentials||"same-origin",!options.headers&&this.headers||(this.headers=new Headers(options.headers)),this.method=normalizeMethod(options.method||this.method||"GET"),this.mode=options.mode||this.mode||null,this.signal=options.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&body)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(body),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==options.cache&&"no-cache"!==options.cache)){var reParamSearch=/([?&])_=[^&]*/;if(reParamSearch.test(this.url))this.url=this.url.replace(reParamSearch,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function decode(body){var form=new FormData;return body.trim().split("&").forEach((function(bytes){if(bytes){var split=bytes.split("="),name=split.shift().replace(/\+/g," "),value=split.join("=").replace(/\+/g," ");form.append(decodeURIComponent(name),decodeURIComponent(value))}})),form}function parseHeaders(rawHeaders){var headers=new Headers;return rawHeaders.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(line){var parts=line.split(":"),key=parts.shift().trim();if(key){var value=parts.join(":").trim();headers.append(key,value)}})),headers}function Response(bodyInit,options){if(!(this instanceof Response))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');options||(options={}),this.type="default",this.status=void 0===options.status?200:options.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in options?options.statusText:"",this.headers=new Headers(options.headers),this.url=options.url||"",this._initBody(bodyInit)}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})},Body.call(Request.prototype),Body.call(Response.prototype),Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})},Response.error=function(){var response=new Response(null,{status:0,statusText:""});return response.type="error",response};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(-1===redirectStatuses.indexOf(status))throw new RangeError("Invalid status code");return new Response(null,{status:status,headers:{location:url}})};var DOMException=global$1.DOMException;try{new DOMException}catch(err){DOMException=function(message,name){this.message=message,this.name=name;var error=Error(message);this.stack=error.stack},DOMException.prototype=Object.create(Error.prototype),DOMException.prototype.constructor=DOMException}function fetch$1(input,init){return new Promise((function(resolve,reject){var request=new Request(input,init);if(request.signal&&request.signal.aborted)return reject(new DOMException("Aborted","AbortError"));var xhr=new XMLHttpRequest;function abortXhr(){xhr.abort()}xhr.onload=function(){var options={status:xhr.status,statusText:xhr.statusText,headers:parseHeaders(xhr.getAllResponseHeaders()||"")};options.url="responseURL"in xhr?xhr.responseURL:options.headers.get("X-Request-URL");var body="response"in xhr?xhr.response:xhr.responseText;setTimeout((function(){resolve(new Response(body,options))}),0)},xhr.onerror=function(){setTimeout((function(){reject(new TypeError("Network request failed"))}),0)},xhr.ontimeout=function(){setTimeout((function(){reject(new TypeError("Network request failed"))}),0)},xhr.onabort=function(){setTimeout((function(){reject(new DOMException("Aborted","AbortError"))}),0)},xhr.open(request.method,function(url){try{return""===url&&global$1.location.href?global$1.location.href:url}catch(e){return url}}(request.url),!0),"include"===request.credentials?xhr.withCredentials=!0:"omit"===request.credentials&&(xhr.withCredentials=!1),"responseType"in xhr&&(support.blob?xhr.responseType="blob":support.arrayBuffer&&request.headers.get("Content-Type")&&-1!==request.headers.get("Content-Type").indexOf("application/octet-stream")&&(xhr.responseType="arraybuffer")),!init||"object"!=typeof init.headers||init.headers instanceof Headers?request.headers.forEach((function(value,name){xhr.setRequestHeader(name,value)})):Object.getOwnPropertyNames(init.headers).forEach((function(name){xhr.setRequestHeader(name,normalizeValue(init.headers[name]))})),request.signal&&(request.signal.addEventListener("abort",abortXhr),xhr.onreadystatechange=function(){4===xhr.readyState&&request.signal.removeEventListener("abort",abortXhr)}),xhr.send(void 0===request._bodyInit?null:request._bodyInit)}))}fetch$1.polyfill=!0,global$1.fetch||(global$1.fetch=fetch$1,global$1.Headers=Headers,global$1.Request=Request,global$1.Response=Response),null==Element.prototype.getAttributeNames&&(Element.prototype.getAttributeNames=function(){for(var attributes=this.attributes,length=attributes.length,result=new Array(length),i=0;i=0&&matches.item(i)!==this;);return i>-1}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(s){var el=this;do{if(el.matches(s))return el;el=el.parentElement||el.parentNode}while(null!==el&&1===el.nodeType);return null});var Connection=function(){function Connection(){_classCallCheck(this,Connection)}return _createClass(Connection,[{key:"onMessage",value:function(message,payload){message.component.receiveMessage(message,payload)}},{key:"onError",value:function(message,status){return message.component.messageSendFailed(),store.onErrorCallback(status)}},{key:"sendMessage",value:function(message){var _this=this,payload=message.payload();if(window.__testing_request_interceptor)return window.__testing_request_interceptor(payload,this);fetch("".concat(window.livewire_app_url,"/livewire/message/").concat(payload.fingerprint.name),{method:"POST",body:JSON.stringify(payload),credentials:"same-origin",headers:{"Content-Type":"application/json",Accept:"text/html, application/xhtml+xml","X-CSRF-TOKEN":getCsrfToken(),"X-Socket-ID":this.getSocketId(),"X-Livewire":!0,Referer:window.location.href}}).then((function(response){if(response.ok)response.text().then((function(response){_this.isOutputFromDump(response)?(_this.onError(message),_this.showHtmlModal(response)):_this.onMessage(message,JSON.parse(response))}));else{if(!1===_this.onError(message,response.status))return;if(419===response.status){if(store.sessionHasExpired)return;store.sessionHasExpired=!0,confirm("This page has expired due to inactivity.\nWould you like to refresh the page?")&&window.location.reload()}else response.text().then((function(response){_this.showHtmlModal(response)}))}})).catch((function(){_this.onError(message)}))}},{key:"isOutputFromDump",value:function(output){return!!output.match(/ +@endpush diff --git a/resources/views/components/documents/form/line-item.blade.php b/resources/views/components/documents/form/line-item.blade.php index ebd9ba116..e93ff799c 100644 --- a/resources/views/components/documents/form/line-item.blade.php +++ b/resources/views/components/documents/form/line-item.blade.php @@ -78,7 +78,7 @@ @if (!$hideQuantity)
@stack('quantity_input_start') - @stack('discount_input_start')
-
+
- - - + +
@stack('taxes_input_end')
- +
{{ Form::moneyGroup('tax', '', '', ['required' => 'required', 'disabled' => 'true' , 'row-input' => 'true', 'v-model' => 'row_tax.price', 'data-item' => 'total', 'currency' => $currency, 'dynamic-currency' => 'currency'], 0.00, 'text-right input-price disabled-money') }} @@ -243,7 +248,7 @@
- {{ trans_choice('general.taxes', 1) }} + {{ trans_choice('general.taxes', 1) }}
@stack('taxes_input_start') @@ -256,6 +261,7 @@ :placeholder="'{{ trans('general.form.select.field', ['field' => trans_choice('general.taxes', 1)]) }}'" :name="'items.' + index + '.taxes.999'" :options="{{ json_encode($taxes->pluck('title', 'id')) }}" + :dynamic-options="dynamic_taxes" :disabled-options="form.items[index].tax_ids" :value="tax_id" :add-new="{{ json_encode([ @@ -281,7 +287,7 @@ ])}}" @interface="tax_id = $event" @visible-change="onSelectedTax(index)" - @new="taxes.push($event)" + @new="dynamic_taxes.push($event)" :form-error="form.errors.get('items.' + index + '.taxes')" :no-data-text="'{{ trans('general.no_data') }}'" :no-matching-data-text="'{{ trans('general.no_matching_data') }}'" diff --git a/resources/views/components/documents/form/totals.blade.php b/resources/views/components/documents/form/totals.blade.php index 45b2b2e20..0d1525198 100644 --- a/resources/views/components/documents/form/totals.blade.php +++ b/resources/views/components/documents/form/totals.blade.php @@ -49,27 +49,32 @@
-
-
+
+
- - - + +
{!! Form::number('pre_discount', null, ['id' => 'pre-discount', 'class' => 'form-control', 'v-model' => 'form.discount']) !!}
-
+
{{ trans('invoices.discount_desc') }}
+
-
-
-
- - - - @stack('name_th_start') - @if (!$hideItems || (!$hideName && !$hideDescription)) - - @endif - @stack('name_th_end') - - @stack('quantity_th_start') - @if (!$hideQuantity) - - @endif - @stack('quantity_th_end') - - @stack('price_th_start') - @if (!$hidePrice) - - @endif - @stack('price_th_end') - - @if (!$hideDiscount) - @if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both'])) - @stack('discount_td_start') - - @stack('discount_td_end') - @endif - @endif - - @stack('total_th_start') - @if (!$hideAmount) - - @endif - @stack('total_th_end') - - - - - @if ($document->items->count()) - @foreach($document->items as $item) - - @endforeach - @else +@if (!$hideItems) +
+
+
+
{{ (trans_choice($textItems, 2) != $textItems) ? trans_choice($textItems, 2) : trans($textItems) }}{{ trans($textQuantity) }}{{ trans($textPrice) }}{{ trans('invoices.discount') }}{{ trans($textAmount) }}
+ - + @stack('name_th_start') + @if (!$hideItems || (!$hideName && !$hideDescription)) + + @endif + @stack('name_th_end') + + @stack('quantity_th_start') + @if (!$hideQuantity) + + @endif + @stack('quantity_th_end') + + @stack('price_th_start') + @if (!$hidePrice) + + @endif + @stack('price_th_end') + + @if (!$hideDiscount) + @if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both'])) + @stack('discount_td_start') + + @stack('discount_td_end') + @endif + @endif + + @stack('total_th_start') + @if (!$hideAmount) + + @endif + @stack('total_th_end') - @endif - -
- {{ trans('documents.empty_items') }} - {{ (trans_choice($textItems, 2) != $textItems) ? trans_choice($textItems, 2) : trans($textItems) }}{{ trans($textQuantity) }}{{ trans($textPrice) }}{{ trans('invoices.discount') }}{{ trans($textAmount) }}
+ + + + @if ($document->items->count()) + @foreach($document->items as $item) + + @endforeach + @else + + + {{ trans('documents.empty_items') }} + + + @endif + + +
-
+@endif
diff --git a/resources/views/components/documents/template/default.blade.php b/resources/views/components/documents/template/default.blade.php index e1db7f289..124b1ab51 100644 --- a/resources/views/components/documents/template/default.blade.php +++ b/resources/views/components/documents/template/default.blade.php @@ -160,73 +160,75 @@
-
-
-
- - - - @stack('name_th_start') - @if (!$hideItems || (!$hideName && !$hideDescription)) - - @endif - @stack('name_th_end') - - @stack('quantity_th_start') - @if (!$hideQuantity) - - @endif - @stack('quantity_th_end') - - @stack('price_th_start') - @if (!$hidePrice) - - @endif - @stack('price_th_end') - - @if (!$hideDiscount) - @if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both'])) - @stack('discount_td_start') - - @stack('discount_td_end') - @endif - @endif - - @stack('total_th_start') - @if (!$hideAmount) - - @endif - @stack('total_th_end') - - - - @if ($document->items->count()) - @foreach($document->items as $item) - - @endforeach - @else +@if (!$hideItems) +
+
+
+
{{ (trans_choice($textItems, 2) != $textItems) ? trans_choice($textItems, 2) : trans($textItems) }}{{ trans($textQuantity) }}{{ trans($textPrice) }}{{ trans('invoices.discount') }}{{ trans($textAmount) }}
+ - + @stack('name_th_start') + @if (!$hideItems || (!$hideName && !$hideDescription)) + + @endif + @stack('name_th_end') + + @stack('quantity_th_start') + @if (!$hideQuantity) + + @endif + @stack('quantity_th_end') + + @stack('price_th_start') + @if (!$hidePrice) + + @endif + @stack('price_th_end') + + @if (!$hideDiscount) + @if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both'])) + @stack('discount_td_start') + + @stack('discount_td_end') + @endif + @endif + + @stack('total_th_start') + @if (!$hideAmount) + + @endif + @stack('total_th_end') - @endif - -
- {{ trans('documents.empty_items') }} - {{ (trans_choice($textItems, 2) != $textItems) ? trans_choice($textItems, 2) : trans($textItems) }}{{ trans($textQuantity) }}{{ trans($textPrice) }}{{ trans('invoices.discount') }}{{ trans($textAmount) }}
+ + + @if ($document->items->count()) + @foreach($document->items as $item) + + @endforeach + @else + + + {{ trans('documents.empty_items') }} + + + @endif + + +
-
+@endif
diff --git a/resources/views/components/documents/template/line-item.blade.php b/resources/views/components/documents/template/line-item.blade.php index e2777ab25..8f401b63a 100644 --- a/resources/views/components/documents/template/line-item.blade.php +++ b/resources/views/components/documents/template/line-item.blade.php @@ -33,7 +33,11 @@ @if (!$hideDiscount) @if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both'])) @stack('discount_td_start') - {{ $item->discount }} + @if ($item->discount_type === 'percentage') + {{ $item->discount }} + @else + @money($item->discount, $document->currency_code, true) + @endif @stack('discount_td_end') @endif @endif diff --git a/resources/views/components/documents/template/modern.blade.php b/resources/views/components/documents/template/modern.blade.php index f3d5be935..89de5ac58 100644 --- a/resources/views/components/documents/template/modern.blade.php +++ b/resources/views/components/documents/template/modern.blade.php @@ -150,73 +150,75 @@
-
-
-
- - - - @stack('name_th_start') - @if (!$hideItems || (!$hideName && !$hideDescription)) - - @endif - @stack('name_th_end') - - @stack('quantity_th_start') - @if (!$hideQuantity) - - @endif - @stack('quantity_th_end') - - @stack('price_th_start') - @if (!$hidePrice) - - @endif - @stack('price_th_end') - - @if (!$hideDiscount) - @if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both'])) - @stack('discount_td_start') - - @stack('discount_td_end') - @endif - @endif - - @stack('total_th_start') - @if (!$hideAmount) - - @endif - @stack('total_th_end') - - - - @if ($document->items->count()) - @foreach($document->items as $item) - - @endforeach - @else +@if (!$hideItems) +
+
+
+
{{ (trans_choice($textItems, 2) != $textItems) ? trans_choice($textItems, 2) : trans($textItems) }}{{ trans($textQuantity) }}{{ trans($textPrice) }}{{ trans('invoices.discount') }}{{ trans($textAmount) }}
+ - + @stack('name_th_start') + @if (!$hideItems || (!$hideName && !$hideDescription)) + + @endif + @stack('name_th_end') + + @stack('quantity_th_start') + @if (!$hideQuantity) + + @endif + @stack('quantity_th_end') + + @stack('price_th_start') + @if (!$hidePrice) + + @endif + @stack('price_th_end') + + @if (!$hideDiscount) + @if (in_array(setting('localisation.discount_location', 'total'), ['item', 'both'])) + @stack('discount_td_start') + + @stack('discount_td_end') + @endif + @endif + + @stack('total_th_start') + @if (!$hideAmount) + + @endif + @stack('total_th_end') - @endif - -
- {{ trans('documents.empty_items') }} - {{ (trans_choice($textItems, 2) != $textItems) ? trans_choice($textItems, 2) : trans($textItems) }}{{ trans($textQuantity) }}{{ trans($textPrice) }}{{ trans('invoices.discount') }}{{ trans($textAmount) }}
+ + + @if ($document->items->count()) + @foreach($document->items as $item) + + @endforeach + @else + + + {{ trans('documents.empty_items') }} + + + @endif + + +
-
+@endif
diff --git a/resources/views/components/transactions/show/header.blade.php b/resources/views/components/transactions/show/header.blade.php index cfd2895b8..2f369b37c 100644 --- a/resources/views/components/transactions/show/header.blade.php +++ b/resources/views/components/transactions/show/header.blade.php @@ -7,7 +7,9 @@ - {{ $transaction->account->name }} + + {{ $transaction->account->name }} +

diff --git a/resources/views/components/transactions/show/top-buttons.blade.php b/resources/views/components/transactions/show/top-buttons.blade.php index 9481840e9..56a63bf0e 100644 --- a/resources/views/components/transactions/show/top-buttons.blade.php +++ b/resources/views/components/transactions/show/top-buttons.blade.php @@ -8,6 +8,7 @@ diff --git a/resources/views/components/transfers/show/content.blade.php b/resources/views/components/transfers/show/content.blade.php index aeb4624e3..e47fa613a 100644 --- a/resources/views/components/transfers/show/content.blade.php +++ b/resources/views/components/transfers/show/content.blade.php @@ -8,6 +8,8 @@ hide-header-to-account="{{ $hideHeaderToAccount }}" text-header-to-account="{{ $textHeaderToAccount }}" class-header-to-account="{{ $classHeaderToAccount }}" + route-from-account-show="{{ $routeFromAccountShow }}" + route-to-account-show="{{ $routeToAccountShow }}" hide-header-amount="{{ $hideHeaderAmount }}" text-header-amount="{{ $textHeaderAmount }}" class-header-amount="{{ $classHeaderAmount }}" diff --git a/resources/views/components/transfers/show/header.blade.php b/resources/views/components/transfers/show/header.blade.php index f5dea97d5..f0d0c5da9 100644 --- a/resources/views/components/transfers/show/header.blade.php +++ b/resources/views/components/transfers/show/header.blade.php @@ -7,7 +7,9 @@ - {{ $transfer->expense_transaction->account->name }} + + {{ $transfer->expense_transaction->account->name }} +

@@ -23,7 +25,9 @@ - {{ $transfer->income_transaction->account->name }} + + {{ $transfer->income_transaction->account->name }} +

diff --git a/resources/views/livewire/common/notifications/exports.blade.php b/resources/views/livewire/common/notifications/exports.blade.php index 8f7a57bc8..2aff2a018 100644 --- a/resources/views/livewire/common/notifications/exports.blade.php +++ b/resources/views/livewire/common/notifications/exports.blade.php @@ -1,4 +1,4 @@ -
+
-
+
@if ($notifications->total())
diff --git a/resources/views/livewire/common/notifications/imports.blade.php b/resources/views/livewire/common/notifications/imports.blade.php index bd9aeab25..61050da1f 100644 --- a/resources/views/livewire/common/notifications/imports.blade.php +++ b/resources/views/livewire/common/notifications/imports.blade.php @@ -1,4 +1,4 @@ -
+
-
+
@if ($notifications->total())
diff --git a/resources/views/livewire/common/notifications/new-apps.blade.php b/resources/views/livewire/common/notifications/new-apps.blade.php index 875cc94cb..cfdb5c30b 100644 --- a/resources/views/livewire/common/notifications/new-apps.blade.php +++ b/resources/views/livewire/common/notifications/new-apps.blade.php @@ -1,4 +1,4 @@ -
+
@@ -20,7 +20,7 @@
-
+
@if ($notifications)
diff --git a/resources/views/livewire/common/notifications/recurring.blade.php b/resources/views/livewire/common/notifications/recurring.blade.php index b99048efd..dbfe49d2e 100644 --- a/resources/views/livewire/common/notifications/recurring.blade.php +++ b/resources/views/livewire/common/notifications/recurring.blade.php @@ -1,4 +1,4 @@ -
+
-
+
@if ($notifications->total())
diff --git a/resources/views/livewire/common/notifications/reminder.blade.php b/resources/views/livewire/common/notifications/reminder.blade.php index 85aa0b053..322312699 100644 --- a/resources/views/livewire/common/notifications/reminder.blade.php +++ b/resources/views/livewire/common/notifications/reminder.blade.php @@ -1,4 +1,4 @@ -
+
-
+
@if ($notifications->total())
diff --git a/resources/views/partials/form/multi_select_add_new_group.blade.php b/resources/views/partials/form/multi_select_add_new_group.blade.php index efb9d5af2..372becb22 100644 --- a/resources/views/partials/form/multi_select_add_new_group.blade.php +++ b/resources/views/partials/form/multi_select_add_new_group.blade.php @@ -79,6 +79,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/form/multi_select_group.blade.php b/resources/views/partials/form/multi_select_group.blade.php index ce33f842e..c2044179c 100644 --- a/resources/views/partials/form/multi_select_group.blade.php +++ b/resources/views/partials/form/multi_select_group.blade.php @@ -57,6 +57,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/form/multi_select_remote_add_new_group.blade.php b/resources/views/partials/form/multi_select_remote_add_new_group.blade.php index e1143eff7..c17430852 100644 --- a/resources/views/partials/form/multi_select_remote_add_new_group.blade.php +++ b/resources/views/partials/form/multi_select_remote_add_new_group.blade.php @@ -81,6 +81,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/form/multi_select_remote_group.blade.php b/resources/views/partials/form/multi_select_remote_group.blade.php index c7a81485f..414765df9 100644 --- a/resources/views/partials/form/multi_select_remote_group.blade.php +++ b/resources/views/partials/form/multi_select_remote_group.blade.php @@ -59,6 +59,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/form/select_add_new_group.blade.php b/resources/views/partials/form/select_add_new_group.blade.php index 5a794570a..7f85f7e24 100644 --- a/resources/views/partials/form/select_add_new_group.blade.php +++ b/resources/views/partials/form/select_add_new_group.blade.php @@ -73,6 +73,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/form/select_group.blade.php b/resources/views/partials/form/select_group.blade.php index eb65ed6e2..7e2b38b49 100644 --- a/resources/views/partials/form/select_group.blade.php +++ b/resources/views/partials/form/select_group.blade.php @@ -51,6 +51,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/form/select_group_add_new_group.blade.php b/resources/views/partials/form/select_group_add_new_group.blade.php index 8ca502b84..44e66909f 100644 --- a/resources/views/partials/form/select_group_add_new_group.blade.php +++ b/resources/views/partials/form/select_group_add_new_group.blade.php @@ -75,6 +75,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/form/select_group_group.blade.php b/resources/views/partials/form/select_group_group.blade.php index da7a7aca2..726678db5 100644 --- a/resources/views/partials/form/select_group_group.blade.php +++ b/resources/views/partials/form/select_group_group.blade.php @@ -53,6 +53,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/form/select_remote_add_new_group.blade.php b/resources/views/partials/form/select_remote_add_new_group.blade.php index 9149437a8..0f512aca3 100644 --- a/resources/views/partials/form/select_remote_add_new_group.blade.php +++ b/resources/views/partials/form/select_remote_add_new_group.blade.php @@ -75,6 +75,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/form/select_remote_group.blade.php b/resources/views/partials/form/select_remote_group.blade.php index 8492f36b1..29a6c522c 100644 --- a/resources/views/partials/form/select_remote_group.blade.php +++ b/resources/views/partials/form/select_remote_group.blade.php @@ -53,6 +53,12 @@ :readonly="{{ $attributes['readonly'] }}" @endif + @if (isset($attributes['clearable'])) + :clearable="{{ $attributes['clearable'] }}" + @else + clearable + @endif + @if (isset($attributes['disabled'])) :disabled="{{ $attributes['disabled'] }}" @endif diff --git a/resources/views/partials/reports/filter.blade.php b/resources/views/partials/reports/filter.blade.php index 2fd2c4243..e19b15e02 100644 --- a/resources/views/partials/reports/filter.blade.php +++ b/resources/views/partials/reports/filter.blade.php @@ -73,6 +73,14 @@ 'value' => \Date::now()->year, ]; } + + if (old($key) || request()->get($key)) { + $filtered[] = [ + 'option' => $key, + 'operator' => '=', + 'value' => old($key, request()->get($key)), + ]; + } } @endphp diff --git a/resources/views/purchases/payments/create.blade.php b/resources/views/purchases/payments/create.blade.php index 0ff1146b6..0dd8b1ceb 100644 --- a/resources/views/purchases/payments/create.blade.php +++ b/resources/views/purchases/payments/create.blade.php @@ -6,7 +6,7 @@
{!! Form::open([ 'route' => 'payments.store', - 'id' => 'payment', + 'id' => 'transaction', '@submit.prevent' => 'onSubmit', '@keydown' => 'form.errors.clear($event.target.name)', 'files' => true, @@ -56,5 +56,5 @@ @endsection @push('scripts_start') - + @endpush diff --git a/resources/views/purchases/payments/edit.blade.php b/resources/views/purchases/payments/edit.blade.php index 09d043d85..6e0f7d85c 100644 --- a/resources/views/purchases/payments/edit.blade.php +++ b/resources/views/purchases/payments/edit.blade.php @@ -27,7 +27,7 @@ 'files' => true, 'route' => ['payments.update', $payment->id], 'role' => 'form', - 'id' => 'payment', + 'id' => 'transaction', '@submit.prevent' => 'onSubmit', '@keydown' => 'form.errors.clear($event.target.name)', 'class' => 'form-loading-button', @@ -80,5 +80,5 @@ @endsection @push('scripts_start') - + @endpush diff --git a/resources/views/purchases/payments/index.blade.php b/resources/views/purchases/payments/index.blade.php index 803aedaef..76c59d175 100644 --- a/resources/views/purchases/payments/index.blade.php +++ b/resources/views/purchases/payments/index.blade.php @@ -125,5 +125,5 @@ @endsection @push('scripts_start') - + @endpush diff --git a/resources/views/sales/revenues/create.blade.php b/resources/views/sales/revenues/create.blade.php index 5d943090e..676e4e667 100644 --- a/resources/views/sales/revenues/create.blade.php +++ b/resources/views/sales/revenues/create.blade.php @@ -6,7 +6,7 @@
{!! Form::open([ 'route' => 'revenues.store', - 'id' => 'revenue', + 'id' => 'transaction', '@submit.prevent' => 'onSubmit', '@keydown' => 'form.errors.clear($event.target.name)', 'files' => true, @@ -56,5 +56,5 @@ @endsection @push('scripts_start') - + @endpush diff --git a/resources/views/sales/revenues/edit.blade.php b/resources/views/sales/revenues/edit.blade.php index 3f5c5d696..60179550e 100644 --- a/resources/views/sales/revenues/edit.blade.php +++ b/resources/views/sales/revenues/edit.blade.php @@ -27,7 +27,7 @@ 'files' => true, 'route' => ['revenues.update', $revenue->id], 'role' => 'form', - 'id' => 'revenue', + 'id' => 'transaction', '@submit.prevent' => 'onSubmit', '@keydown' => 'form.errors.clear($event.target.name)', 'class' => 'form-loading-button', @@ -80,5 +80,5 @@ @endsection @push('scripts_start') - + @endpush diff --git a/resources/views/sales/revenues/index.blade.php b/resources/views/sales/revenues/index.blade.php index 96761911d..a15ae6c8d 100644 --- a/resources/views/sales/revenues/index.blade.php +++ b/resources/views/sales/revenues/index.blade.php @@ -55,7 +55,7 @@
{{ $item->contact->name }} - @if($item->invoice) + @if ($item->invoice) @if ($item->invoice->status == 'paid') + @endpush diff --git a/routes/admin.php b/routes/admin.php index f9fe0d7eb..39152ee28 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -128,14 +128,20 @@ Route::group(['prefix' => 'purchases'], function () { Route::group(['prefix' => 'banking'], function () { Route::get('accounts/currency', 'Banking\Accounts@currency')->name('accounts.currency'); + Route::get('accounts/{account}/create-revenue', 'Banking\Accounts@createRevenue')->name('accounts.create-revenue'); + Route::get('accounts/{account}/create-payment', 'Banking\Accounts@createPayment')->name('accounts.create-payment'); + Route::get('accounts/{account}/create-transfer', 'Banking\Accounts@createTransfer')->name('accounts.create-transfer'); + Route::get('accounts/{account}/see-performance', 'Banking\Accounts@seePerformance')->name('accounts.see-performance'); Route::get('accounts/{account}/enable', 'Banking\Accounts@enable')->name('accounts.enable'); Route::get('accounts/{account}/disable', 'Banking\Accounts@disable')->name('accounts.disable'); + Route::get('accounts/{account}/duplicate', 'Banking\Accounts@duplicate')->name('accounts.duplicate'); Route::resource('accounts', 'Banking\Accounts', ['middleware' => ['date.format', 'money']]); Route::post('transactions/import', 'Banking\Transactions@import')->name('transactions.import'); Route::get('transactions/export', 'Banking\Transactions@export')->name('transactions.export'); - Route::resource('transactions', 'Banking\Transactions'); + Route::resource('transactions', 'Banking\Transactions'); + Route::get('transfers/{transfer}/print', 'Banking\Transfers@printTransfer')->name('transfers.print'); Route::get('transfers/{transfer}/pdf', 'Banking\Transfers@pdfTransfer')->name('transfers.pdf'); Route::get('transfers/{transfer}/duplicate', 'Banking\Transfers@duplicate')->name('transfers.duplicate'); diff --git a/webpack.mix.js b/webpack.mix.js index bb98be4f7..f39f4eda3 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -46,11 +46,9 @@ mix .js('resources/assets/js/views/common/reports.js', 'public/js/common') // Sales - .js('resources/assets/js/views/sales/revenues.js', 'public/js/sales') .js('resources/assets/js/views/sales/customers.js', 'public/js/sales') // Purchases - .js('resources/assets/js/views/purchases/payments.js', 'public/js/purchases') .js('resources/assets/js/views/purchases/vendors.js', 'public/js/purchases') // Install