diff --git a/.env.example b/.env.example
index a0eb5f16c..b225aed84 100644
--- a/.env.example
+++ b/.env.example
@@ -1,6 +1,6 @@
APP_NAME=Bagisto
APP_ENV=local
-APP_VERSION=1.4.3
+APP_VERSION=1.4.4
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 95a036bd5..3759feba0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -2,6 +2,9 @@ name: CI
on: [push, pull_request]
+permissions:
+ contents: read
+
jobs:
tests:
runs-on: ${{ matrix.operating-system }}
diff --git a/CHANGELOG for v1.x.x.md b/CHANGELOG for v1.x.x.md
index 14f9db8e7..a1820ae5a 100644
--- a/CHANGELOG for v1.x.x.md
+++ b/CHANGELOG for v1.x.x.md
@@ -2,6 +2,209 @@
This changelog consists of the bug & security fixes and new features being included in the releases listed below.
+## **v1.4.4 (30th of August 2022)** - *Release*
+
+* #5584 [feature] - there should be an feature so that when we click on mark as read , notification box should close.
+
+* #5463 [feature] - there should be a button so that we should clear all filters.
+
+* [enhancement] - Optimized product
+
+* [enhancement] - Optimized cart
+
+* [enhancement] - Refactored code
+
+* #6556 [enhancement] - Cart Rule -. Validation should be applied in Coupon Code uses per customer and used per coupon section.
+
+* #6555 [enhancement] - Cart Rule - Auto Generate Coupon Code details at bottom must not visible when we switch to Manual Coupon Code.
+
+* #6501 [enhancement] - Cart item prices rounded with precision of 2 resulting in rounding errors after applying taxes.
+
+* #6494 [enhancement] - The product's URL_KEY should not be changed if the admin is editing the product's name for another locale.
+
+* #6464 [enhancement] - UI - In Table Booking Product, Special Request/Notes must be in Bold for Main Cart.
+
+* #6458 [enhancement] - There should be the validations for the input fields if the admin is trying to create catalog rules.
+
+* #6452 [enhancement] - The page should be open on the next tab when the admin is trying to view the CMS pages.
+
+* #6427 [enhancement] - The mouse property should be not-allowed if the cart is empty. in default theme.
+
+* #6426 [enhancement] - The warning message should be correct if the admin is trying to ship the invalid product quantity.
+
+* #6417 [enhancement] - There should be a flash message [ Coupan is already applied ] if the user is trying to apply the same coupon multiple times.
+
+* #6408 [enhancement] - The name of the applied filters should be meaningful if the customer is trying to filter the orders.
+
+* #6393 [enhancement] - The page should not be refreshed if the customer is trying to apply the same coupon multiple times.
+
+* #6371 [enhancement] - There should be a flash message for customers when the cart rule is applied on the checkout page.
+
+* #6358 [enhancement] - Unable to see any notification on Coupon Applied on the Checkout Page.
+
+* #6355 [enhancement] - There should be a preview option in the CMS pages table.
+
+* #6327 [enhancement] - Add Missing Language Folder In All Package
+
+* #6273 [enhancement] - There should be a tooltip message, after copying the wishlist share link
+
+* #5801 [enhancement] - Maximum video uploading size should be mentioned when we create product.
+
+* #5464 [enhancement] - there should be an image icon of user profile image.
+
+* #6545 [fixed] - The admin should be able to create transactions only with the Grand Total amount of the order.
+
+* #6406 [fixed] - Discount should be shown only for the product for which we created a catalog rule.
+
+* #6312 [fixed] - The billing address should not be saved multiple times, if the customer is clicking on save address checkbox in multiple times.
+
+* #6654 [fixed] - The size of the image card should be fixed. on the home page.
+
+* #6644 [fixed] - Trimming should be added for the search string.
+
+* #6640 [fixed] - There should not be any alert box if the admin is trying to filter the products.
+
+* #6635 [fixed] - The page should not be redirected to the wishlist page when the customer removes any product from the wishlist.
+
+* #6632 [fixed] - There add to cart and the wishlist button are adjusting if the customer is trying to view any product.
+
+* #6609 [fixed] - The wishlist should not get empty after deleting the all product of the second-page wishlist.
+
+* #6606 [fixed] - The admin should be able to upload and remove the product's image.
+
+* #6558 [fixed] - The cross icon should be just before the calendar icon if the customer is trying to select the appointment date for booking the product.
+
+* #6554 [fixed] - The discount amount cannot be greater than 100 if the action type is the Percentage of the product.
+
+* #6547 [fixed] - The product video should be played properly if any.
+
+* #6518 [fixed] - The admin should be able to update the product's status by mass action.
+
+* #6514 [fixed] - The save as category button should not be clicked automatically if the admin is pressing the enter key for the searching product.
+
+* #6509 [fixed] - There is an exception if the admin is trying to search products from the category page.
+
+* #6507 [fixed] - Notification url is broken when admin_url is changed.
+
+* #6505 [fixed] - The model box should be in the center of the page if the user is clicking on Quick view for any produt.
+
+* #6492 [fixed] - There is a UI issue if the user is trying to view the compared products in Arabic locale.
+
+* #6485 [fixed] - The trash icon should be on the right side of the text if the user is trying to view the shopping cart in the Arabic locale.
+
+* #6484 [fixed] - The admin is not able to logout on the mobile view.
+
+* #6479 [fixed] - The position of the top bar should be fixed if the customer is trying to view any order in mobile view.
+
+* #6471 [fixed] - UI Issue - In Customer Profile Edit option, there we can see the Calendar Logo at DOB is inappropriate.
+
+* #6469 [fixed] - Translation Issue in the Configure Section related to Number.
+
+* #6463 [fixed] - There should not be an exception if the admin is trying to add a new variant for the configurable product.
+
+* #6461 [fixed] - There should not be any warning message for the default empty option if the admin is trying to create/edit any attribute.
+
+* #6459 [fixed] - Only the review should be deleted which the user wants to delete.
+
+* #6453 [fixed] - The new customer is not able to login properly when the another user is logging out.
+
+* #6447 [fixed] - There should not be an exception if the customer is trying to add that product to the wishlist which is deleted by the admin.
+
+* #6444 [fixed] - The page should be redirected to the login page if the guest user is trying to move products from compare to wishlist.
+
+* #6443 [fixed] - The height of Add to cart button should be a little less on compare page.
+
+* #6442 [fixed] - The products should be in proper alignment if there are multiple products in the compare list.
+
+* #6441 [fixed] - The customer should be able to share the wishlist product if the share link is already generated.
+
+* #6434 [fixed] - There should not be any translation issue in the checkout page, if the customer is trying to place an order.
+
+* #6430 [fixed] - The admin should not be able to create a transaction for an invoice with the incorrect Transaction amount
+
+* #6429 [fixed] - The user should not be able to add products into the cart with 0 quantity.
+
+* #6425 [fixed] - The sidebar submenu dropdown icon should be shown properly if the admin is changing the English from LTR to RTL.
+
+* #6423 [fixed] - The order status should be shown properly in the admin panel. if the status of the order is payment pending.
+
+* #6419 [fixed] - There is an exception if the admin is trying to add transactions for any invoice.
+
+* #6407 [fixed] - The user should not be able to place the order if the user is inactive.
+
+* #6402 [fixed] - Only the address should be deleted which the user wants to delete.
+
+* #6401 [fixed] - There is no option to view compare items for guests.
+
+* #6400 [fixed] - The success message should not be shown multiple times if the user is trying to remove the applied coupon.
+
+* #6397 [fixed] - The should not be an exception if the guest is trying to log in after deleting all the cart items.
+
+* #6390 [fixed] - The radio button should be toggle only after clicking on the radio button's in admin panel
+
+* #6389 [fixed] - The share wishlist and delete button should not overlap the sidebar in mobile view.
+
+* #6386 [fixed] - The Products Ordered label should be highlighted if there is an error, while the admin is trying to create a ship for the order in dark mode.
+
+* #6385 [fixed] - There should be a search icon if the customer is trying to search the orders.
+
+* #6384 [fixed] - The product's image should not be out of the product card if the user is trying to view products in list mode.
+
+* #6370 [fixed] - At least one shipping and payment method should be available.
+
+* #6369 [fixed] - The product images are overriding if there are multiple products in the cart.
+
+* #6368 [fixed] - There should be an option to update the cart if the customer is adding downloadable and simple products into the cart.
+
+* #6366 [fixed] - The product's image is adjusted when the user is trying to view any variant of the configurable product
+
+* #6365 [fixed] - The bullet symbol should be visible if the user is trying to change the product's image in a quick view popup box.
+
+* #6364 [fixed] - The warning message should be correct when the condition is not matching with cart rule while the user is applying a coupon.
+
+* #6362 [fixed] - There should be some space between the share and delete buttons on the wishlist page.
+
+* #6349 [fixed] - The filter value should be correct if the admin is trying to filter the customers by the status filter
+
+* #6346 [fixed] - There should not be any extra space between the update cart and the delete all items button, on the shopping cart page.
+
+* #6344 [fixed] - The calendar icon is not showing when the admin is trying to filter the orders by date in dark mode.
+
+* #6341 [fixed] - There is some extra space between the product image and add to cart button in the mobile view
+
+* #6340 [fixed] - By default maximum price should be selected if the user is trying to filter a product by price filter.
+
+* #6339 [fixed] - The Add to cart button should not be disabled if any one product is inactive of the group product.
+
+* #6335 [fixed] - The translation is missing for slot dropdown if the user is trying to book any product
+
+* #6334 [fixed] - The quantity field should not take a negative value if the admin is trying to edit the quantity
+
+* #6333 [fixed] - The country dropdown should be in the Ascending order when the customer is adding the delivery address on the checkout page.
+
+* #6332 [fixed] - The calendar Icon should be on the left side of the input box in the Arabic locale when the customer is editing the profile.
+
+* #6331 [fixed] - The location and the calendar Icon should be slightly right side in the Arabic locale when the customer is trying to book any product.
+
+* #6324 [fixed] - The warning message should be correct if the admin is trying to upload an invalid image format for the profile image.
+
+* #6319 [fixed] - The calendar icon is in the center of the input box. if the customer is trying to book the product.
+
+* #6318 [fixed] - The add to cart button should be in proper alignment inside the compare page.
+
+* #6317 [fixed] - The page should be redirected to the product view page. if the user clicks on the product image inside the mini cart.
+
+* #6313 [fixed] - The warning message should be correct if the customer is selecting the PayPal Smart Button payment method with an invalid country code
+
+* #6288 [fixed] - The delete button is overriding on share button if the customer is trying to view the wishlist products on mobile view.
+
+* #6277 [fixed] - Checkout redirects when a carrier has more than one shipping method
+
+* #6276 [fixed] - The product's image should be visible properly in mobile view.
+
+* #6271 [fixed] - There should not be any warning message if the user is trying to book a rental product for multiple hours.
+
+
## **v1.4.3 (20th of April 2022)** - *Release*
* #6213 [feature] - Command For Bagisto Publish
diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php
index 273907b64..438d47344 100644
--- a/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php
+++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php
@@ -80,58 +80,68 @@ class TransactionController extends Controller
$invoice = $this->invoiceRepository->where('increment_id', $request->invoice_id)->first();
- if ($invoice) {
- if ($invoice->state == 'paid') {
- session()->flash('info', trans('admin::app.sales.transactions.response.already-paid'));
+ if (! $invoice) {
+ session()->flash('error', trans('admin::app.sales.transactions.response.invoice-missing'));
- return redirect(route('admin.sales.transactions.index'));
- }
-
- if ($request->amount > $invoice->base_grand_total) {
- session()->flash('info', trans('admin::app.sales.transactions.response.transaction-amount-exceeds'));
-
- return redirect(route('admin.sales.transactions.create'));
- } else {
- $order = $this->orderRepository->find($invoice->order_id);
-
- $randomId = random_bytes(20);
-
- $this->orderTransactionRepository->create([
- 'transaction_id' => bin2hex($randomId),
- 'type' => $request->payment_method,
- 'payment_method' => $request->payment_method,
- 'invoice_id' => $invoice->id,
- 'order_id' => $invoice->order_id,
- 'amount' => $request->amount,
- 'status' => 'paid',
- 'data' => json_encode([
- 'paidAmount' => $request->amount,
- ]),
- ]);
-
- $transactionTotal = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount');
-
- if ($transactionTotal >= $invoice->base_grand_total) {
- $shipments = $this->shipmentRepository->where('order_id', $invoice->order_id)->first();
-
- if (isset($shipments)) {
- $this->orderRepository->updateOrderStatus($order, 'completed');
- } else {
- $this->orderRepository->updateOrderStatus($order, 'processing');
- }
-
- $this->invoiceRepository->updateState($invoice, 'paid');
- }
-
- session()->flash('success', trans('admin::app.sales.transactions.response.transaction-saved'));
-
- return redirect(route('admin.sales.transactions.index'));
- }
+ return redirect()->back();
}
- session()->flash('error', trans('admin::app.sales.transactions.response.invoice-missing'));
+ $transactionAmtBefore = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount');
+
+ $transactionAmtfinal = $request->amount + $transactionAmtBefore;
- return redirect()->back();
+ if ($invoice->state == 'paid') {
+ session()->flash('info', trans('admin::app.sales.transactions.response.already-paid'));
+
+ return redirect(route('admin.sales.transactions.index'));
+ }
+
+ if ($transactionAmtfinal > $invoice->base_grand_total) {
+ session()->flash('info', trans('admin::app.sales.transactions.response.transaction-amount-exceeds'));
+
+ return redirect(route('admin.sales.transactions.create'));
+ }
+
+ if ($request->amount <= 0) {
+ session()->flash('info', trans('admin::app.sales.transactions.response.transaction-amount-zero'));
+
+ return redirect(route('admin.sales.transactions.create'));
+ }
+
+ $order = $this->orderRepository->find($invoice->order_id);
+
+ $randomId = random_bytes(20);
+
+ $this->orderTransactionRepository->create([
+ 'transaction_id' => bin2hex($randomId),
+ 'type' => $request->payment_method,
+ 'payment_method' => $request->payment_method,
+ 'invoice_id' => $invoice->id,
+ 'order_id' => $invoice->order_id,
+ 'amount' => $request->amount,
+ 'status' => 'paid',
+ 'data' => json_encode([
+ 'paidAmount' => $request->amount,
+ ]),
+ ]);
+
+ $transactionTotal = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount');
+
+ if ($transactionTotal >= $invoice->base_grand_total) {
+ $shipments = $this->shipmentRepository->where('order_id', $invoice->order_id)->first();
+
+ if (isset($shipments)) {
+ $this->orderRepository->updateOrderStatus($order, 'completed');
+ } else {
+ $this->orderRepository->updateOrderStatus($order, 'processing');
+ }
+
+ $this->invoiceRepository->updateState($invoice, 'paid');
+ }
+
+ session()->flash('success', trans('admin::app.sales.transactions.response.transaction-saved'));
+
+ return redirect(route('admin.sales.transactions.index'));
}
/**
diff --git a/packages/Webkul/Admin/src/Resources/lang/ar/app.php b/packages/Webkul/Admin/src/Resources/lang/ar/app.php
index 6cd443f6d..cf1bbfbdd 100644
--- a/packages/Webkul/Admin/src/Resources/lang/ar/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/ar/app.php
@@ -523,6 +523,7 @@ return [
'transaction-saved' => 'تم حفظ الصفقة',
'already-paid' => 'تم دفع هذه الفاتورة بالفعل',
'transaction-amount-exceeds' => 'المبلغ المحدد لهذه المعاملة أكبر من المبلغ الإجمالي للفاتورة.',
+ 'transaction-amount-zero' => 'يمكن أن يكون مبلغ الصفقة صفرًا أو أقل',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/ben/app.php b/packages/Webkul/Admin/src/Resources/lang/ben/app.php
index e7e49895c..ffe5105fe 100755
--- a/packages/Webkul/Admin/src/Resources/lang/ben/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/ben/app.php
@@ -526,6 +526,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/de/app.php b/packages/Webkul/Admin/src/Resources/lang/de/app.php
index 8464f51ec..bf329e38a 100755
--- a/packages/Webkul/Admin/src/Resources/lang/de/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/de/app.php
@@ -516,6 +516,7 @@ return [
'transaction-saved' => 'Die Transaktion wurde gespeichert',
'already-paid' => 'Diese Rechnung wurde bereits bezahlt',
'transaction-amount-exceeds' => 'Der angegebene Betrag dieser Transaktion übersteigt den Gesamtbetrag der Rechnung.',
+ 'transaction-amount-zero' => 'Der Transaktionsbetrag kann Null oder weniger betragen',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php
index d0b424078..cd869f4cf 100755
--- a/packages/Webkul/Admin/src/Resources/lang/en/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php
@@ -526,6 +526,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/es/app.php b/packages/Webkul/Admin/src/Resources/lang/es/app.php
index 9c476bbd6..d1d12e141 100644
--- a/packages/Webkul/Admin/src/Resources/lang/es/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/es/app.php
@@ -524,6 +524,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/fa/app.php b/packages/Webkul/Admin/src/Resources/lang/fa/app.php
index 73a99b29e..cee0656bc 100644
--- a/packages/Webkul/Admin/src/Resources/lang/fa/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/fa/app.php
@@ -521,6 +521,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/fr/app.php b/packages/Webkul/Admin/src/Resources/lang/fr/app.php
index d9b73ca56..feaf9816f 100644
--- a/packages/Webkul/Admin/src/Resources/lang/fr/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/fr/app.php
@@ -524,7 +524,8 @@ return [
'invoice-missing' => 'Ce numéro de facture n\'existe pas',
'transaction-saved' => 'La transaction a été enregistrée',
'already-paid' => 'Cette facture a déjà été payée',
- 'transaction-amount-exceeds' => 'Le montant de cette transaction dépasse le montant total de la facture.',
+ 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less.',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/he/app.php b/packages/Webkul/Admin/src/Resources/lang/he/app.php
index 465b9f38e..0c17e99b6 100755
--- a/packages/Webkul/Admin/src/Resources/lang/he/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/he/app.php
@@ -526,6 +526,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php b/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php
index 6b1b06284..6253bc8c9 100644
--- a/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php
@@ -523,6 +523,7 @@ return [
'transaction-saved' => 'लेन-देन सहेजा गया है',
'already-paid' => 'इस चालान का भुगतान पहले ही किया जा चुका है',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/it/app.php b/packages/Webkul/Admin/src/Resources/lang/it/app.php
index 11e97d155..e974c2d48 100644
--- a/packages/Webkul/Admin/src/Resources/lang/it/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/it/app.php
@@ -521,6 +521,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/ja/app.php b/packages/Webkul/Admin/src/Resources/lang/ja/app.php
index e7e49895c..ffe5105fe 100755
--- a/packages/Webkul/Admin/src/Resources/lang/ja/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/ja/app.php
@@ -526,6 +526,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/nl/app.php b/packages/Webkul/Admin/src/Resources/lang/nl/app.php
index d2f7bea34..af0a21c7e 100644
--- a/packages/Webkul/Admin/src/Resources/lang/nl/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/nl/app.php
@@ -517,6 +517,7 @@ return [
'transaction-saved' => 'De transactie is geregistreerd',
'already-paid' => 'Dit factuur is al voldaan',
'transaction-amount-exceeds' => 'Het opgegeven bedrag van deze transactie overschrijdt het totaalbedrag van de factuur.',
+ 'transaction-amount-zero' => 'Transactiebedrag kan nul of minder zijn',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/pl/app.php b/packages/Webkul/Admin/src/Resources/lang/pl/app.php
index 61673a80e..08289e24d 100644
--- a/packages/Webkul/Admin/src/Resources/lang/pl/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/pl/app.php
@@ -517,6 +517,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php
index ecb856529..4f375d1c9 100755
--- a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php
@@ -516,6 +516,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/ru/app.php b/packages/Webkul/Admin/src/Resources/lang/ru/app.php
index 5bc5d7715..e85c41e48 100755
--- a/packages/Webkul/Admin/src/Resources/lang/ru/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/ru/app.php
@@ -526,6 +526,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/sin/app.php b/packages/Webkul/Admin/src/Resources/lang/sin/app.php
index 465b9f38e..0c17e99b6 100755
--- a/packages/Webkul/Admin/src/Resources/lang/sin/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/sin/app.php
@@ -526,6 +526,7 @@ return [
'transaction-saved' => 'The transaction has been saved',
'already-paid' => 'This invoice has already been paid',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/tr/app.php b/packages/Webkul/Admin/src/Resources/lang/tr/app.php
index b1c3a8bc2..383ff83fd 100644
--- a/packages/Webkul/Admin/src/Resources/lang/tr/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/tr/app.php
@@ -517,6 +517,7 @@ return [
'transaction-saved' => 'İşlem kaydedildi',
'already-paid' => 'Bu fatura zaten ödendi',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php b/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php
index 1453c404d..f5b452d90 100644
--- a/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php
@@ -517,6 +517,7 @@ return [
'transaction-saved' => '交易已保存',
'already-paid' => '此发票已支付',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
+ 'transaction-amount-zero' => 'Transaction amount can be zero or less',
],
],
],
diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/families/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/families/edit.blade.php
index 4621e3a7c..173486e1e 100755
--- a/packages/Webkul/Admin/src/Resources/views/catalog/families/edit.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/catalog/families/edit.blade.php
@@ -83,7 +83,7 @@
-@endpush
\ No newline at end of file
+@endpush
diff --git a/packages/Webkul/Product/src/Repositories/ProductFlatRepository.php b/packages/Webkul/Product/src/Repositories/ProductFlatRepository.php
index 7d0b5edd8..e7f77ca7c 100644
--- a/packages/Webkul/Product/src/Repositories/ProductFlatRepository.php
+++ b/packages/Webkul/Product/src/Repositories/ProductFlatRepository.php
@@ -39,7 +39,7 @@ class ProductFlatRepository extends Repository
* @param int $categoryId
* @return \Illuminate\Support\Querybuilder
*/
- public function categoryProductQuerybuilder($categoryId)
+ public function categoryProductQueryBuilder($categoryId)
{
return $this->model
->leftJoin('product_categories', 'product_flat.product_id', 'product_categories.product_id')
@@ -74,7 +74,7 @@ class ProductFlatRepository extends Repository
*/
public function getCategoryProductAttribute($categoryId)
{
- $qb = $this->categoryProductQuerybuilder($categoryId);
+ $qb = $this->categoryProductQueryBuilder($categoryId);
$childQuery = $this->model->distinct()->whereIn('parent_id', $qb->distinct()->select(['id']));
@@ -144,18 +144,18 @@ class ProductFlatRepository extends Repository
return $loadedCategoryAttributes[$category->id];
}
- $productsCount = $this->categoryProductQuerybuilder($category->id)->count();
+ $productsCount = $this->categoryProductQueryBuilder($category->id)->count();
if ($productsCount > 0) {
$categoryFilterableAttributes = $category->filterableAttributes->pluck('id')->toArray();
- $productCategoryArrributes = $this->getCategoryProductAttribute($category->id);
+ $productCategoryAttributes = $this->getCategoryProductAttribute($category->id);
- $allFilterableAttributes = array_filter(array_unique(array_intersect($categoryFilterableAttributes, $productCategoryArrributes['attributes'])));
+ $allFilterableAttributes = array_filter(array_unique(array_intersect($categoryFilterableAttributes, $productCategoryAttributes['attributes'])));
$attributes = $this->attributeRepository->getModel()::with([
- 'options' => function ($query) use ($productCategoryArrributes) {
- return $query->whereIn('id', $productCategoryArrributes['attributeOptions'])
+ 'options' => function ($query) use ($productCategoryAttributes) {
+ return $query->whereIn('id', $productCategoryAttributes['attributeOptions'])
->orderBy('sort_order');
}
])->whereIn('id', $allFilterableAttributes)->get();
diff --git a/packages/Webkul/Shop/publishable/assets/js/shop.js b/packages/Webkul/Shop/publishable/assets/js/shop.js
index 3ee604412..cb49ebd4a 100755
--- a/packages/Webkul/Shop/publishable/assets/js/shop.js
+++ b/packages/Webkul/Shop/publishable/assets/js/shop.js
@@ -1,2 +1,2 @@
/*! For license information please see shop.js.LICENSE.txt */
-!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=0)}({"/XoU":function(t,e,n){t.exports=function(){"use strict";var t,e={name:"zh_CN",messages:{_default:function(t){return t+"的值无效"},after:function(t,e){var n=e[0];return t+"必须在"+n+"之后"+(e[1]?"或等于"+n:"")},alpha:function(t){return t+"只能包含字母字符"},alpha_dash:function(t){return t+"能够包含字母数字字符、破折号和下划线"},alpha_num:function(t){return t+"只能包含字母数字字符"},alpha_spaces:function(t){return t+"只能包含字母字符和空格"},before:function(t,e){var n=e[0];return t+"必须在"+n+"之前"+(e[1]?"或等于"+n:"")},between:function(t,e){return t+"必须在"+e[0]+"与"+e[1]+"之间"},confirmed:function(t,e){return t+"不能和"+e[0]+"匹配"},credit_card:function(t){return t+"的格式错误"},date_between:function(t,e){return t+"必须在"+e[0]+"和"+e[1]+"之间"},date_format:function(t,e){return t+"必须符合"+e[0]+"格式"},decimal:function(t,e){void 0===e&&(e=[]);var n=e[0];return void 0===n&&(n="*"),t+"必须是数字,且能够保留"+("*"===n?"":n)+"位小数"},digits:function(t,e){return t+"必须是数字,且精确到"+e[0]+"位数"},dimensions:function(t,e){return t+"必须在"+e[0]+"像素与"+e[1]+"像素之间"},email:function(t){return t+"不是一个有效的邮箱"},excluded:function(t){return t+"不是一个有效值"},ext:function(t){return t+"不是一个有效的文件"},image:function(t){return t+"不是一张有效的图片"},included:function(t){return t+"不是一个有效值"},integer:function(t){return t+"必须是整数"},ip:function(t){return t+"不是一个有效的地址"},length:function(t,e){var n=e[0],r=e[1];return r?t+"长度必须在"+n+"到"+r+"之间":t+"长度必须为"+n},max:function(t,e){return t+"不能超过"+e[0]+"个字符"},max_value:function(t,e){return t+"必须小于或等于"+e[0]},mimes:function(t){return t+"不是一个有效的文件类型"},min:function(t,e){return t+"必须至少有"+e[0]+"个字符"},min_value:function(t,e){return t+"必须大于或等于"+e[0]},numeric:function(t){return t+"只能包含数字字符"},regex:function(t){return t+"格式无效"},required:function(t){return t+"是必须的"},size:function(t,e){return t+"必须小于"+function(t){var e=1024,n=0==(t=Number(t)*e)?0:Math.floor(Math.log(t)/Math.log(e));return 1*(t/Math.pow(e,n)).toFixed(2)+" "+["Byte","KB","MB","GB","TB","PB","EB","ZB","YB"][n]}(e[0])},url:function(t){return t+"不是一个有效的url"}},attributes:{}};return"undefined"!=typeof VeeValidate&&VeeValidate.Validator.localize(((t={})[e.name]=e,t)),e}()},0:function(t,e,n){n("uPOf"),t.exports=n("w/dW")},"2SVd":function(t,e,n){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},"5YZL":function(t,e,n){t.exports=function(){"use strict";var t,e={name:"hi",messages:{_default:function(t){return"यह "+t+" मान मान्य नहीं है"},after:function(t,e){return"यह "+t+" का "+e[0]+" के बाद होना आवश्यक है "},alpha:function(t){return"यह "+t+" फील्ड में केवल वर्णानुक्रमक वर्ण हो सकते हैं"},alpha_dash:function(t){return"यह "+t+" फील्ड में अल्फ़ान्यूमेरिक वर्ण और साथ ही डैश और अंडरस्कोर हो सकते हैं"},alpha_num:function(t){return"यह "+t+" फील्ड में केवल अल्फा-न्यूमेरिक वर्ण वर्ण शामिल हैं"},alpha_spaces:function(t){return"यह "+t+" फील्ड में केवल अल्फा-न्यूमेरिक वर्ण वर्ण शामिल हैं"},before:function(t,e){return"यह "+t+" का "+e[0]+" के पहले होना आवश्यक है "},between:function(t,e){return"यह "+t+" फील्ड का "+e[0]+" और "+e[1]+" के बीच होना आवश्यक है "},confirmed:function(t){return"यह "+t+" पुष्टि मेल नहीं खाती"},credit_card:function(t){return"यह "+t+" फील्ड अमान्य है"},date_between:function(t,e){return"यह "+t+" का "+e[0]+" और "+e[1]+" के बीच होना आवश्यक है "},date_format:function(t,e){return"यह "+t+" का प्रारूप "+e[0]+" में होना आवश्यक है "},decimal:function(t,e){void 0===e&&(e=[]);var n=e[0];return void 0===n&&(n="*"),"यह "+t+" फ़ील्ड का संख्यात्मक होना आवश्यक है और इसमें "+(n&&"*"!==n?n:"")+" दशमलव बिंदु शामिल हो सकते हैं "},digits:function(t,e){return"यह "+t+" फ़ील्ड का संख्यात्मक होना आवश्यक है और इसे पूरी तरह से "+e[0]+" अंक का होना चाहिए"},dimensions:function(t,e){return"यह "+t+" फ़ील्ड की "+e[0]+" पिक्सेल बाई "+e[1]+" पिक्सेल का होना आवश्यक है"},email:function(t){return"यह "+t+" फ़ील्ड एक मान्य ईमेल होना चाहिए"},excluded:function(t){return"यह "+t+" फ़ील्ड का एक मान्य मूल्य होना चाहिए"},ext:function(t){return"यह "+t+" फ़ील्ड एक मान्य फ़ाइल होनी चाहिए"},image:function(t){return"यह "+t+" फ़ील्ड एक छवि होनी चाहिए"},included:function(t){return"यह "+t+" फ़ील्ड एक मान्य मूल्य का होना चाहिए"},integer:function(t){return"यह "+t+" फ़ील्ड एक पूर्णांकका होना चाहिए"},ip:function(t){return"यह "+t+" फ़ील्ड एक मान्य आईपी पते का होना चाहिए"},ip_or_fqdn:function(t){return"यह "+t+" फ़ील्ड एक मान्य आईपी पते या FQDN होना चाहिए"},length:function(t,e){var n=e[0],r=e[1];return r?"यह "+t+" की लंबाई "+n+" और "+r+" के बीच होनी चाहिए":"यह "+t+" की लंबाई "+n+" की होनी चाहिए"},max:function(t,e){return"यह "+t+" फ़ील्ड "+e[0]+" वर्णों से अधिक नहीं हो सकती है"},max_value:function(t,e){return"यह "+t+" फ़ील्ड "+e[0]+" या उससे कम का होना चाहिए"},mimes:function(t){return"यह "+t+" फ़ील्ड एक मान्य फ़ाइल प्रकार का होना चाहिए"},min:function(t,e){return"यह "+t+" फ़ील्ड कम से कम "+e[0]+" वर्ण का होना चाहिए"},min_value:function(t,e){return"यह "+t+" फ़ील्ड "+e[0]+" या अधिक का होना चाहिए"},numeric:function(t){return"यह "+t+" फ़ील्ड में केवल संख्यात्मक वर्ण हो सकते हैं"},regex:function(t){return"यह "+t+" फ़ील्ड प्रारूप अमान्य है"},required:function(t){return"यह "+t+" फ़ील्ड की आवश्यकता है"},required_if:function(t,e){return"यह "+t+" फ़ील्ड की आवश्यकता तब होती है जब "+e[0]+" फ़ील्ड का यह मान होता है"},size:function(t,e){return"यह "+t+" फ़ील्ड का आकार "+function(t){var e=1024,n=0==(t=Number(t)*e)?0:Math.floor(Math.log(t)/Math.log(e));return 1*(t/Math.pow(e,n)).toFixed(2)+" "+["Byte","KB","MB","GB","TB","PB","EB","ZB","YB"][n]}(e[0])+" से कम होना चाहिए"},url:function(t){return"यह "+t+"फ़ील्ड एक मान्य URL नहीं है."}},attributes:{}};return"undefined"!=typeof VeeValidate&&VeeValidate.Validator.localize(((t={})[e.name]=e,t)),e}()},"5oMp":function(t,e,n){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},"8oxB":function(t,e){var n,r,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var u,c=[],l=!1,f=-1;function d(){l&&u&&(l=!1,u.length?c=u.concat(c):f=-1,c.length&&p())}function p(){if(!l){var t=s(d);l=!0;for(var e=c.length;e;){for(u=c,c=[];++f1)for(var n=1;n3?u.length%3:0;return s+(h?u.substr(0,h)+o.thousand:"")+u.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+o.thousand)+(a?o.decimal+m(Math.abs(t),a).split(".")[1]:"")},y=i.formatMoney=function(t,e,n,r,o,a){if(c(t))return d(t,(function(t){return y(t,e,n,r,o,a)}));t=v(t);var s=f(l(e)?e:{symbol:e,precision:n,thousand:r,decimal:o,format:a},i.settings.currency),u=h(s.format);return(t>0?u.pos:t<0?u.neg:u.zero).replace("%s",s.symbol).replace("%v",g(Math.abs(t),p(s.precision),s.thousand,s.decimal))};i.formatColumn=function(t,e,n,r,o,a){if(!t)return[];var s=f(l(e)?e:{symbol:e,precision:n,thousand:r,decimal:o,format:a},i.settings.currency),m=h(s.format),y=m.pos.indexOf("%s")0?m.pos:t<0?m.neg:m.zero).replace("%s",s.symbol).replace("%v",g(Math.abs(t),p(s.precision),s.thousand,s.decimal));return n.length>b&&(b=n.length),n}));return d(w,(function(t,e){return u(t)&&t.length0&&e-1 in t)}T.fn=T.prototype={jquery:"3.6.0",constructor:T,length:0,toArray:function(){return s.call(this)},get:function(t){return null==t?s.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=T.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return T.each(this,t)},map:function(t){return this.pushStack(T.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(T.grep(this,(function(t,e){return(e+1)%2})))},odd:function(){return this.pushStack(T.grep(this,(function(t,e){return e%2})))},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n+~]|"+I+")"+I+"*"),U=new RegExp(I+"|>"),V=new RegExp(W),Z=new RegExp("^"+M+"$"),Y={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+R),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+I+"*(even|odd|(([+-]|)(\\d*)n|)"+I+"*(?:([+-]|)"+I+"*(\\d+)|))"+I+"*\\)|)","i"),bool:new RegExp("^(?:"+N+")$","i"),needsContext:new RegExp("^"+I+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+I+"*((?:-\\d)?\\d*)"+I+"*\\)|)(?=[^-]|$)","i")},X=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,tt=/[+~]/,et=new RegExp("\\\\[\\da-fA-F]{1,6}"+I+"?|\\\\([^\\r\\n\\f])","g"),nt=function(t,e){var n="0x"+t.slice(1)-65536;return e||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},rt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,it=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},ot=function(){d()},at=wt((function(t){return!0===t.disabled&&"fieldset"===t.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{D.apply(E=j.call(x.childNodes),x.childNodes),E[x.childNodes.length].nodeType}catch(t){D={apply:E.length?function(t,e){L.apply(t,j.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}function st(t,e,r,i){var o,s,c,l,f,h,g,y=e&&e.ownerDocument,x=e?e.nodeType:9;if(r=r||[],"string"!=typeof t||!t||1!==x&&9!==x&&11!==x)return r;if(!i&&(d(e),e=e||p,v)){if(11!==x&&(f=J.exec(t)))if(o=f[1]){if(9===x){if(!(c=e.getElementById(o)))return r;if(c.id===o)return r.push(c),r}else if(y&&(c=y.getElementById(o))&&b(e,c)&&c.id===o)return r.push(c),r}else{if(f[2])return D.apply(r,e.getElementsByTagName(t)),r;if((o=f[3])&&n.getElementsByClassName&&e.getElementsByClassName)return D.apply(r,e.getElementsByClassName(o)),r}if(n.qsa&&!O[t+" "]&&(!m||!m.test(t))&&(1!==x||"object"!==e.nodeName.toLowerCase())){if(g=t,y=e,1===x&&(U.test(t)||q.test(t))){for((y=tt.test(t)&>(e.parentNode)||e)===e&&n.scope||((l=e.getAttribute("id"))?l=l.replace(rt,it):e.setAttribute("id",l=w)),s=(h=a(t)).length;s--;)h[s]=(l?"#"+l:":scope")+" "+bt(h[s]);g=h.join(",")}try{return D.apply(r,y.querySelectorAll(g)),r}catch(e){O(t,!0)}finally{l===w&&e.removeAttribute("id")}}}return u(t.replace(F,"$1"),e,r,i)}function ut(){var t=[];return function e(n,i){return t.push(n+" ")>r.cacheLength&&delete e[t.shift()],e[n+" "]=i}}function ct(t){return t[w]=!0,t}function lt(t){var e=p.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ft(t,e){for(var n=t.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=e}function dt(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function pt(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function ht(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function vt(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&at(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function mt(t){return ct((function(e){return e=+e,ct((function(n,r){for(var i,o=t([],n.length,e),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function gt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=st.support={},o=st.isXML=function(t){var e=t&&t.namespaceURI,n=t&&(t.ownerDocument||t).documentElement;return!X.test(e||n&&n.nodeName||"HTML")},d=st.setDocument=function(t){var e,i,a=t?t.ownerDocument||t:x;return a!=p&&9===a.nodeType&&a.documentElement?(h=(p=a).documentElement,v=!o(p),x!=p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",ot,!1):i.attachEvent&&i.attachEvent("onunload",ot)),n.scope=lt((function(t){return h.appendChild(t).appendChild(p.createElement("div")),void 0!==t.querySelectorAll&&!t.querySelectorAll(":scope fieldset div").length})),n.attributes=lt((function(t){return t.className="i",!t.getAttribute("className")})),n.getElementsByTagName=lt((function(t){return t.appendChild(p.createComment("")),!t.getElementsByTagName("*").length})),n.getElementsByClassName=Q.test(p.getElementsByClassName),n.getById=lt((function(t){return h.appendChild(t).id=w,!p.getElementsByName||!p.getElementsByName(w).length})),n.getById?(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){return t.getAttribute("id")===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&v){var n=e.getElementById(t);return n?[n]:[]}}):(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&v){var n,r,i,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(i=e.getElementsByName(t),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&v)return e.getElementsByClassName(t)},g=[],m=[],(n.qsa=Q.test(p.querySelectorAll))&&(lt((function(t){var e;h.appendChild(t).innerHTML="",t.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+I+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||m.push("\\["+I+"*(?:value|"+N+")"),t.querySelectorAll("[id~="+w+"-]").length||m.push("~="),(e=p.createElement("input")).setAttribute("name",""),t.appendChild(e),t.querySelectorAll("[name='']").length||m.push("\\["+I+"*name"+I+"*="+I+"*(?:''|\"\")"),t.querySelectorAll(":checked").length||m.push(":checked"),t.querySelectorAll("a#"+w+"+*").length||m.push(".#.+[+~]"),t.querySelectorAll("\\\f"),m.push("[\\r\\n\\f]")})),lt((function(t){t.innerHTML="";var e=p.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&m.push("name"+I+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),h.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),m.push(",.*:")}))),(n.matchesSelector=Q.test(y=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&<((function(t){n.disconnectedMatch=y.call(t,"*"),y.call(t,"[s!='']:x"),g.push("!=",W)})),m=m.length&&new RegExp(m.join("|")),g=g.length&&new RegExp(g.join("|")),e=Q.test(h.compareDocumentPosition),b=e||Q.test(h.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},A=e?function(t,e){if(t===e)return f=!0,0;var r=!t.compareDocumentPosition-!e.compareDocumentPosition;return r||(1&(r=(t.ownerDocument||t)==(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===r?t==p||t.ownerDocument==x&&b(x,t)?-1:e==p||e.ownerDocument==x&&b(x,e)?1:l?P(l,t)-P(l,e):0:4&r?-1:1)}:function(t,e){if(t===e)return f=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,a=[t],s=[e];if(!i||!o)return t==p?-1:e==p?1:i?-1:o?1:l?P(l,t)-P(l,e):0;if(i===o)return dt(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?dt(a[r],s[r]):a[r]==x?-1:s[r]==x?1:0},p):p},st.matches=function(t,e){return st(t,null,null,e)},st.matchesSelector=function(t,e){if(d(t),n.matchesSelector&&v&&!O[e+" "]&&(!g||!g.test(e))&&(!m||!m.test(e)))try{var r=y.call(t,e);if(r||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(t){O(e,!0)}return st(e,p,null,[t]).length>0},st.contains=function(t,e){return(t.ownerDocument||t)!=p&&d(t),b(t,e)},st.attr=function(t,e){(t.ownerDocument||t)!=p&&d(t);var i=r.attrHandle[e.toLowerCase()],o=i&&z.call(r.attrHandle,e.toLowerCase())?i(t,e,!v):void 0;return void 0!==o?o:n.attributes||!v?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},st.escape=function(t){return(t+"").replace(rt,it)},st.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},st.uniqueSort=function(t){var e,r=[],i=0,o=0;if(f=!n.detectDuplicates,l=!n.sortStable&&t.slice(0),t.sort(A),f){for(;e=t[o++];)e===t[o]&&(i=r.push(o));for(;i--;)t.splice(r[i],1)}return l=null,t},i=st.getText=function(t){var e,n="",r=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=i(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[r++];)n+=i(e);return n},(r=st.selectors={cacheLength:50,createPseudo:ct,match:Y,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(et,nt),t[3]=(t[3]||t[4]||t[5]||"").replace(et,nt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||st.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&st.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return Y.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&V.test(n)&&(e=a(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(et,nt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=S[t+" "];return e||(e=new RegExp("(^|"+I+")"+t+"("+I+"|$)"))&&S(t,(function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")}))},ATTR:function(t,e,n){return function(r){var i=st.attr(r,t);return null==i?"!="===e:!e||(i+="","="===e?i===n:"!="===e?i!==n:"^="===e?n&&0===i.indexOf(n):"*="===e?n&&i.indexOf(n)>-1:"$="===e?n&&i.slice(-n.length)===n:"~="===e?(" "+i.replace(H," ")+" ").indexOf(n)>-1:"|="===e&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),s="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,u){var c,l,f,d,p,h,v=o!==a?"nextSibling":"previousSibling",m=e.parentNode,g=s&&e.nodeName.toLowerCase(),y=!u&&!s,b=!1;if(m){if(o){for(;v;){for(d=e;d=d[v];)if(s?d.nodeName.toLowerCase()===g:1===d.nodeType)return!1;h=v="only"===t&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&y){for(b=(p=(c=(l=(f=(d=m)[w]||(d[w]={}))[d.uniqueID]||(f[d.uniqueID]={}))[t]||[])[0]===_&&c[1])&&c[2],d=p&&m.childNodes[p];d=++p&&d&&d[v]||(b=p=0)||h.pop();)if(1===d.nodeType&&++b&&d===e){l[t]=[_,p,b];break}}else if(y&&(b=p=(c=(l=(f=(d=e)[w]||(d[w]={}))[d.uniqueID]||(f[d.uniqueID]={}))[t]||[])[0]===_&&c[1]),!1===b)for(;(d=++p&&d&&d[v]||(b=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==g:1!==d.nodeType)||!++b||(y&&((l=(f=d[w]||(d[w]={}))[d.uniqueID]||(f[d.uniqueID]={}))[t]=[_,b]),d!==e)););return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(t,e){var n,i=r.pseudos[t]||r.setFilters[t.toLowerCase()]||st.error("unsupported pseudo: "+t);return i[w]?i(e):i.length>1?(n=[t,t,"",e],r.setFilters.hasOwnProperty(t.toLowerCase())?ct((function(t,n){for(var r,o=i(t,e),a=o.length;a--;)t[r=P(t,o[a])]=!(n[r]=o[a])})):function(t){return i(t,0,n)}):i}},pseudos:{not:ct((function(t){var e=[],n=[],r=s(t.replace(F,"$1"));return r[w]?ct((function(t,e,n,i){for(var o,a=r(t,null,i,[]),s=t.length;s--;)(o=a[s])&&(t[s]=!(e[s]=o))})):function(t,i,o){return e[0]=t,r(e,null,o,n),e[0]=null,!n.pop()}})),has:ct((function(t){return function(e){return st(t,e).length>0}})),contains:ct((function(t){return t=t.replace(et,nt),function(e){return(e.textContent||i(e)).indexOf(t)>-1}})),lang:ct((function(t){return Z.test(t||"")||st.error("unsupported lang: "+t),t=t.replace(et,nt).toLowerCase(),function(e){var n;do{if(n=v?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}})),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===h},focus:function(t){return t===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:vt(!1),disabled:vt(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!r.pseudos.empty(t)},header:function(t){return K.test(t.nodeName)},input:function(t){return G.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:mt((function(){return[0]})),last:mt((function(t,e){return[e-1]})),eq:mt((function(t,e,n){return[n<0?n+e:n]})),even:mt((function(t,e){for(var n=0;ne?e:n;--r>=0;)t.push(r);return t})),gt:mt((function(t,e,n){for(var r=n<0?n+e:n;++r1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function _t(t,e,n,r,i){for(var o,a=[],s=0,u=t.length,c=null!=e;s-1&&(o[c]=!(a[c]=f))}}else g=_t(g===a?g.splice(h,g.length):g),i?i(null,a,g,u):D.apply(a,g)}))}function St(t){for(var e,n,i,o=t.length,a=r.relative[t[0].type],s=a||r.relative[" "],u=a?1:0,l=wt((function(t){return t===e}),s,!0),f=wt((function(t){return P(e,t)>-1}),s,!0),d=[function(t,n,r){var i=!a&&(r||n!==c)||((e=n).nodeType?l(t,n,r):f(t,n,r));return e=null,i}];u1&&xt(d),u>1&&bt(t.slice(0,u-1).concat({value:" "===t[u-2].type?"*":""})).replace(F,"$1"),n,u0,i=t.length>0,o=function(o,a,s,u,l){var f,h,m,g=0,y="0",b=o&&[],w=[],x=c,T=o||i&&r.find.TAG("*",l),S=_+=null==x?1:Math.random()||.1,C=T.length;for(l&&(c=a==p||a||l);y!==C&&null!=(f=T[y]);y++){if(i&&f){for(h=0,a||f.ownerDocument==p||(d(f),s=!v);m=t[h++];)if(m(f,a||p,s)){u.push(f);break}l&&(_=S)}n&&((f=!m&&f)&&g--,o&&b.push(f))}if(g+=y,n&&y!==g){for(h=0;m=e[h++];)m(b,w,a,s);if(o){if(g>0)for(;y--;)b[y]||w[y]||(w[y]=$.call(u));w=_t(w)}D.apply(u,w),l&&!o&&w.length>0&&g+e.length>1&&st.uniqueSort(u)}return l&&(_=S,c=x),b};return n?ct(o):o}(o,i))).selector=t}return s},u=st.select=function(t,e,n,i){var o,u,c,l,f,d="function"==typeof t&&t,p=!i&&a(t=d.selector||t);if(n=n||[],1===p.length){if((u=p[0]=p[0].slice(0)).length>2&&"ID"===(c=u[0]).type&&9===e.nodeType&&v&&r.relative[u[1].type]){if(!(e=(r.find.ID(c.matches[0].replace(et,nt),e)||[])[0]))return n;d&&(e=e.parentNode),t=t.slice(u.shift().value.length)}for(o=Y.needsContext.test(t)?0:u.length;o--&&(c=u[o],!r.relative[l=c.type]);)if((f=r.find[l])&&(i=f(c.matches[0].replace(et,nt),tt.test(u[0].type)&>(e.parentNode)||e))){if(u.splice(o,1),!(t=i.length&&bt(u)))return D.apply(n,i),n;break}}return(d||s(t,p))(i,e,!v,n,!e||tt.test(t)&>(e.parentNode)||e),n},n.sortStable=w.split("").sort(A).join("")===w,n.detectDuplicates=!!f,d(),n.sortDetached=lt((function(t){return 1&t.compareDocumentPosition(p.createElement("fieldset"))})),lt((function(t){return t.innerHTML="","#"===t.firstChild.getAttribute("href")}))||ft("type|href|height|width",(function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)})),n.attributes&<((function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")}))||ft("value",(function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue})),lt((function(t){return null==t.getAttribute("disabled")}))||ft(N,(function(t,e,n){var r;if(!n)return!0===t[e]?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null})),st}(n);T.find=C,T.expr=C.selectors,T.expr[":"]=T.expr.pseudos,T.uniqueSort=T.unique=C.uniqueSort,T.text=C.getText,T.isXMLDoc=C.isXML,T.contains=C.contains,T.escapeSelector=C.escape;var k=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&T(t).is(n))break;r.push(t)}return r},O=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},A=T.expr.match.needsContext;function z(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var E=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function $(t,e,n){return g(e)?T.grep(t,(function(t,r){return!!e.call(t,r,t)!==n})):e.nodeType?T.grep(t,(function(t){return t===e!==n})):"string"!=typeof e?T.grep(t,(function(t){return l.call(e,t)>-1!==n})):T.filter(e,t,n)}T.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?T.find.matchesSelector(r,t)?[r]:[]:T.find.matches(t,T.grep(e,(function(t){return 1===t.nodeType})))},T.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(T(t).filter((function(){for(e=0;e1?T.uniqueSort(n):n},filter:function(t){return this.pushStack($(this,t||[],!1))},not:function(t){return this.pushStack($(this,t||[],!0))},is:function(t){return!!$(this,"string"==typeof t&&A.test(t)?T(t):t||[],!1).length}});var L,D=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(T.fn.init=function(t,e,n){var r,i;if(!t)return this;if(n=n||L,"string"==typeof t){if(!(r="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:D.exec(t))||!r[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(r[1]){if(e=e instanceof T?e[0]:e,T.merge(this,T.parseHTML(r[1],e&&e.nodeType?e.ownerDocument||e:b,!0)),E.test(r[1])&&T.isPlainObject(e))for(r in e)g(this[r])?this[r](e[r]):this.attr(r,e[r]);return this}return(i=b.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):g(t)?void 0!==n.ready?n.ready(t):t(T):T.makeArray(t,this)}).prototype=T.fn,L=T(b);var j=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};function N(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}T.fn.extend({has:function(t){var e=T(t,this),n=e.length;return this.filter((function(){for(var t=0;t-1:1===n.nodeType&&T.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?T.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?l.call(T(t),this[0]):l.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(T.uniqueSort(T.merge(this.get(),T(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),T.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return k(t,"parentNode")},parentsUntil:function(t,e,n){return k(t,"parentNode",n)},next:function(t){return N(t,"nextSibling")},prev:function(t){return N(t,"previousSibling")},nextAll:function(t){return k(t,"nextSibling")},prevAll:function(t){return k(t,"previousSibling")},nextUntil:function(t,e,n){return k(t,"nextSibling",n)},prevUntil:function(t,e,n){return k(t,"previousSibling",n)},siblings:function(t){return O((t.parentNode||{}).firstChild,t)},children:function(t){return O(t.firstChild)},contents:function(t){return null!=t.contentDocument&&a(t.contentDocument)?t.contentDocument:(z(t,"template")&&(t=t.content||t),T.merge([],t.childNodes))}},(function(t,e){T.fn[t]=function(n,r){var i=T.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=T.filter(r,i)),this.length>1&&(P[t]||T.uniqueSort(i),j.test(t)&&i.reverse()),this.pushStack(i)}}));var I=/[^\x20\t\r\n\f]+/g;function M(t){return t}function R(t){throw t}function W(t,e,n,r){var i;try{t&&g(i=t.promise)?i.call(t).done(e).fail(n):t&&g(i=t.then)?i.call(t,e,n):e.apply(void 0,[t].slice(r))}catch(t){n.apply(void 0,[t])}}T.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return T.each(t.match(I)||[],(function(t,n){e[n]=!0})),e}(t):T.extend({},t);var e,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||t.once,r=e=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(t){return t?T.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=[t,(n=n||[]).slice?n.slice():n],a.push(n),e||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},T.extend({Deferred:function(t){var e=[["notify","progress",T.Callbacks("memory"),T.Callbacks("memory"),2],["resolve","done",T.Callbacks("once memory"),T.Callbacks("once memory"),0,"resolved"],["reject","fail",T.Callbacks("once memory"),T.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(t){return i.then(null,t)},pipe:function(){var t=arguments;return T.Deferred((function(n){T.each(e,(function(e,r){var i=g(t[r[4]])&&t[r[4]];o[r[1]]((function(){var t=i&&i.apply(this,arguments);t&&g(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[t]:arguments)}))})),t=null})).promise()},then:function(t,r,i){var o=0;function a(t,e,r,i){return function(){var s=this,u=arguments,c=function(){var n,c;if(!(t=o&&(r!==R&&(s=void 0,u=[n]),e.rejectWith(s,u))}};t?l():(T.Deferred.getStackHook&&(l.stackTrace=T.Deferred.getStackHook()),n.setTimeout(l))}}return T.Deferred((function(n){e[0][3].add(a(0,n,g(i)?i:M,n.notifyWith)),e[1][3].add(a(0,n,g(t)?t:M)),e[2][3].add(a(0,n,g(r)?r:R))})).promise()},promise:function(t){return null!=t?T.extend(t,i):i}},o={};return T.each(e,(function(t,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add((function(){r=s}),e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(t){var e=arguments.length,n=e,r=Array(n),i=s.call(arguments),o=T.Deferred(),a=function(t){return function(n){r[t]=this,i[t]=arguments.length>1?s.call(arguments):n,--e||o.resolveWith(r,i)}};if(e<=1&&(W(t,o.done(a(n)).resolve,o.reject,!e),"pending"===o.state()||g(i[n]&&i[n].then)))return o.then();for(;n--;)W(i[n],a(n),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;T.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&H.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},T.readyException=function(t){n.setTimeout((function(){throw t}))};var F=T.Deferred();function B(){b.removeEventListener("DOMContentLoaded",B),n.removeEventListener("load",B),T.ready()}T.fn.ready=function(t){return F.then(t).catch((function(t){T.readyException(t)})),this},T.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--T.readyWait:T.isReady)||(T.isReady=!0,!0!==t&&--T.readyWait>0||F.resolveWith(b,[T]))}}),T.ready.then=F.then,"complete"===b.readyState||"loading"!==b.readyState&&!b.documentElement.doScroll?n.setTimeout(T.ready):(b.addEventListener("DOMContentLoaded",B),n.addEventListener("load",B));var q=function(t,e,n,r,i,o,a){var s=0,u=t.length,c=null==n;if("object"===_(n))for(s in i=!0,n)q(t,e,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,g(r)||(a=!0),c&&(a?(e.call(t,r),e=null):(c=e,e=function(t,e,n){return c.call(T(t),n)})),e))for(;s1,null,!0)},removeData:function(t){return this.each((function(){Q.remove(this,t)}))}}),T.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=K.get(t,e),n&&(!r||Array.isArray(n)?r=K.access(t,e,T.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=T.queue(t,e),r=n.length,i=n.shift(),o=T._queueHooks(t,e);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,(function(){T.dequeue(t,e)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return K.get(t,n)||K.access(t,n,{empty:T.Callbacks("once memory").add((function(){K.remove(t,[e+"queue",n])}))})}}),T.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length\x20\t\r\n\f]*)/i,gt=/^$|^module$|\/(?:java|ecma)script/i;pt=b.createDocumentFragment().appendChild(b.createElement("div")),(ht=b.createElement("input")).setAttribute("type","radio"),ht.setAttribute("checked","checked"),ht.setAttribute("name","t"),pt.appendChild(ht),m.checkClone=pt.cloneNode(!0).cloneNode(!0).lastChild.checked,pt.innerHTML="",m.noCloneChecked=!!pt.cloneNode(!0).lastChild.defaultValue,pt.innerHTML="",m.option=!!pt.lastChild;var yt={thead:[1,"